mysql 笔记第三天

1.主键约束:primary key 
注意:含义:非空且唯一
2.一张表只能有一个字段为主键
3.主键就是表中华的唯一标识
在创建表时,添加主键约束
creat table stu(
id int primary key,--给ID添加主键约束
name varchar(20)
);
-- 主键删除:
ALTER TABLE student DROP PRIMARY KEY;
-- 创建完表之后,添加主键
ALTER TABLE student MODIFY id INT PRIMARY KEY;
自动增长*****
概念:如果某一列是数值类型的,使auto_increment可以完成自动增长
creat table stu(
id int primary key uto_increment,--给ID添加主键约束
name varchar(20)
);

insert into student values(null,'ccc');
根据上一条记录的值进行增长
删除自动增长: 
alter table stu modify id int;
因为主键删不了 所以不会删掉
alter table stu modify id int auto_increment;

注意  它一般跟主键在一起 


4.外键约束:foreign key
存在形式:数据有冗余(就是一个值对应一个值 所有A对应所有B)
我们可以拆成两个表
在创建表时,可以添加外键
语法:create table 表名(
...
外键列
 constraint 外键名称 foreign key (外键列名称) references 主键列表(主表列名称)
); 

让表于表产生关系,从而保证数据的正确性

2.删除外键
ALTER TABLE employee drop foreign key emp_dep_fk;
ALTER TABLE 删除的表名 drop foreign key 关联键名

3.创建表之后,添加外键

ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id)

级联操作 on update cascade

添加外键,设置级联更新:ALTER TABLE employee ADD CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCES department(id)on
update cascade;


添加外键,设置级联更新:ALTER TABLE employee ADD CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCES department(id)on
update cascade on delete cascade ;

级联删除
on delete cascade
级联删除也可以单独使用

数据库的设计:
多表之间的关系:
1.1对1 :可以在任意一方添加外键只想另一方的主键,但是要让这个外键唯一 unique


2.1对多:在多的地方建立外键,来指向一的一方的主键
3.多对多实现:
建立一个中间表,中间表至少包含两个字段,这两个字段分别作为第三张表的外键,分别指向两张表的主键。
2.数据库设计的范式:设计数据库时  需要遵循的规范,要遵循后面的范式要求,必须遵循前边的所有范式。


第一范式(1NF)是指在关系模型中,对于添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项
第二范式(2NF)在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)
几个概念:1.A--》B如果通过A属性的值,可以确定唯一B属性的值,则称B依赖于A  比如说学号
2.完全函数依赖:A--》B   A是一个属性组 则B属性值的确定需要依赖于A的属性中所有的属性值
3.部分函数依赖: A--》B如果A是一个属性组 则B属性值得确定只需要依赖A属性组的某一些值即可。
4.传递函数依赖:A--》B  B--》C  如果通过A属性的值,可以确定唯一B属性的值,在通过B的属性值可以确定唯一C的属性值,则称C传递依赖于A
5.码:如果在一张表中,一个属性火属性组,被其他所有属性所完全依赖,则称这个属性为该表的码
主属性:码属性组中的所有属性
非主属性:
第三范式(3NF)在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)


命令行:语法   mysqldump -u用户名 -p密码   保存的数据库名称 > 保存的路径---备份的语法
           1.登录数据库
    2.创建数据库
    3.使用数据库
    4.执行文件 sourece 文件路径

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值