1. Información general
-
Concepto : Limite los datos de la tabla para garantizar la exactitud, validez e integridad de los datos.
-
Clasificación :
1. Restricción de clave primaria: clave primaria
2. Restricción no vacía: no nula
3. Restricción única: única
4. Restricción de clave externa: clave externa
2. Restricciones no vacías
Restricción no nula: no nulo, el valor de una columna no puede ser nulo
- 1. Agregue restricciones al crear una tabla
CREATE TABLE stu1(
id INT,
NAME VARCHAR(20) NOT NULL -- name为非空
);
- 2. Después de crear la tabla, agregue una restricción que no esté vacía
ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
- 3. Elimina la restricción no vacía de name.
ALTER TABLE stu MODIFY NAME VARCHAR(20);
3. Restricción única
único, el valor de una columna no se puede repetir
- 1. Nota:
* La restricción única puede tener un valor NULO, pero solo un registro puede ser nulo - 2. Al crear una tabla, agregue una restricción única
CREATE TABLE stu(
id INT,
phone_number VARCHAR(20) UNIQUE -- 手机号
);
- 3. Eliminar la restricción de unicidad
ALTER TABLE stu DROP INDEX phone_number;
- 4. Después de crear la tabla, agregue una restricción única
ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
4. Restricción de clave principal: clave principal
-
1. Nota:
1. 含义:非空且唯一 2. 一张表只能有一个字段为主键 3. 主键就是表中记录的唯一标识
-
2. Al crear una tabla, agregue una restricción de clave principal
create table stu(
id int primary key,-- 给id添加主键约束
name varchar(20)
);
- 3. Eliminar la clave principal
-- 错误 alter table stu modify id int ;
ALTER TABLE stu DROP PRIMARY KEY;
- 4. Después de crear la tabla, agregue la clave principal
ALTER TABLE stu MODIFY id INT PRIMARY KEY;
- 5. Crecimiento automático:
-
Concepto: si una columna es de tipo numérico, use auto_increment para completar el valor del crecimiento automático
-
Al crear una tabla, agregue restricciones de clave primaria y complete el crecimiento propio de clave primaria
create table stu(
id int primary key auto_increment,-- 给id添加主键约束
name varchar(20)
);
- 3. Eliminar el crecimiento automático
ALTER TABLE stu MODIFY id INT;
- 4. Agregue crecimiento automático
ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
5. Restricciones de clave externa
Restricción de clave externa: clave externa, deje que la tabla y la tabla tengan una relación, para garantizar la exactitud de los datos.
- 1. Al crear una tabla, puede agregar claves externas.
Sintaxis:
create table 表名(
....
外键列
constraint 外键名称 foreign key (外键列名称)
references 主表名称(主表列名称)
);
- 2. Eliminar claves externas
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
- 3. Después de crear la tabla, agregue la clave externa
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY
(外键字段名称) REFERENCES 主表名称(主表列名称);
- 4. Operación en cascada
1. Agregar operación en cascada
语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名称
FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称)
ON UPDATE CASCADE ON DELETE CASCADE ;
-
clasificación:
1. 级联更新:ON UPDATE CASCADE 2. 级联删除:ON DELETE CASCADE