MySql(十二)

目录

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

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值