赞
踩
概念
使用场景
分类
数据库中有三个完整性:域、实体、参照完整性
# 添加
# 在创建表的时候添加 : create .....default
create table t1(
id int default 1,
name varchar(20) default '老王'
);
# 通过alter语句添加:alter....modify/change.........
alter table t1 modify id int default 2;
alter table t1 change name name varchar(32) default '大大';
#删除: alter.....modify/change
alter table t1 modify id int;
alter table t1 change name name varchar(32);
# 添加
#在创建表的时候添加 : create .....not null
create table t2(
id int not null,
name varchar(20) not null
);
# 通过alter语句添加:alter....modify/change.........
alter table t2 modify id int;
alter table t2 change name name varchar(32) null;
# 删除: alter.....modify/change
# 添加唯一约束 #在创建表的时候添加 : create .....unique create table t3( id int unique, name varchar(32) not null ); insert t3 value (1,'老王'); insert t3 value (1,'老李'); -- id唯一约束,添加异常 create table t3( id int, name varchar(32) not null, constraint id_unique unique(id,name) -- 添加复合约束 ); # 通过alter语句添加:alter....modify/change......... / alter .... add unique..... alter table t3 modify id int unique; alter table t3 add unique(name); alter table t3 add constraint un_id unique(id); # 删除唯一约束:alter .... drop...index 名称 / drop index 名称 on 表名 alter table t3 drop index id_unique # 注意:如果删除的唯一约束列具有自增长约束,则必须要先删除自增长约束,再去删除唯一约束。
# 添加主键约束 # 在创建表的时候添加 : create .....primary key create table t4( id int primary key, name varchar(20) ); create table t4( id int, name varchar(32), [constraint id_unique] primary key (id,name) -- 联合约束 ); # 通过alter语句添加:alter....modify/change......... / alter .... add primary key..... alter table t4 modify id int primary key; alter table t4 add constraint pk_id_name primary key(id,name); # 删除主键:alter ... drop primary key alter table t4 drop primary key # 注意:如果删除的主键列具有自增长约束,则必须要先删除自增长约束,再去删除主键约束。
# 添加
# 在创建表的时候添加 : create .....auto_increment
create table t5(
id int primary key auto_increment,
name varchar(20)
);
# 通过alter语句添加:alter....modify/change......... auto_increment
alter table t5 change id id int auto_increment;
# 删除:alter ... modify/change....
alter table t5 modify id int;
# 注意:一张表只能有一个自增长列,并且该列需要定义约束。
指定当列的数值未非负数
age tinyint 1 -128~127 UNSIGNED 0~255
# 添加
# 在创建表的时候添加 : create .....UNSIGNED
create table t6(
id int,
age tinyint UNSIGNED
);
# 通过alter语句添加:alter....modify/change.........
alter table t6 change age age int tinyint UNSIGNED;
alter table t6 modify age tinyint UNSIGNED;
# 删除:alter ... modify/change....
alter table t6 modify age tinyint;
alter table t6 change age age int;
# 在创建表的时候添加 : create .....zerofill
create table t6(
id int,
age tinyint zerofill
);
# 删除:alter ... modify/change....
alter table t5 modify age tinyint;
alter table t5 change age age int;
通过建立外键,设置表于表之间的约束性,限制数据的录入
员工表(从表) 部门表(主表)
员工号 员工姓名 部门名称 部门号 部门名称
1 张三 1 1 人力
2 李四 2 2 销售
概述
注意:通常先创建主表,再创建从表
create table dept( deptno int primary key auto_increment, dname varchar(32), loc varchar(32) ); create table emp( empno int primary key auto_increment, ename varchar(32) not null, deptno int ); # 添加外键约束 create table emp( empno int primary key auto_increment, ename varchar(32) not null, deptno int [constraint fk_name] foreign key (deptno) references dept(deptno); -- 添加外键约束 ); # 使用alter add constraint.... alter table emp add constraint fk_name foreign key (deptno) references dept(deptno); # 删除外键约束 alter drop foreign key fk_name #在创建表时,不去明确的指定外键约束的名称,系统辉自动的随机生成一个外键的名称, #使用 show create table 表名。查看具体的外键名称。 alter table emp drop foreign key fk_name; # 设置外键中的级联关系 1.on delete cascade:删除主表中的数据时,从表中的数据随之删除。 2.on update cascade:更新主表中的数据时,从表中的数据随之更新。 3.on delete set null:删除主表中的数据时,从表中的数据置空 # 级联删除 create table emp( empno int primary key auto_increment, ename varchar(32) not null, deptno int [constraint fk_name] foreign key (deptno) references dept(deptno) on delete cascade; -- 添加外键约束 ); # 注意: --插入数据时,先插入主表的数据,在插入从表的数据。 --删除数据时候,先删除从表的数据,在删除主表中的数据。 # 数据库的设计 -- 主键约束、自增长约束、外键约束、唯一约束、非空约束、默认约束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。