create table语法

2023-07-11 12:00:41

您好,今天帅帅来为大家解答以上的问题。create table语法相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、MySQL中create table语句的基本语法是:  Create [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]  [table_options] [select_statement]  TEMPORARY:该关键字表示用create table新建的表为临时表,此表在当前会话结束后将自动消失。

2、临时表主要被应用于存储过程中,对于目前尚不支持存储过程的MySQL,该关键字一般不用。

3、  IF NOT EXISTS:实际上是在建表前加上一个判断,只有该表目前尚不存在时才执行create table操作。

4、用此选项可以避免出现表已经存在无法再新建的错误。

5、  tbl_name:你所要创建的表的表名。

6、该表名必须符合标识符规则。

7、通常的做法是在表名中仅使用字母、数字及下划线。

8、例如titles、our_sales、my_user1等都应该算是比较规范的表名。

9、  create_definition:这是create table语句中关键部分所在。

10、在该部分具体定义了表中各列的属性。

11、  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:表中列的名字。

12、必须符合标识符规则,而且在表中要唯一。

13、  type:列的数据类型。

14、有的数据类型需要指明长度n,并用括号括起。

15、目前MySQL提供的数据类型详见MySQL进阶_列类型篇。

16、  NOT NULL | NULL:指定该列是否允许为空。

17、如果既不指定NULL也不指定NOT NULL,列被认为指定了NULL。

18、  DEFAULT default_value:为列指定默认值。

19、如果没有为列指定默认值,MySQL自动地分配一个。

20、如果列可以取NULL作为值,缺省值是NULL。

21、如果列被声明为NOT NULL,缺省值取决于列类型: 对于没有声明AUTO_INCREMENT属性的数字类型,缺省值是0。

22、对于一个AUTO_INCREMENT列,缺省值是在顺序中的下一个值。

23、 2、对于除TIMESTAMP的日期和时间类型,缺省值是该类型适当的“零”值。

24、对于表中第一个TIMESTAMP列,缺省值是当前的日期和时间。

25、3、对于除ENUM的字符串类型,缺省是空字符串。

26、对于ENUM,缺省值是第一个枚举值。

27、  AUTO_INCREMENT:设置该列有自增属性,只有整型列才能设置此属性。

28、当你插入NULL值或0到一个AUTO_INCREMENT列中时,列被设置为value+1,在这里value是此前表中该列的最大值。

29、AUTO_INCREMENT顺序从1开始。

30、每个表只能有一个AUTO_INCREMENT列,并且它必须被索引。

本文就为大家分享到这里,希望小伙伴们会喜欢。

免责声明:本文来源网友投稿及网络整合仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。投诉邮箱:1765130767@qq.com。
本文地址: