MySql数据库约束,主键和外键约束的添加删除,代码实现,sql语句实现
--概述
对表中的数据进行限定,保证数据的正确性、有效性和完整性。
1. primary key:主键约束 要求表中有一个列 唯一 且 非空,通常我们使用id作为主键 2. unique:唯一约束 3. not null:非空约束 4. default:默认值 5. foreign key:外键约束
1.主键约束
-- 给student表添加主键约束 ALTER TABLE student ADD PRIMARY KEY(id); -- 创建表,指定主键约束 CREATE TABLE stu1( id INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(32) ); -- 创建表时,可以指定主键约束(多个字段) 联合主键 CREATE TABLE stu2( id INT, `name` VARCHAR(32), PRIMARY KEY(id,`name`) ); -- 修改自增器起始值... ALTER TABLE stu3 AUTO_INCREMENT=10000; -- 先移除自增器 ALTER TABLE stu3 MODIFY id INT; -- 再移除主键约束 ALTER TABLE stu3 DROP PRIMARY KEY;
2.唯一约束
限定某一列的值不能重复,不能限定NULL
-- 创建表时指定字段为唯一约束 create table 表名( 列名 数据类型 unique );
3.非空约束
create table 表名( 列名 数据类型 not null, -- 非空约束 列名 数据类型 unique not null -- (唯一+非空) 约束 ); -- 唯一 + 非空 CREATE TABLE stu5( id INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(32) UNIQUE NOT NULL );
4.默认值
限定某一列的默认值,再没有指定的情况下所有列的默认值为null
--创建表时指定字段默认值 create table 表名( 列名 数据类型 default 默认值, ... ... ); -- 默认值 CREATE TABLE stu6( id INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(32) DEFAULT NULL, sex VARCHAR(5) DEFAULT '男' );
- 上一篇 »PHP实现MySQL的主键id自动重新自增排序
- 下一篇 »PHP数据连接主键与外键!