数据表的基本操作

一。数据完整性有哪几种?各自作用是什么?
1.实体完整性
能够唯一标识表中的每一条记录
实现方式:主键、唯一键、auto_increment属性
2.域完整性
表中特定列数据的有效性,确保不会输入无效的值
实现方式:类型、缺省值、检查约束、空值
3.引用完整性
维护表间数据的有效性、完整性
实现方式:建立外键联系另一表的主键
4.自定义完整性
根据业务处理流程定义的特定业务规则
实现方式:存储过程、触发器、规则

二。使用约束的目的是什么?
确保表中数据完整性
常用的约束类型有哪些?
主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空
(一个表中,一般只有一个主键约束)
alter table 表名 add constraint pk_约束名 primary key(字段);

删除约束:
alter table 表名 drop constraint 约束名;

唯一约束(Unique Constraint):要求该列数据唯一,允许为空,但只能出现一个空值
alter table 表名 add constraint uk_约束名 unique(字段);

检查约束(Check Constraint):某列取值范围限制、格式限制等
默认约束

外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的哪列


数据表删除语句
drop table stuinfo;
创建表
create table stuinfo(
sid int primary key auto_increment,
sname varchar(20) not null,
sbrithday date,
gradeId int not null,
sage int
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

添加唯一约束  unique(字段)
alter table stuinfo add constraint uk_sname unique key(sname);
删除唯一约束  (drop index 约束名)
alter table stuinfo 
drop index uk_sname;
添加检查约束 check(条件判断)   年龄只能大于1990-01-01
alter table stuinfo add constraint ck_sbir check(sbrithday>'1990-01-01');

添加一个检查约束,限制年级只能在 (1,2,3)三个值之间选择一个
alter table stuinfo add constraint ck_gid check(gradeId in(1,2,3));
限制某一个字段只能在某个区间时,使用between ...  and ...


年级表
create table grade(
gid int not null,
gname varchar(10)
);


foreign key 外键约束:  主表------从表
外键约束应该是添加在从表上
先需要给主表被引用的字段添加主键约束
alter table grade add constraint pk_gid primary key(gid);
alter table stuinfo add constraint fk_gradeId foreign key(gradeId) references grade(gid);


查看表结构
desc studentinfo;
修改表名
alter table stuinfo rename to studentinfo;
修改字段描述
alter table studentinfo modify sbrithday varchar(20);
添加新字段
alter table studentinfo add sex char(4) after sname;新增字段在指定已存在的字段之后
alter table studentinfo add aa char(4) first;新增一个字段到第一位置
删除字段
alter table studentinfo drop column aa;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值