1.数据库备份和还原
命令行方式:mysql5.5
备份:
mysqldump -uroot -p 库名>保存路径\xx.sql
还原:
登录mysql
删除指定的库
创建新的库
使用库
source xx.sql 指定的路径 --加载sql脚本文件(将sql脚本文件中 所有的表:创建表,添加数据..全部执行)
2.数据库的三大范式
1NF:数据库表每一列不可再拆分(不能拆分的原子性)
2NF:在1NF的基础上,
1)每一张表描述一件事情
2)非主键字段完全依赖于主键字段
3NF:在2NF基础上,所有非主键字段之间不能传递依赖----->拆分表,建立外键多对多关系
学生表student student_class中间表 选课表class
3.多表查询
1)内连接查询
隐式查询 select 字段列表 from 表名1,表名2 where 连接条件
显示查询 select 字段列表 from 表名1 (inner) join 表名2 on 连接条件
2)外连接
左外连接:将左边的数据全部查询以及它和其他表之间的交集数据
select 字段列表 from 左表 left outer join 表名2 on 连接条件...
右外连接:同上
3)子查询:select 嵌套 select 语句
3.1)利用where条件可以携带比较运算符 +结合聚合函数
查询:员工最高工资的员工信息
3.2)利用集合语句in(值1,值2,值3)...
3.3)使用select语句按照某个条件--先出来结果集,在这个结果集上---当作一个表,继续其他表之间关联查询
4.数据库的事务(transaction)
事务是数据库机制:在操作不同的数据项的时候,必须保证多个sql语句要么同时执行成功,要么同时执行失败,是一个不可分割工作单位
事物的特性:传统事务
ACID
原子性
一致性
隔离性
持久性
5.数据库事物的隔离级别
read uncommitted;读未提交(会出现最严重的问题:脏读)
read committed;读已提交:防止脏读,但是会出现不可重复读
repeatable read:可重复读,有效防止脏读,防止不可重复读(maysql的默认隔离级别)
serializable:串行话:级别最高,安全最高,效率低
6.管理事务的操作指令
--从自动提交--切换手动提交
start transaction;
--执行多个sql序列
--如果有问题:回滚事务
rollback;
--没有问题,提交事务
commit;