MySQL(基础篇)
My SQL基础
目录
MySQL概述
数据库相关概念
市场前十的数据库应用
My SQL数据库
数据库
数据模型
小结
SQL
需要学习SQL的运用
SQL通用语法
SQL分类
1.DDL 数据库定义语言(Data Definition Language)
数据库
表结构
创建表的语法格式
数据类型及案例
数据类型
日期类型
案例:建表
表操作
添加字段名
修改字段名
删除字段名
修改表名
删除整表
DDL操作总结
2.DML数据库操作语言(Data Mainpulation Language)
给字段添加数据 insert
添加字段的注意点
添加的值和字段名要一一对应 保持一致
修改数据update
案例示范:
删除数据delete
案例示范:
DML小结
3.DQL数据库查询语言(Data Query Language)
DQL语法
DQL基本查询
基本查询的案例:
DQL条件查询
DQL查询案例:
DQL聚合函数
select class,max(credit) from tengshiyi where group by class;
注意点:所有null值不参与聚合函数运算
DQL聚合函数案例
DQL分组查询
分组查询案例
DQL排序查询
select * from tengshiyi order by credit asc limit 2,4;select class,gender,max(credit) from tengshiyi group by class,gender,credit order by credit desc; select * from tengshiyi where birthday not in MONTH(10);
DQL排序查询案例
DQL分页查询
*重要公式:起始索引=(页码-1)内容条数
案例:
DQL语句案例练习:
DQL执行顺序
执行顺序的验证(表别名和字段别名):
DQL重点小结
4.DCL数据库控制语言(Data Contorl Language)
DCL管理用户
DCL权限控制
权限控制语法
语法实操
DCL小结
内置函数
字符串函数
字符串实操
案例:
数值函数
随机生成6位数–案例:
日期函数
select * from tengshiyi where month(birthday)<>10;select class,sum(credit) from tengshiyi where sum(credit) > 50 group by class,credit;
流程控制函数
案例1:
案例2:
DCL重点小结
5.约束
约束概念(主键约束)
运用约束创建表结构
验证约束
外键约束(多表)
添加外键和删除外键的语法
删除外键之后删索引
添加外键
删除外键
主键与外键在表中的显示
外键删除更新行为
约束重点小结
6.多表查询
多表关系
- 一对多(多对一)
- 多对多
多表查询概述
笛卡尔积:
查询多表以及消除笛卡尔积:
多表查询
内连接
内连接案例:
外连接
外连接案例:
select e.ename,e.sal
from emp e
join deptno d
on e.deptno= d.deptno;select e.ename,m.ename
from emp e
join emp m
on e.mgr = m.epno;select e.ename,e.deptno,m.deptno,e.mgr
from emp e
join emp m
on e.mgr=m.empno
where e.deptno = 7369;select d.dname,d.address,e.ename,e.sal
from emp e
join deptno d
on e.empno = d.deptnoselect
from emp e
join dept d
on
自连接
自连接案例:
联合查询-union
联合查询案例:
子查询
标量子查询
标量子查询基础概念
子查询案例1:
子查询案例2:
列子查询
列子查询案例1:
列子查询案例2:
列子查询案例3:
行子查询
行子查询的基本概念
行子查询案例:
第一步:查询jones的工资
select e.sal from emp e where e.ename = 'JONES';
第二步: 查询所有工资高于JONES的员工信息
select * from emp e where sal> (select e.sal from emp e where e.name = 'JONES');
表子查询
表子查询案例:
多表查询sql语句编写
案例1,2:
案例3:
案例4,5:
案例6:
案例7:
案例8:
案例9:
案例10:
案例11:
案例12:
多表查询重点小结
7.事务
事务的简介
事务操作语法
银行转账的事务案例
事务的四大特性(ACID)
并发事务问题
脏读:事务b读取到了事务a更新之后还未提交的数据
不可重复读:事务b读取到事务a更新的数据,在事务a的重复语句执行之后事务b读取到相同的数据则不会改变
幻读:两个事务重复执行,出现了事务不可重复读的事务并发问题(冲突),因此数据不会改变 当认为数据会有改变时,再查询发现数据插入的数据没有改变
事务隔离级别
**注意点:事务隔离级别越高,安全性越高,性能越低
事务隔离级别:read uncommitted
事务隔离级别:read committed
事务隔离级别:Repeatable Read(默认)
事务隔离级别:Serializable