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.常见表选项及约束的主要内容,如果未能解决你的问题,请参考以下文章

MySQL常见建表选项及约束

MySQL常见建表选项及约束

MySql常见约束

Mysql 常见数据类型及约束

MySql 常见约束

MySQL 常见约束