Operaciones de comando básicas de MySQL

Operaciones de comando básicas de MySQL

1. Conceptos básicos

1.1 Clasificación de bases de datos

1.1.1 Base de datos relacional (base de datos de segunda generación)

Representante: mysql, mariadb, oracle

  • El alias del lenguaje operativo es SQL.
  • El comando de operación se llama almacenamiento de declaraciones SQL.
  • Estructura de datos de almacenamiento: los datos de almacenamiento de tablas bidimensionales se denominan datos estructurados.

1.1.2 Base de datos no relacional (base de datos de tercera generación)

Representante: noSQL

  • Estructura de almacenamiento: par clave-valor nombre = lilade nombre: serie temporal de índice estable de lilade

  • Tipo de caché: redis memcached

  • Tipo de documento: mongodb

  • Tipo de índice: búsqueda elástica

  • Tipo secuencial: prometheus infiuxdb

(Las bases de datos no relacionales no tienen comandos de operación unificados. Diferentes bases de datos tienen diferentes métodos operativos. Diferentes bases de datos tienen diferentes estructuras de almacenamiento. A menudo se usan pares clave-valor, o algunos se implementan utilizando series de tiempo de índice de documentos. almacenamiento de datos)

1.2 Bibliotecas y tablas

Hay tablas en la biblioteca. Las tablas contienen datos estructurados en forma de tablas bidimensionales.
Columna (campo): se utiliza para describir un atributo de un objeto.
Fila (registro): se utiliza para describir información sobre un objeto.

  • Primero, debe haber una biblioteca. Cree una tabla en la biblioteca. Los datos estructurados se almacenan en la tabla de acuerdo con filas y columnas. La columna se usa para describir un atributo del objeto, y la fila representa el registro usado para describir el información de un objeto *

1.3 Declaración SQL

Función: Se utiliza para mantener y administrar bases de datos relacionales, incluida la consulta de datos, actualización, control de acceso, administración de usuarios y otras funciones.

1.3.1 Clasificación del lenguaje SQL

  • DDL: Lenguaje de definición de datos, utilizado para crear objetos de bases de datos, bibliotecas, tablas, índices, etc.
  • DML: lenguaje de manipulación de datos, utilizado para agregar, eliminar y modificar datos en tablas (utilizado para administrar datos de tablas)
  • DQL: lenguaje de consulta de datos, utilizado para encontrar registros de datos calificados en tablas de datos (utilizado para consultar datos en la tabla)
  • DCL: lenguaje de control de datos, utilizado para establecer o cambiar los permisos de rol o usuario de la biblioteca (utilizado para administrar usuarios de bases de datos y operaciones de permisos de usuario)

1.3.2 Tipos de datos comunes

int: entero sin signo [0,2 32-1], con signo [-2 31,2^31-1]
float: punto flotante de precisión simple 4 bytes 32 bits
double: punto flotante de precisión doble 8 bytes 64 bits
char: longitud fija tipo de carácter
varchar: tipo de carácter de longitud variable
texto: texto
imagen: imagen
decimal(5,2): 5 números de longitud válidos, 2 dígitos después del punto decimal

Características del campo de clave principal; solo puede haber una clave principal en la tabla que crea, y los valores en los valores del campo de clave principal no se pueden repetir, deben ser únicos y no se permite que estén vacíos.

2. Ver la base de datos

2.1 Verificar la versión de MySQL

#在mysql内查看mysql版本
select version();
 
#在linux系统中查看mysql版本
mysql -V

Ver la versión de mysql en mysql
Insertar descripción de la imagen aquí
Ver el número de versión de mysql en el sistema Linux
Insertar descripción de la imagen aquí

2.2 Ver la base de datos

#大小写不区分,分号“;”表示结束
SHOW DATABASES;						

Insertar descripción de la imagen aquí

2.3 Ver las tablas contenidas en la base de datos

1.USE 数据库名;
SHOW TABLES;
 
2.show tables from 数据库名;

El primer tipo
Insertar descripción de la imagen aquí
El segundo tipo
Insertar descripción de la imagen aquí

2.4 Ver estructura de la tabla

1.use  mysql;
 desc  ky31;

​ 2.desc  mysql.ky31;

camino relativo
Insertar descripción de la imagen aquí
camino absoluto
Insertar descripción de la imagen aquí

