我要投稿 投诉建议

MySQL Create Table语句的应用与语法

时间:2020-12-25 17:00:51 句子 我要投稿

MySQL Create Table语句的应用与语法

  MySQL中createtable语句的基本语法是:

  Create[TEMPORARY]TABLE[IFNOTEXISTS]tbl_name[(create_definition,...)]

  [table_options][select_statement]

  TEMPORARY:该关键字表示用createtable新建的表为临时表,此表在当前会话结束后将自动消失。临时表主要被应用于存储过程中,对于目前尚不支持存储过程的MySQL,该关键字一般不用。

  IFNOTEXISTS:实际上是在建表前加上一个判断,只有该表目前尚不存在时才执行createtable操作。用此选项可以避免出现表已经存在无法再新建的错误。

  tbl_name:你所要创建的表的表名。该表名必须符合标识符规则。通常的做法是在表名中仅使用字母、数字及下划线。例如titles、our_sales、my_user1等都应该算是比较规范的表名。

  create_definition:这是createtable语句中关键部分所在。在该部分具体定义了表中各列的属性。

  create_definition的基本语句是:

  col_nametype[NOTNULL|NULL][DEFAULTdefault_value][AUTO_INCREMENT]

  [PRIMARYKEY][reference_definition]

  orPRIMARYKEY(index_col_name,...)

  orKEY[index_name](index_col_name,...)

  orINDEX[index_name](index_col_name,...)

  orUNIQUE[INDEX][index_name](index_col_name,...)

  or[CONSTRAINTsymbol]FOREIGNKEYindex_name(index_col_name,...)

  [reference_definition]

  orCHECK(expr)

  col_name:表中列的名字。必须符合标识符规则,而且在表中要唯一。

  type:列的数据类型。有的数据类型需要指明长度n,并用括号括起。目前MySQL提供的数据类型详见MySQL进阶_列类型篇。

  NOTNULL|NULL:指定该列是否允许为空。如果既不指定NULL也不指定NOTNULL,列被认为指定了NULL。

  DEFAULTdefault_value:为列指定默认值。如果没有为列指定默认值,MySQL自动地分配一个。如果列可以取NULL作为值,缺省值是NULL。如果列被声明为NOTNULL,缺省值取决于列类型:

  1、对于没有声明AUTO_INCREMENT属性的数字类型,缺省值是0。对于一个AUTO_INCREMENT列,缺省值是在顺序中的`下一个值。

  2、对于除TIMESTAMP的日期和时间类型,缺省值是该类型适当的“零”值。对于表中第一个TIMESTAMP列,缺省值是当前的日期和时间。

  3、对于除ENUM的字符串类型,缺省是空字符串。对于ENUM,缺省值是第一个枚举值。

  AUTO_INCREMENT:设置该列有自增属性,只有整型列才能设置此属性。当你插入NULL值或0到一个AUTO_INCREMENT列中时,列被设置为value+1,在这里value是此前表中该列的最大值。AUTO_INCREMENT顺序从1开始。每个表只能有一个AUTO_INCREMENT列,并且它必须被索引。

【MySQL Create Table语句的应用与语法】相关文章:

计算机应用基础与应用的研究的精品教学12-23

考研英语语法比较结构的例句与解析03-28

职称英语语法之强调与语序03-07

英语语法与句型专项训练试题07-05

与合同有关的英语句子06-16

成人高考英语语法归纳与练习12-21

初中英语语法知识与试题07-30

成语名重一时的解释与应用04-06

数学与应用数学中文简历模板04-01

英语语法强调句知识点与试题09-13