创建mysql表的完整语法

1.语法:
create table 库名.表名(
字段名1 类型[(宽度)约束条件],
字段名2 类型[(宽度)约束条件],
字段名3 类型[(宽度)约束条件]
);
约束条件:是在数据类型之外对字段附加的额外限制
注意:
1.最后一个字段之后不能加逗号
2.在同一张表中,字段名不能相同
3.宽度和约束条件可选,字段名和类型是必须的
2.约束
1.常见约束

not null 非空
default 默认值
auto_increment 自增长
primary key 主键 非空且唯一

实例:

create table t1(
        id int primary key auto_increment,
        name varchar(16) not null,
        sex enum('male','female') not null default 'male' 
                );

插入无特殊情况只需插入name

insert into t1(name) values
            ('dahai'),
            ('xiaohei'),
            ('xiaobai');
  
mysql> select * from t1;
+----+---------+------+
| id | name    | sex  |
+----+---------+------+
|  1 | dahai   | male |
|  2 | xiaohei | male |
|  3 | xiaobai | male |
+----+---------+------+

auto_increment(自己设置初始值)

create table t2(
        id int primary key auto_increment,
        name varchar(20) not null)
        auto_increment = 100;          
   
 插入数据
insert into t2(name) values
        ('dahai'),
        ('xiaohei'),
        ('xiaobai');

mysql> select * from t2;
+-----+---------+
| id  | name    |
+-----+---------+
| 100 | dahai   |
| 101 | xiaohei |
| 102 | xiaobai |
+---------+-----+

2.唯一约束
unique key
实例:
创建方式一

     create table t3(id int unique);

创建方式二

    create table t4(
          id int,
          unique key(id)
                    );

2.2联合唯一(二者加起来是唯一)

    create table t5(
           ip varchar(15),
           port int,
           unique(ip,port)
                    );

站在约束的角度来看 primary key =not null unique

主键:
1.必须有且只有一个主键
2.通常是id字段被设置成主键

    create table t6(
            id int primary key auto_increment
                    );

联合主键(二者加起来是非空且唯一)

    create table t7(
            x varchar(15),
            y int,
            primary key (x,y)
                    );
上一篇:mysql常用指令


下一篇:Docker Swarm 常用命令