专做机械零配件的网站,广告公司取名字,一个网站怎么做软件,河南省住房城乡建设厅官方网站表完整约束性
约束条件 说明
PRIMARY KEY (PK) 标识该字段为该表的主键#xff0c;是可以唯一的标识记录#xff0c;不可以为空 UNIQUENOT NULL
(primary key)
FOREIGN KEY (FK) 标识该字段为该表的外键#xff0c;实现表与表之间的关联
(foreign key)
NULL …表完整约束性
约束条件 说明
PRIMARY KEY (PK) 标识该字段为该表的主键是可以唯一的标识记录不可以为空 UNIQUENOT NULL
(primary key)
FOREIGN KEY (FK) 标识该字段为该表的外键实现表与表之间的关联
(foreign key)
NULL 标识该字段是否允许为空默认为NULL。
(null)
NOT NULL 标识该字段不能为空可以修改。
(not null)
UNIQUE KEY (UK) 标识该字段的值是唯一的可以为空一个表中可以有多个UNIQUE KEY
(unique key)
AUTO_INCREMENT 标识该字段的值自动增长整数类型而且为主键
(auto_increment)
DEFAULT 为该字段设置默认值
(default)
UNSIGNED 无符号正数
(unsigend)修改字段是否为空的约束
mysql desc t1;
-----------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-----------------------------------------------
| id | int(11) | YES | | NULL | |
| name | varchar(12) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| sex | char(2) | YES | | NULL | |
-----------------------------------------------
4 rows in set (0.00 sec)
mysql alter table t1 modify name varchar(12) not null;
mysqlalter table t1 modify name varcahr(12) null;
#修改该字段不允许为空 null为允许该字段为空
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0是否允许为空默认NULL可设置NOT NULL字段不允许为空必须赋值字段是否有默认值缺省的默认值是NULL如果插入记录时不给字段赋值此字段使用默认值 sex enum(‘male’,‘female’) not null default ‘male’ #只能选择maie和female不允许为空默认是male
mysql create table 表名(id int(5),name varchar(10),sex enum(male,female) not null default male);
### 设置enum的默认值为male
取消默认值
mysql alter table 表名 alter column 字段 drop default;
##取消表中该字段的默认值实现表值的自动增长
mysql create table 表名auto_increment 自动增长约束。 自增--------自动编号且必须与主键组合使用默认情况下起始值为1每次的增量为1。当插入记录时如果为AUTO_INCREMENT数据列明确指定了一个数值则会出现两种情况如果插入的值与已有的编号重复则会出现出错信息因为AUTO_INCREMENT数据列的值必须是唯一的如果插入的值大于已编号的值则会把该插入到数据列中并使在下一个编号将从这个新值开始递增。
每张表只能有一个字段为自曾 成了key才可以自动增长
mysql create table t2(id int unique key auto_increment,name varchar(5));
#指定id字段自动增长。
unique key 指定字段唯一性 auto_increment 指定该字段数值自动增长。
删除自动增长
mysql alter table 表名 modify column 字段 int;
#重新定义id字段类型即可删除自动增长约束。主键
每张表里只能有一个主键不能为空而且唯一主键保证记录的唯一性主键自动为NOT NULL。
一个UNIQUE KEY 又是一个NOT NULL的时候那么它被当做PRIMARY KEY主键。
定义两种方式
#表存在添加约束
mysql alter table 表名 add primary key (字段);创建表并指定约束
mysql create table 表名(字段 char(20),字段2 char(150),primary key(字段));
删除主键
mysql alter table 表名 drop primary key;
## 删除的仅是主键不会删除该字段的唯一性需要额外执行删除唯一性约束sql语句。唯一性约束
设置唯一约束 UNIQUE字段添加唯一约束之后该字段的值不能重复也就是说在一列当中不能出现一样的值
mysql create table 表名(字段 int unique);
为字段添加唯一性约束。
删除唯一约束
在 MySQL 中UNIQUE 约束会被视为一个唯一索引因此需使用 DROP INDEX
mysql alter table t3 drop index 字段;
或者
mysql alter table t3 drop key 字段;