您的位置:首页 > 数据库 > MySQL

MySql学习总结

2020-06-21 05:06 447 查看

SQL通用语法

  1. DDL(数据定义语言):create,alter,drop,truncate
  2. DML(数据操作语言):update,delete,insert
  3. DQL(数据查询语言):select,where。。。
  4. DCL(数据控制语言)(了解):grant,revoke
  5. 注释:-- 单行注释,/* */ 多行注释

MySql语法

重点:查询语句

select [distinct]
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序(asc/desc)
limit
分页限定(开始索引,每页数)

约束

  1. 主键约束:primary key
  2. 非空约束:null
  3. 唯一约束:unique
  4. 外键约束:foreign key

数据库设计的范式

第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。
三大范式

  1. 第一范式:表的每一列都是不可分割的原子项
  2. 第二范式:在1NF的基础上,非码属性必须完全依赖于码。

    码:如果在一张表中,一个属性或属性组,被其他所有属性所完全依赖,则称这个属性(属性组)为该表的码。主属性即码属性中的所有属性。

  3. 在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)

多表查询

  1. 内连接查询(类似取交集)
  2. 外连接查询

    左外连接(查询的是左表所有数据以及其交集部分):select 字段列表 from 表1 left [outer] join 表2 on 条件;
    右外连接(查询的是右表所有数据以及其交集部分):select 字段列表 from 表1 right [outer] join 表2 on 条件;

  3. 子查询(查询中嵌套查询,称嵌套查询为子查询)

    子查询为单行单列:作为条件
    子查询为多行单列:作为条件
    子查询为多行多列:可以作为一张新的表

事务

如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。

  1. 事务操作
    开启事务: start transaction;
  2. 回滚:rollback;
  3. 提交:commit;
  • 事务四大特性
      原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。
    1. 持久性:当事务提交或回滚后,数据库会持久化的保存数据。
    2. 隔离性:多个事务之间。相互独立。
    3. 一致性:事务操作前后,数据总量不变。(简单说就是事务提交后就代表事务中的所有操作都已执行成功。)
  • 事务的隔离级别
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: