MySQL中create table语句的基本语法是

MySQL中create table语句的中坚语法是: 
Create [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,…)] 
[table_options] [select_statement] 
TEMPORAEnclaveY:该重大字表示用create table新建的表为有时表,此表在前段时间对话截止后将机关消失。一时表首要被选拔于积攒进程中,对于当前尚不支持存款和储蓄进程的MySQL,该重大字日常不用。 
IF NOT EXISTS:实际上是在建表前增进叁个肯定,只有该表如今尚不真实时才施行create table操作。用此选项能够幸免现身表已经存在不或然再新建的谬误。 
tbl_name:你所要创立的表的表名。该表名必得相符标记符法则。常常的做法是在表名中仅使用假名、数字及下划线。比如titles、our_sales、my_user1等都应当算是比较规范的表名。 
create_definition:那是create table语句中第后生可畏部分所在。在该部分具体定义了表中各列的属性。 
create_definition的基本语句是: 
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] 
[PRIMARY KEY] [reference_definition] 
or PRIMARY KEY (index_col_name,…) 
or KEY [index_name] (index_col_name,…) 
or INDEX [index_name] (index_col_name,…) 
or UNIQUE [INDEX] [index_name] (index_col_name,…) 
or [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,…) 
[reference_definition] 
or CHECK (expr) 
col_name:表中列的名字。必得符合标志符法规,并且在表中要唯后生可畏。 
type:列的数据类型。有的数据类型须要指明长度n,并用括号括起。近期MySQL提供的数据类型详见MySQL进级_列类型篇。 
NOT NULL | NULL:钦命该列是或不是同意为空。要是既不钦定NULL也不点名NOT NULL,列被以为内定了NULL。 
DEFAULT default_value:为列钦点私下认可值。若无为列内定默许值,MySQL自动地分配一个。如若列能够取NULL作为值,缺省值是NULL。假设列被声称为NOT NULL,缺省值决意于列类型: 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列,並且它必需被索引。

发表评论

电子邮件地址不会被公开。 必填项已用*标注