3. Declaración SQL

3.1 Crear y eliminar bases de datos y tablas.

3.1.1 Crear una nueva base de datos

 CREATE DATABASE 数据库名; 
 
 #示例:创建一个名为NBA的数据库
 creat database NAB;

Insertar descripción de la imagen aquí

3.1.2 Crear una nueva tabla

#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#示例:
use NBA;
create table info(球衣号 int(3) not null,球员 char(10),年龄 int(2),性别 int(2));
desc info;

Insertar descripción de la imagen aquí

3.1.3 Eliminar la tabla de datos especificada

#如不用USE进入库中,则需加上数据库名
DROP TABLE [数据库名.]表名;				
#方法一:使用绝对路径,需要进入表所在数据库
use NBA;
drop table info;
desc info;

Insertar descripción de la imagen aquí

#方法二:使用相对路径,不需要进入表所在数据库
drop table NBA.info;
show tables in NBA;

Insertar descripción de la imagen aquí

3.1.4 Eliminar la base de datos especificada

DROP DATABASE 数据库名;

Insertar descripción de la imagen aquí

3.2 Administrar la estructura de la tabla en la base de datos.

3.2.1 Insertar nuevos registros de datos en la tabla de datos

#向数据表中插入新的数据记录
insert into 表名(字段1,字段2,字段3) values(字段1的值,字段2的值,字段3的值);
 
#示例1
insert into info(球衣号,球员,年龄,性别) values(23,'詹姆斯',39,'男');
select * from info;
 
#示例2:直接使用表明加入字段

insert into info values(3,'戴维斯',29,'男');

#示例3:可以指定字段添加
insert into info(球衣号,球员,年龄) values(15,'里弗斯',23);

Ejemplo 1
Insertar descripción de la imagen aquí
Ejemplo 2; Utilice directamente el nombre de la tabla para agregar campos.
Insertar descripción de la imagen aquí
Ejemplo 3: Puede especificar campos para agregar.
Insertar descripción de la imagen aquí

3.2.2 Consultar registros de datos

#格式
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
 
#示例1:查看所有数据
select * from info;
 
#示例2:查询指定数据
 select 球衣号,球员 from info where 年龄=39;
 
#示例3:以列表方式竖向显示
select * from info \G;
 
#示例4:只显示头2行
select * from info limit 2;
 
#示例5:显示第2行后的前2行
select * from info limit 2,2;

Ejemplo 1: Ver todos los datos
Insertar descripción de la imagen aquí
Ejemplo 2: Consultar datos especificados
Insertar descripción de la imagen aquí
Ejemplo 3: Mostrar verticalmente en modo lista
Insertar descripción de la imagen aquí
Ejemplo 4: Mostrar solo las 2 primeras filas
Insertar descripción de la imagen aquí
Ejemplo 5: Mostrar las 2 primeras filas después de la segunda fila
Insertar descripción de la imagen aquí

3.3 Modificar y actualizar registros de datos en la tabla de datos.

#格式
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
 
#示例1:修改年龄和球衣号
update info set 年龄=19,球衣号=14
where 球衣号=15;

Ejemplo 1: Modificar edad y número de camiseta
Insertar descripción de la imagen aquí

3.4 Eliminar registros de datos especificados en la tabla de datos

#格式:
DELETE FROM 表名 [WHERE 条件表达式];
 
#示例1:删除表中球衣号为1的数据
delete from info where 球衣号=1;
#示例2:删除球衣号3球衣号2
delete from info where 球衣号=3 or 球衣号=2;

Ejemplo 1: Eliminar los datos con la camiseta número 1 en la tabla
Insertar descripción de la imagen aquí
Ejemplo 2: Eliminar la camiseta número 3 y la camiseta número 2
Insertar descripción de la imagen aquí

3.5 Modificar el nombre y la estructura de la tabla

3.5.1 Modificar el nombre de la tabla

ALTER TABLE 旧表名 RENAME 新表名;
 
#示例:将表名info修改成lilade

Ejemplo: cambiar la información del nombre de la tabla a lilade
Insertar descripción de la imagen aquí

3.5.2 Ampliar la estructura de la tabla (agregar campos)

#default 'default值':表示此字段设置默认值 地址未填写!;可与 NOT NULL 配合使用
ALTER TABLE 表名 ADD address varchar(50) default 'default值';
 
