MySQL.常见表选项及约束
Posted jacky912
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL.常见表选项及约束相关的知识,希望对你有一定的参考价值。
1.create table 选项
1.指定列选项 default、comment
2.指定表选项 engine、auto_increment、comment
2.create table 约束
1.非空约束:not null
2.唯一约束:unique
3.主键约束: primary key
4.外键: foreign key
5.检查enum、set:chect
一、create table 选项
a. 定义列的时候,指定列选项
1.default<literal>:定义列的默认值
当插入一个新行到表中并且没有给该列明确赋值,如果定义了列的默认值,将自动得到默认值,如果没有,则为null
也可以在insert和 update 语句中使用 default 关键字给默认值赋值,函数default(column)也得到一个列的默认值
2.comment 用来给列添加注释,最多为255个字符,注释将会保存在数据字典中
b. 在create table 语句中的表选项
1.engine :指定表使用的储存引擎 #储存引擎:决定了表中的数据如何存储以及如何访问,还有事务如何处理
mysql中允许对每个表使用不同的储存引擎,如果在create table 中没有使用储存引擎,则使用默认的储存引擎。
MySQL > show engines #查询所有支持的储存引擎
(储存引擎是重点)
2.auto_increment :决定当前表中插入第一行时,自增列得到的第一个值是多少
3.comment:给表添加注释
二、create table 约束
作用:可以为列定义约束(constraint)
约束主要是防止非法数据进入表中,确保数据的正确性和一致性(统称数据完整性)
约束也可以防止一个表被删除
注意:1.MySQL中约束保存在表中,可以通过表查询约束信息
2.进行约束的时间:使用create table语句、使用alter table语句
常见的约束类型有5种:1.not null 非空约束,指定某列不能为空
2.unique 唯一约束,指定某列和几列组合的数据不能重复
3.primary key 主键约束,指定某列的数据不能重复、唯一
4.foreign key 外键,指定该列记录属于主表中的一条记录,参照另一条数据
5.check 检查,指定一个表达式,用于检查指定数据
注意:1.not null 约束只能在列级别定义,作用在多个列上约束只能定义在表级别,例如复合主键约束
2.列级别上不能定义外键约束,并且不能给约束起名字,有MySQL自动命名(not null除外)
· 3.表级别上定义的约束可以给约束起名字(check除外)
1.not null 非空约束
作用:确保当前列的值不能为空
注意:非空约束只能出现在表对象的列上
2.
以上是关于MySQL.常见表选项及约束的主要内容,如果未能解决你的问题,请参考以下文章