目录
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 的那个项不为空