码迷,mamicode.com
首页 > 数据库 > 详细

SQL基础:数据表的创建

时间:2017-09-20 14:40:38      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:类型   非空约束   表之间   com   tin   auto   允许   约束   primary   

1. 先选择创建表所在的数据库

技术分享

 

2. 创建表

技术分享

3. 查看表是否创建成功

技术分享

 

4. 主键:要求主键列的数据唯一,且不允许为空。主键能够唯一的标识表中的每一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。

主键分为:单字段主键和多字段联合主键。

4.1 单字段主键

4.1.1 定义方式一:在定义列的同时指定主键

技术分享

4.1.2 定义方式二:在定义完所有的列之后指定主键

技术分享  

4.2 多字段联合主键

技术分享  

5. 使用外键约束

外键用来在两个表之间建立连接,可以是一列或多列。一个表的外键可以是空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。

外键可以不是本表的主键,但对应另外一个表的主键。作用是保证数据的完整性和一致性。

主表:相关联字段中主键所在的那个表即是主表

从表:相关联字段中外键所在的那个表即是从表

 

 创建一个部门表作为主表,让其主键作为外键关联到员工表的主键id

技术分享

在表tb_emp5上添加了名称为fk_emp_dept1的外键约束,外键名称为deptId,其依赖于表tb_dept1的主键id

 

6.使用非空约束

Not Null Constraint,指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库会报错

指定员工姓名不能为空

技术分享   

7.使用唯一性约束

Unique Constraint,要求该列唯一,允许为空,但只能出现一个空值,唯一约束可以保证一列或几列不出现重复值 

7.1 定义方式一:在定义完列之后直接指定唯一约束

指定部门名称唯一

技术分享  

7.2 定义方式二:在定义完所有的列之后指定唯一约束

技术分享  

唯一约束和主键的区别:

一个表中有多个字段可以声明为UNIQUE,但只能声明一个PRIMARY KEY,主键的列不能有空值,但声明UNIQUE的列可以允许空值的存在

 

8. 使用默认约束

如果插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为默认值

指定员工的部门编号默认为1111

技术分享  

9.设置表的属性值自动增加

为主键添加AUTO_INCREMENT关键字来实现,让主键自增,默认的初始值是1

一个表只有一个字段只用此约束,且该字段必须为主键的某一列,可以是任何整数类型(tinyint/smallint/int/bigint)

指定员工的编号自动递增,每次新添加一条记录,该值自动加1

技术分享   

新增加三条数据测试

技术分享  

使用select命令查看记录,得到主键值是依次递增的

技术分享   

 

SQL基础:数据表的创建

标签:类型   非空约束   表之间   com   tin   auto   允许   约束   primary   

原文地址:http://www.cnblogs.com/silverlaw/p/7560615.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!