mysql数据库表级别的约束

表级别的约束

 

1、主键约束-primary key

主键:表中一个列或者多个列的组合,要求该列的数据唯一

单字段主键:字段名 数据类型 primary key

多字段主键:primary key (字段1,字段2)

一个表只有一个主键,主键列不允许为空。

 

例子:创建一张员工表tb_emp1,以id为主键

create table tb_emp1(

id int primary key,

name varchar(25),

deptid int,

salary float

);

 

create table tb_emp2(

id int,

name varchar(25),

deptid int,

salary float,

primary key(id)

);

 

例子:创建一张员工表tb_emp1,以id和name为组合主键

create table tb_emp3(

id int,

name varchar(25),

deptid int,

salary float,

primary key(id,name)

);

 

 

2、自动增长-auto_increment

作用与主键

create table tb_emp4(

id int primary key auto_increment,

name varchar(25),

deptid int,

salary float

);

插入数据:(以下几个例子是连续进行的)

不指定主键id的值,插入数据,主键将自动增长

 

 

已有id为6的数据,不能再插入id值相同的数据

 

id值根据最后一行的值继续自动增长

 

3、非空约束-not null

create table tb_emp5(

id int primary key auto_increment,

name varchar(25) not null,

deptid int not null,

salary float not null

);

 

4、默认值约束-default

create table tb_emp6(

id int primary key auto_increment,

name varchar(25) not null,

deptid int not null default 1,

salary float not null default 5000

);

 

5、外键约束 foreign key

外键主要用来将两个表的数据进行连接。外键可以有多个

建立部门表 tb_dept7、员工表tb_emp7,将两张表的deptid建立外键约束

 

create table tb_dept7(

id int primary key,

name varchar(20)

);

create table tb_emp7(

id int primary key auto_increment,

name varchar(25) not null,

deptid int not null default 1,

salary float not null default 5000,

constraint fk_emp7_dept7 foreign key(deptid) references tb_dept7(id)

);

 

删除外键:

Alter table 表名 drop foreign key 外键名称

例子:

Alter table tb_emp7 drop foreign key fk_emp7_dept7;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值