核心:介绍创建数据表的语法形式,添加主键、外键、非空约束….
1. 创建表
先用USE test_db指定使用test_db数据库
-- USE test_db
CREATE TABLE tb_emp1
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT
)
可以使用SHOW TABLES查看,最基础的建表就是这样了。
2. 使用主键约束
关系型数据库中的主键均不能为空,不管是单一列做为主键还是多列组合做为主键,都是不允许的
CREATE TABLE tb_emp2
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT
)
也可以是多个主键
CREATE TABLE tb_emp2
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(id,name,deptId )
)
在设计里可以看到确实成功了
3. 使用外键约束
外键是干嘛的:比如一张员工表【有部门id】,一张部门表【主键就是部门的id】,当我们添加员工的时候,必须要有他对应的部门,不然我就不让你添加,就是这个意思了,主要是保证数据的完整性
主表:部门表——关联字段主键所在的表
从表:员工表——关联字段外键所在的表
注意:一个表中不能有相同名称的外键名
部门表
创建部门表
CREATE TABLE tb_dep1
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
)
创建员工表
CREATE TABLE tb_emp5
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dep1 FOREIGN KEY(deptId) REFERENCES tb_dep1(id)
)
4. 使用非空约束
字段名 数据类型 NOT NULL
5 使用唯一性约束
唯一性约束要求该列唯一,允许为NULL
字段名 数据类型 UNIQUE
CREATE TABLE tb_dep2
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) UNIQUE,
location VARCHAR(50)
)
6. 使用默认约束
如果是空值,就会使用默认值
CREATE TABLE tb_emp8
(
id INT(11) PRIMARY KEY,
name VARCHAR(25) DEFAULT ‘安娜’ ,
deptId INT(11) ,
salary FLOAT,
CONSTRAINT fk_emp_dep2 FOREIGN KEY(deptId) REFERENCES tb_dep1(id)
)
7. 设置自增
通常用于主键id,每次添加数据的时候都会+1
AUTO_INCREMENT
CREATE TABLE tb_emp9
(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(25) DEFAULT '张三' ,
deptId INT(11) DEFAULT 111,
salary FLOAT DEFAULT 9999,
CONSTRAINT fk_emp_dep4 FOREIGN KEY(deptId) REFERENCES tb_dep1(id)
)
ok,就写到这里了,其实这些在图形化工具上可以直接操作,之所以还写,一是为了加强知识,二是以后说不定可以装装逼啊