1.先判断表是否存在,存在就先删除表

DROP TABLE IF EXISTS `table_name`;

2. 创建表及表字段

   CREATE TABLE `table_name` (
   `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主表id',
   `name` varchar NOT NULL COMMENT '名称'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3.语句代码

DROP TABLE IF EXISTS `table_name`;
CREATE TABLE `table_name` (
   `id` int NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主表id',
   `name` varchar(20) NOT NULL COMMENT '名称'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4.列参数说明

  1.  列属性字段名

  2. 类属性类型

  • 2.1 数据类型对应表中类的数据类型。11数据类型中详细介绍了如何使⽤数据类型的语法。需要注意以下⼏点:
    1> ⼀些参数不是适⽤于所有类型的,AUTO_INCREMENT只适⽤于整形和浮点型数据,DEFAULT不可⽤于BLOB、TEXT、GEOMETRY
    和JSON类型;
    2> 字符数据类型(CHAR、VARCHAR、TEXT、ENUM、SET及其他)可以指列字符集。CHARSET与CHARACTER SET等效,校验字符
    集可以使⽤COLLATE参数指定。10字符集、校验、解码中有详细介绍。MySQL5.7对于字符列的长度指字符个数,对于BINARY和
    VARBINARY列指字节数。创建⼀个拥有name列的表test,name列使⽤utf8字符集,并使⽤utf8_bin进⾏校验,如下所⽰:
    3> 对于CHAR、VARCHAR、BIANRY和VARBINARY类型的列创建索引时可以使⽤最左长度 col_name(length)语法来制定⼀个索引的
    长度。BLOB和TEXT列设置索引时必须指定索引的长度。索引长度对于字符类型列来说指字符个数,对于⼆进制字符指字节数。只有
    InnoDb和MyIsam引擎才⽀持BLOB和TEXT列创建索引。对于⼀个⾮唯⼀索引列,如果严格的SQL模式被设置时会直接报错,如果没有社
    会严格的SQL模式,索引被键减少到列的最⼤长度并且会产⽣警告;对于唯⼀索引列⽽⾔,因为缩减索引长度可能会导致⾮唯⼀向的插⼊,
    这样就打破了唯⼀索引原则,所以会直接报错。
    4> JSON类型的数据列是不能被设置索引的,如果⾮要如此可以从JSON列中提取相应来⽣成列进⾏索引达到该效果

3.是否为空

       3.1 NULL 与 NOT NULL                                                                                                                     3.2 如果没有指定空与⾮空,则默认为空。在MySQL5.7中只有InnoDB、MyIsam和Memory存储引擎才能⽀持索引列中含有NULL值,其他情况下必须把索引列指定为NOT NULL

4.默认值

      4.1 DEFAULT

5.自增

     5.1 AUTO_CREMENT

6.主键

     6.1 PRIMARY KEY

7.注释说明

      7.1 COMMENT 

Logo

更多推荐