数据库表的设计

comment: 在sql语句的后面表示,注释的字段

primary key == 主键 等价于 唯一 (UNIQUE) 且 非空 (NOT NULL)

 主键约束的相关:
        主键约束:就是一种约束。
        主键字段:该字段上添加了主键约束,这样的字段叫做:主键字段
        主键值:主键字段中的每一个值都叫做:主键值  primary key

auto_increment key 主键自动增长

mysql中的unsigned   既为非负数,用此类型可以增加数据长度!

例如如果    tinyint最大是127,那    tinyint    unsigned    最大   就可以到    127 * 2

unsigned 属性只针对整型, 而binary属性只用于char 和varchar

 

表的关系:

一对一: 用户 和用户详情

实现方式:  在任意一方通过加入外键,关联另一方主键按,并且设置为外键唯一

一对多:部门和员工

实现方式: 在多的一方建立外键,指向一的一方的主键

多对多: 订单表和商品表

实现方式:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

外键:

外键约束:

  [CONSTRAINT] [外键名称] FOREIGN KEY(外键列名) REFERENCES 主表(主表列名)

-- 创建表时添加外键约束
CREATE TABLE 表名(
   列名 数据类型,
   …
   [CONSTRAINT] [外键名称] FOREIGN KEY(外键列名) REFERENCES 主表(主表列名) 


); 


-- 1.创建表添加外键实例

-- 部门表
CREATE TABLE dept(
	id int primary key auto_increment,
	dep_name varchar(20),
	addr varchar(20)
);
-- 员工表 
CREATE TABLE emp(
	id int primary key auto_increment,
	name varchar(20),
	age int,
	dep_id int,

	-- 添加外键 dep_id,关联 dept 表的id主键
	CONSTRAINT fk_emp_dept FOREIGN KEY(dep_id) REFERENCES dept(id)	
);

添加数据
-- 添加 2 个部门
insert into dept(dep_name,addr) values
('研发部',
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值