索引和数据完整性约束的总结

索引:索引是根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表.


索引的分类:
1.普通索引(index)
2.唯一索引(unique)
3.主键(primary key)
4.全文索引(fulltext)


创建索引:
使用create index语句:
create index index_name
on tab_name(字段名);
使用alter table语句:
alter table tab_name
add index(字段名),
add primary key(字段名);
在创建表时创建索引:
create table xs_kc(
学号 char(6) not null,
课程号 char(3) not null,
成绩 tinyint(1),
学分 tinyint(1) check(学分<6),
primary key(学号,课程号),
index cj(成绩
);


删除索引:
使用drop index语句删除索引:
drop index index_name on tab_name;
使用alter table语句删除索引:
alter table tab_name
drop primary key,//删除主键
drop index index_name,//删除索引
drop foreign key fk_symbol;//删除外键


数据完整性约束
主键约束:
create table xs(
学号 char(6) not null primary key,
姓名 char(8) not null unique,
专业名 char(10),
性别 tinyint (1)not null check(性别 in(0,1)),
出生日期 date not null,
总学分 tinyint (1),
照片 blob,
备注 text
);


替代键约束:
create table xs1
(
学号 varchar(6) null,
姓名 varchar(8) not null unique,
出生日期 datetime null,
primary key(学号)
);
关键字unique表示姓名是一个替代键,其列值必须是唯一的.


参照完整性约束:
create table xs1
(
学号 varchar(6) null,
姓名 varchar(8) not null unique,
出生日期 datetime null,
primary key(学号),
foreign key(学号)
references key(学号)
on update cascade
);


check完整性约束:
create table student
(
学号 char(6) not null,
性别 char(1) not null check(性别 in('男','女'))
);


命名完整性约束:
create table xs1
(
学号 varchar(6) null,
姓名 varchar(8) not null unique,
出生日期 datetime null,
constraint primary_key_xs1,
primary key(姓名)
);


删除完整性约束:
alter table xs drop primary key;




转载于:https://www.cnblogs.com/javaTest/archive/2012/06/06/2589463.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值