目录
MySql约束
1.添加主键约束
语法格式
1)创建一个带主键的表
查看表结构
2)创建表的时候指定主键名称
查看表结构
3)创建一个表然后,然后再使用alter为列添加主键
查看表结构
4)为表添加数据
1---正常数据
2---主键为空数据
3--主键重复数据
5)为表设置自增主键(AUTO_INCREMENT)
查看表结构
插入没有主键的数据
查看插入的数据
2.唯一约束(unique)
查看表结构
测试唯一约束
3.非空约束(not null)
查看表结构
MySql约束
1.添加主键约束
语法格式
字段名 字段类型 primary key
1)创建一个带主键的表
-- 创建一个带主键的表 create table user2( -- 设置主键 id INT PRIMARY KEY, username VARCHAR(30), sex CHAR(1) );
查看表结构
desc user2;
2)创建表的时候指定主键名称
-- 创建表的时候指定主键 create table user3( id int, user_name VARCHAR(30), sex char(1), -- 指定主键 PRIMARY KEY(id) );
查看表结构
desc user3;
3)创建一个表然后,然后再使用alter为列添加主键
-- 创建一个表,然后使用alter添加主键约束 create table user4( id int, user_name VARCHAR(30), sex char(1), ); -- 使用alter为期添加主键 alter table user4 add PRIMARY key(id);
查看表结构
desc user4;
4)为表添加数据
1---正常数据
-- 添加正常数据 INSERT into user4 VALUES (1, '偷走晚霞的人', '男');
2---主键为空数据
-- 添加主键为空的字段 INSERT into user4 VALUES (null, '偷走晚霞的人', '男');
可以看到添加的数据:1048 - Column 'id' cannot be null
3--主键重复数据
-- 添加重复的主键 INSERT into user4 VALUES (1, '惜.己', '男');
可以看到错误:1062 - Duplicate entry '1' for key 'PRIMARY'
5)为表设置自增主键(AUTO_INCREMENT)
-- 创建主键自增的表 CREATE TABLE user5( id INT PRIMARY KEY AUTO_INCREMENT, user_name VARCHAR(30), sex char(1) );
查看表结构
可以看到extra ==》这里多了一个auto_increment
插入没有主键的数据
-- 主键为空 的数据 INSERT into user5 VALUES (null, '惜.己', '男'); -- 不添加主键数据 INSERT into user5(user_name, sex) VALUES ('小玖','女')
查看插入的数据
select * from user5;
2.唯一约束(unique)
字段名 字段值 unique
.
CREATE table user6( id int PRIMARY KEY AUTO_INCREMENT, user_name VARCHAR(20) UNIQUE, sex char(1) );
查看表结构
可以看到user_name的那一个项 UNI
desc user6;
测试唯一约束
INSERT into user6 VALUES (null, '惜.己', '男'); INSERT into user6 VALUES (null, '惜.己', '男');
可以看到出现错误:1062 - Duplicate entry '惜.己' for key 'user_name'
3.非空约束(not null)
简单的来说就是,向这个表中添加数据的时候不能为空。属于必填项。否则会报错 1048 - Column 'id' cannot be null
INSERT into user7 VALUES (null,null , '男');
字段名 字段类型 not null
-- 非空约束 create table user7( id INT PRIMARY KEY, user_name VARCHAR(30) not null, sex char(1) );
查看表结构
可以看到user_name 的那个项不为空