计算机网络/计算机科学与应用/系统/运维/开发

MySQL8 创建数据表

一、创建数据表

CREATE TABLE <表名>
(
    字段名1,数据类型 [列级别约束条件] [默认值],
    ...
    [表级别约束条件]
);


二、主键约束


1、单字段主键

1-1、定义列的同时指定主键

字段名 数据类型 PRIMARY KEY [默认值]

mysql> CREATE TABLE tb_emp2
    -> (
    -> id int primary key,
    -> name varchar(25),
    -> deptId int,
    -> salary float
    -> );
Query OK, 0 rows affected (0.07 sec)


1-2、定义完所有列之后指定主键

[CONSTRAINT <约束名>] PRIMARY KEY [字段名]

mysql> CREATE TABLE tb_emp3
    -> (
    -> id int,
    -> name varchar(25),
    -> deptId int,
    -> salary float,
    -> primary key(id)
    -> );
Query OK, 0 rows affected (0.07 sec)


2、多字段联合主键

PRIMARY KEY [字段1,字段2,...,字段n]

mysql> CREATE TABLE tb_emp4
    -> (
    -> name varchar(25),
    -> deptId int,
    -> salary float,
    -> primary key(name,deptId)
    -> );
Query OK, 0 rows affected (0.05 sec)

三、外键约束


四、非空约束

字段名 数据类型 not null

mysql> CREATE TABLE tb_emp6
    -> (
    -> id int primary key,
    -> name varchar(25) not null,
    -> deptId int,
    -> salary float
    -> );
Query OK, 0 rows affected (0.05 sec)


五、唯一约束

1.在定义完列之后直接指定唯一约束

字段名 数据类型 UNIQUE

CREATE TABLE tb_dept2
(
  id int primary key,
  name varchar(22) unique,
  location varchar(50)
);


2.在定义完所有列之后指定唯一约束

[constraint <约束名>] unique(<字段名>)

create table tb_dept3
(
  id int primary key,
  name varchar(22),
  location varchar(50),
  constraint sth unique(name)
);


UNIQUE和PRIMARY KEY的区别:

一个表中可以有多个字段声明为UNIQUE,但只能有一个PRIMARY KEY

声明为PRIMAY KEY的列不允许有空值,但是声明为UNIQUE的字段允许空值(NULL)的存在


六、默认约束

字段名 数据类型 default 默认值

create table tb_emp7
(
  id int primary key,
  name varchar(25) not null,
  deptId int default 1111,
  salary float
);


七、设置表属性值自动增加

字段名 数据类型 auto_increment

create table tb_emp8
(
   id int primary key auto_increment,
   name varchar(25) not null,
   deptId int,
   salary float
);


日子是崭新的,不要回头看,如果今年还掉眼泪,希望是喜极而泣。

评论

^