数据库定义语言(DDL)

删除表

在删除表的时候,经常会遇到多个表关联的情况,多个表关联的时候不能随意删除,需要使用级联删除

cascade:如果A,B,A中的某一个字段做关联,那么再删除表A的时候,需要首先将表B删除

set null:在删除的时候,把表的关联字段设置为空

约束constraint

创建表的时候可以给表中的数据添加数据校验规则,这些规则称之为约束

约束分为五大类

not  null:非空约束,插入数据的时候某些列不允许为空

unique  key:唯一键约束,可以限定某一个列的值是唯一的,唯一键的列一般被用作索引列

primary  key:主键:非空唯一,任何一张表一般情况下最好有主键,用来唯一的标识一行记录

foreign  key:外键,当多个表之间有关联关系(一个表的某一个列的值依赖于另外一张表的某个值)的时候,需要使用外键        foreign  key (column)  peferences  table_name(column)

check约束:可以根据用户的需求去限定某些列的值

创建表的时候直接在类型的后面添加约束

个人建议:在创建表的时候直接将各个表的约束条件添加好,如果包含外键的话,最好把外键关联表的数据优先插入

约束的添加和撤销

可增加或删除约束,但不能直接修改

alter  table  tablename  +  增加/删除

增加: add  constraint  con_name  unique(col)

删除: drop  constraint  con_name[cascade]

索引

索引是为了加快数据的搜索速度而设立的

索引的作用:在数据库中用来加速对表的查询,通过使用快速访问方法快速定位数据

创建索引

create  index  索引名  on  表(字段);

删除索引

drop  index  索引名;

数据库设计三范式

第一范式:确保每列保持原子性

        列不可分

第二范式:确保表中的每列都和主键相关

第三范式:传递依赖,表里面的列不能出现其他表的非主键字段

推荐文章:数据库三范式 - 五月的仓颉 - 博客园

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值