赞
踩
目录
我们已知道,创建数据表语法:
- create table 表名(
- 字段名1 数据类型(长度) [约束],
- 字段名2 数据类型(长度) [约束],
- 字段名3 数据类型(长度) [约束],
- ...
- ) engine = 引擎名 default charset utf8;
我们会发现字段名的结尾处可以添加SQL约束。
SQL约束是用于指定字段数据的规则,可以保证数据更加精确、可靠。 通俗地说,SQL约束就是数据在类型的基础上【增加了额外要求】。
对于SQL约束,要注意:
(1)SQL约束不是必须的,而是为了让SQL更加规范而存在;
(2)在实际应用中,可以对字段同时设定多个SQL约束,且都是在创建数据表时进行设定。
在创建表时添加主键约束语法:
- create table 表名(
- 字段名 数据类型(长度) primary key [其他约束],
- ...
- ) engine = 引擎名 default charset utf8;
说明:
(1)给primary key主键约束的字段设定值时,不允许出现重复值;[唯一性]
(2)主键约束列不能包含null值;[非空]
(3)每个表都应该有一个主键约束,且每个表只能有一个主键。
除了可以在数据表添加主键约束外,还可以单独添加主键约束,语法:
- # 创建表后,使用alter table关键字添加主键
- alter table 表名 add primary key(字段名);
此方式不常用,了解即可。
给有主键约束的数据表删除主键约束,语法:
- # 使用alter table关键字删除主键
- alter table 表名 drop primary key;
说明: 当删除主键约束后,字段依旧有非空约束,不能为空。
在创建表时让主键约束字段为自动增长[auto],语法:
- create table 表名(
- 字段名 数据类型(长度) primary key auto_increment,
- ...
- ) engine = 引擎名 default charset utf8;
说明:
(1)自动增长列的数据类型必须是整型;
(2)自动增长列必须为X键(例如主键、外键)。
当给数据字段设定了主键约束后,则: (1)值是唯一的; (2)值是非空的。
语法:
- create table 表名(
- 字段名 数据类型(长度) [其他约束] not null,
- ...
- ) engine = 引擎名 default charset utf8;
说明:
(1)当设定主键约束后,值默认是非空的;
(2)当给某列设定为not null后,在添加数据时必须向该字段传递非null值。
当设定为非空约束后,则:
(1)not null约束强制字段不接受null值;
(2)not null约束强制字段传递数据时,必须有数值.
语法:
- create table 表名(
- 字段名 数据类型(长度) [其他约束] unique,
- ...
- ) engine = 引擎名 default charset utf8;
说明:
(1)每个表可以有多个unique唯一约束,但是每个表只能有一个primary key主键约束;
(2)当设定为某字段唯一约束后,给该字段添加已有值,则报错。
设定为唯一约束后,要了解:
(1)unique约束用于唯一标识数据表中的每条数据;
(2)primary key字段默认唯一;
(3)unique和primary key约束均为列提供了唯一性保证
当给数据字段设定了唯一约束后,则:值是唯一的。 通俗地说,当给某字段设定为unique后,在添加数据时若传递已有值,会出错。
语法:
- create table 表名(
- 字段名 数据类型(长度) [其他约束] default 值,
- ...
- ) engine = 引擎名 default charset utf8;
说明:
(1)每个表可以有多个默认值约束;
(2)设置了默认值后,若不传递数值,则直接使用默认值。
当设定为默认值约束后,则:
(1)有了默认值约束后, 当不传递字段对应的值时,会使用默认值;
(2)有了默认值约束后, 当传递字段对应的值时,会传递的具体值为准。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。