[Notas de Crazy God MySQL] Declaraciones de línea de comandos comunes (1)

todas las declaraciones son; fin

Las palabras clave de mysql no distinguen entre mayúsculas y minúsculas

Ideas de aprendizaje: ver sql contra la historia visual

Se debe recordar la sintaxis fija o las palabras clave

que sentencia se ejecuta


Ver todas las bases de datos

 show databases;


cambiar a una base de datos

use xxx;


Ver todas las tablas en la base de datos

show tables;


 Ver toda la información en todas las tablas de la base de datos

describe 表名
--简写
desc 表名

 


crear base de datos

create database xxx;

salir de la conexión

exit;

notas

--单行注释
/*  */多行注释

CRUD: CRUD

DDL: lenguaje de definición de base de datos

DML: lenguaje de consulta de base de datos

DQL: lenguaje de consulta de datos

DCL: lenguaje de control de base de datos


Operando la base de datos: (entender)

Base de datos de operaciones -> tabla de operaciones -> datos en la tabla de operaciones

Operando la base de datos:

Crear base de datos: crear base de datos xxx (si ya existe, falle)

create database [if not exists] xxx;//判断是否存在

Eliminar la base de datos:

drop database [if exists] xxx;//如果存在

Usando la base de datos:

use xxx;
-- 如果表名或者字段名是一个特殊字符,就需要带``

Ver base de datos

show database xxx;

El tipo de datos (columna) de la base de datos:

entero
diminuto pequeños datos 1 byte
pequeño datos más pequeños 2 bytes
En t Entero estándar (comúnmente utilizado) 4 bytes
medio datos de tamaño mediano 3 bytes
Empezando datos más grandes 8 bytes
decimal
flotar precisión simple 4 bytes
doble Doble precisión (más común) 8 bytes
decimal Números de punto flotante en forma de cadena (para evitar la pérdida de precisión, cálculos financieros)

cuerda
carbonizarse cadena de tamaño fijo 0-255
varchar Cadena de longitud variable 0-65535 (de uso común)            
pequeñotexto Microtexto 2^8-1
texto Cadena de texto 2^16-1
hora y fecha
fecha AAAA-MM-DD fecha
tiempo  HH: mm: ss Formato de tiempo
fecha y hora AAAA-MM-DD HH:mm:ss Más usado
marca de tiempo Marca de tiempo 1970.1.1 milisegundos hasta el presente Comúnmente utilizado
año año
nulo (no use nulo para operaciones)


Propiedades de campo de la base de datos (énfasis)

no firmado Entero sin signo, no se puede declarar negativo
relleno cero

0-llenado, los dígitos insuficientes se rellenan con 0

int(3) 001

autoincremento

Usualmente entendido como auto-incremento, automáticamente +1 por defecto sobre la base del registro anterior

Por lo general, se utiliza para diseñar una clave principal única (índice), que debe ser de tipo entero
El valor inicial y el tamaño del paso del incremento automático de la clave principal se pueden personalizar
no nulo NULLno nulo

not null: Si no le asignas un valor, se reportará un error

NULL:如果不填写值,默认值就是null

默认 

设置默认的值


用sql语句创建表(重点):

在school数据库中创建一个学生表

create table if not exists `student`(
`id` int not null auto_increment comment'学号',
`name` varchar(30) not null default '匿名' comment'姓名',
`pwd`  varchar(20) not null default '123456' comment'密码',
`sex`  varchar(2)   not null default'男' comment'性别',
`birthday` datetime default null comment'出生日期',
`address`  varchar(100) default null comment'家庭住址',
`email` varchar(50) default null comment'邮箱',
primary key (`id`)
)engine=InnoDB default charset=utf8mb4

语法

create table [if not exists] `表名`(

`字段1` 数据类型 [not null] [default' '] [auto_increment] comment' ',

`字段1` 数据类型 [not null] [default' '] [auto_increment] comment' ',

`字段1` 数据类型 [not null] [default' '] [auto_increment] comment' ',

.....

`字段1` 数据类型 [not null] [default' '] [auto_increment] comment' ',

primary key(`主键字段名`)

)engin=innodb  default charset= 

注意:

使用英文括号,字段和字段名用``括起来,字符串用''括起来,所以的语句后面加英文逗号,最后一句不用加

primary key()设置主键,一般一个表只有一个唯一的主键。

charset设置数据库表的字符集编码


数据库引擎:(了解)

Innodb:默认使用

Myisam:早些年使用

myisam innodb
事物支持 不支持 支持
数据行锁定 不支持(表锁) 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大(2倍)

MYISAM:节约空间,速度较快

INNODB:安全性高,事物处理,多表多用户操

索引的数据库文件都存在在data目录下,本质是文件存储,一个文件夹对应一个数据库

INNODB:在数据库表中只有一个.frm文件,以及上级目录下的ibdata1文件

MYISAM对应文件:*.frm文件(表结构的定义文件)*.MYD文件(数据文件)*.MYI 索引文件


修改表:

修改表名

alter table 表名1 rename as 表名2

增加表的字段

alter table 表 add 字段名 列属性

 修改表的字段(重命名,修改约束)

alter table 表名 modify  字段名 属性  (修改约束)

alter table 表名 change 字段名 字段名1(字段重名名)

删除表的字段


alter table 表名  drop 字段名

删除表

drop table [if exists] 表

所有的创建和删除操作尽量加上判断,以免报错

注意:所有字段名使用``括号

注释:--

sql关键字大小写不敏感,建议小写

所有符号全部用英文


数据管理

外键(了解)

方式1:在创建时候创建外键约束

方式2:创建成功后添加外键约束

??????

删除有外键关系的表中,必选要先删除引用别人的表(从表),再删除主表

以上的操作是物理外键,数据库级别的外键,不建议使用

最佳实践:

●数据库就是单纯的表,只用来存数据,只有行(数据)和列(字段)

●想要使用外键,用程序去实现

DML语言

数据库意义:数据存储和数据管理

DML语言:数据库操作语言

insert:

语法:

  insert  into 表名([字段名1,字段2])values('值1'),('值2'),('值3')

如果不写表的字段,就会一一匹配。

一般写插入语句,数据和字段一定要一一对应。

insert into `student` (name,sex)
values("张三",'男'),
("李四","男");

*由于主键自增可以省略主键

*字段和字段之间使用逗号隔开。

*字段是可以省略,但是字段和值必须一一对应。

*可以同时插入多条语句,values后面的值用逗号隔开。

Supongo que te gusta

Origin blog.csdn.net/m0_52043808/article/details/123547659
Recomendado
Clasificación