文章目录
1、创建数据表
1、创建数据表
1.1、创建数据表语法
CREATE TABLE <表明>(
字段名1 数据类型[列级别的约束条件] [默认值],
字段名2 数据类型[列级别的约束条件] [默认值],
...
[表级别约束条件]
)
1.2、创建数据表
创建员工表tb_emp1,结构如下
字段名称 | 数据结构 | 备注 |
---|---|---|
id | int(11) | 员工id |
name | varchar(25) | 运功名称 |
deptId | int (11) | 部门Id |
salary | float | 薪资 |
创建数据表语法
CREATE TABLE 表名
CREATE TABLE tb_emp (
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT
)
2、使用主键约束
主键,又叫主码,是表中的一列或多列组合。主键约束(Primary key Constraint)要求主键列的数据唯一,并且不允许为空。主键能够唯一地标识表中的一条数据。主键分为两种类型:单字段主键和多字段联合主键。
2.1 单字段主键
(1)在定义列的同时指定主键
字段名 数据类型 PRIMARY KEY [默认值]
CREATE TABLE tb_emp2 (
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT
)
(2) 在定义完所有列之后指定主键
[CONSTRAINT<约束名>] PRIMARY KEY [字段名]
CREATE TABLE tb_emp3 (
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY (id)
)
2.2 多字段联合主键
主键由多个字段联合组成
PRIMARY KEY [字段1,字段2....]
CREATE TABLE tb_emp4 (
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY (id,name,deptId)
)
3、使用外健约束
外健是用来在两个表的数据之间建立连接,可以是一列或者多列。一个表可以有一个或者多个外健。外健对应的是参照完整性,一个表的外健可以为空值,若不是空值,则每一个外健必须等于另外一个表中主键的某一个值。
外健:首先是一个表中的一个字段,虽然不是本表的主键,但要对应另外一个表的主键。
外健的作用:保证数据的完整性,定义外健后,不允许删除在另外一个表中具有关联关系的行。外健的作用是保持数据的一致性、完整性。
3.1 外健的语法
主表(父表):对于两个具有关联关系的数据表而言,相关联字段中主键所在的表叫主表。
从表(子表):对于两个具有关联关系的数据表而言,相关联字段中外健所在的表叫子表。
[CONTRAINT <外健名>] FORENIGN KEY 字段1[字段2...] REFERENCES <主表名> 主键1 [主键2...]
3.1 外健的使用DEMO
部门表tb_dept的主键Id,与员工表tb_emp中deptId关联
字段名 | 数据结构 | 备注 |
---|---|---|
id | INT (11) | 部门id |
name | VARCHAR(25) | 部门名称 |
location | VARCHAR(25) | 部门位置 |
建立部门表,指定主键(主表)
CREATE TABLE tb_dept(
id INT(11) PRIMARY KEY,
name VARCHAR(20),
location VARCHAR(20)
)
建立员工表,指定外健与部门表id进行关联
CREATE TABLE tb_emp5(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(id),
CONSTRAINT fk_emp_deptid FOREIGN KEY(deptId) REFERENCES tb_dept(id)
)
在tb_emp5上添加名为fk_emp_deptid的外健约束,外健名称为deptId,依赖与tb_dept中的id 字段。
4、使用非空约束
字段名 数据类型 NOT NULL
5、使用唯一性约束
唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值(手机号,身份证号)
5.1 在定义完字段之后直接指定唯一约束
字段名 数据类型 UNIQUE
CREATE TABLE tb_dept(
id INT(11) PRIMARY KEY,
name VARCHAR(20) UNIQUE,
location VARCHAR(20)
)
5.1 在定义完所有字段后接指定唯一约束
CONSISTENT 约束名称 UNIQUE (<字段名>)
CREATE TABLE tb_dept(
id INT(11) PRIMARY KEY,
name VARCHAR(20),
location VARCHAR(20),
CONSISTENT STH UNIQUE(id,name)
)
PRIMARY KEY 和UNIQUE的区别,一个表中可以有多个字段用UNIQUE进行声明,但是只能有一个PRIMARY KEY声明的字段。声明为PRIMARY KEY的字段不允许有空值,声明为UNIQUE的字段允许空值(NULL)的存在。
6、使用默认约束
默认约束(Default Constraint)指定某一列的默认值,如果男同学表多,性别默认为’男’,如果插入的一条新的记录没有为这个字段赋值,系统默认赋值。
字段名 数据类型 DEFAULT 默认值
CREATE TABLE tb_emp5(
id INT(11),
name VARCHAR(25),
deptId INT(11) DEFAULT 1111,
salary FLOAT,
PRIMARY KEY(id)
)
7、设置属性值自动增加
一个表中只有一个字段使用AUTO_INCREMENT约束,并且这个字段必须为主键的一部分。
字段名 数据类型 AUTO_INCREMENT
CREATE TABLE tb_emp5(
id INT(11) PRIKEY KEY AUTO_INCREMENT,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(id)
)
2、查看数据表
DESCRIBE 表名