MySql学习--数据表的基本操作--创建数据表

核心:介绍创建数据表的语法形式,添加主键、外键、非空约束….

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,就写到这里了,其实这些在图形化工具上可以直接操作,之所以还写,一是为了加强知识,二是以后说不定可以装装逼啊

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值