#示例
alter table info add 球队 char(100) default'湖人';

Insertar descripción de la imagen aquí

3.5.3 Modificar el nombre del campo (columna) y agregar una clave única

#格式
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];
#示例:
alter table info change 年龄 岁数  char(200) unique key;

Insertar descripción de la imagen aquí

3.5.4 Eliminar campos

#格式
ALTER TABLE 表名 drop 字段名;
#示例
alter table info drop  岁数;

Insertar descripción de la imagen aquí

3.6 Utilice el criterio if para crear una tabla y probar el incremento y el llenado automáticos.

use NBA;
 
create table if not exists 开拓者 (
球衣号 int(4) zerofill primary key auto_increment,
球员 char(20) not null,
年龄 int(18) not null unique key,
性别 int(3) not null,
出身 char(100));
  • f no existe: indica si la tabla a crear ya existe, y si no existe continuar creándola.

  • int(4) zerofill: significa que si el valor tiene menos de 4 dígitos, rellénelo con "0" delante, por ejemplo 0001

  • auto_increment: indica que este campo es un campo de incremento automático, es decir, cada registro se incrementa automáticamente en 1 y el valor predeterminado comienza desde 1; los datos del campo de incremento automático no se pueden repetir; el campo de incremento automático debe ser la clave principal ; si los datos del registro agregado no especifican el valor de este campo Y si la adición falla, se incrementará automáticamente una vez.

  • Clave única: Indica la restricción de clave única de este campo. Los datos de este campo no se pueden repetir, solo puede haber una clave principal en una tabla, pero puede haber varias claves únicas en una tabla.

  • no nulo: indica que no se permite
    Insertar descripción de la imagen aquí
    probar este campo para NULL
    Insertar descripción de la imagen aquí

4. Operaciones avanzadas en tablas de datos.

4.1 Clonar tabla: generar registros de datos de la tabla de datos en una nueva tabla

Método 1: crear primero y luego importar

#通过 LIKE 方法,复制 info 表结构生成 湖人 表
create table 湖人 like info;		
#导入数据
insert into 湖人 select * from info;	

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Método 2: importar al mismo tiempo al crear

create table 湖人 (select * from info);

Insertar descripción de la imagen aquí

4.2. Borrar la tabla: eliminar todos los datos de la tabla

4.2.1, eliminación deldte

DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。
#delete from 表名;
delete from 开拓者;					

Insertar descripción de la imagen aquí

4.2.2 truncar eliminación

truncate table 开拓者;

Insertar descripción de la imagen aquí

4.2.3 Crear tabla temporal

 临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表
##添加临时表test
create temporary table test (
id int(4) zerofill primary key auto_increment,
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));
 
## 查看当前库中所有表
show tables;	
##在临时表中添加数据
insert into test values(1,'zhangsan',123456789,'watch a film');	
##查看当前表中所有数据
select * from test;
##退出数据库
quit						
 
##重新登录后进行查看		
mysql -u root -p
##查看之前创建的临时表中所有数据,发现已经被自动销毁
select * from test;			

4.3 Crear restricciones de clave externa

Tabla principal: La estructura de la tabla pro es la siguiente:
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Subtabla: La estructura de la tabla stu es la siguiente:
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Los campos de la subtabla asociados con las claves foráneas deben configurarse como claves primarias. Los campos de clave externa de la tabla principal y los campos de la subtabla deben tener el mismo tipo de datos, longitud de caracteres y restricciones.

#为主表设置主键
alter table pro add primary key(pid);
#为从表设置外键
alter table stu add foreign key (proid) references pro(pid);

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Prueba: la tabla principal no se puede eliminar en este momento, porque la tabla externa hace referencia a la tabla principal. Debe ver y eliminar las restricciones de clave externa. Si desea eliminar el campo de restricción de clave externa, primero elimine la clave externa. restricción y luego elimine el nombre de la clave externa.Prueba: al eliminar
Insertar descripción de la imagen aquí
registros de datos, primero debe eliminar la tabla secundaria y luego la tabla principal, lo que significa que al eliminar la tabla de clave principal, primero debe eliminar otras tablas asociadas con ella. .
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/fyb012811/article/details/133088790
Recomendado
Clasificación