五:CRUD(create、read、update、delete)
4)Select:(单表、单表加强 和 多表)
a:基本语法:
-- 基本语法
select distinct * from employee;
-- 使用表达式 对查询的列进行运算
select (yuwen + yingyu) from employee;
-- 在 select 语句中,可使用 as 语句,指定别名
select age as user_age from employee;
b:在 where 语句中,经常使用的运算符:
c:使用 order by 子句,排序查询结果:(NULL 默认为 最大值)
-- 升序
select * from employee order by id asc;
-- 降序
select * from employee order by id desc;
e:分组函数 / 分组后筛选:group by / having
思考:分组后,在组内生成唯一自增id。
e:表查询加强:(单表)
-- like 模糊查询,默认不区分大小写,
-- 若要区分,加上 BINARY 关键字;
SELECT * FROM users WHERE pwd LIKE BINARY 'e%'
-- 分页查询 :从 第 1+1 行开始,显示几条记录
select * from users LIMIT 1,2;
-- 推倒公式
select * from users
LIMIT 每页显示的记录数 * (第几页- 1),每页显示记录数;
-- 查询不同角色的男女人数
SELECT userRole u,
(SELECT COUNT(*) FROM student WHERE sex = '男' AND userRole = s.userRole) 男,
(SELECT COUNT(*) FROM student WHERE sex = '女' AND userRole = s.userRole) 女
FROM student s
GROUP BY userRole
e:表查询加强:(多表)(难点)(先熟悉表结构)
1.多表连接 查询:
2. 自连接:
3.多行 单列 子查询:(要搭配:IN,ANY,ALL 等使用)
4. any / all
5. 单行 多列 子查询:使用 :(,,)=(,,)
5. 单行单列 子查询:返回一个值
5. 多行多列 子查询:(当成一张表看)
6.表复制 和去重:
自我复制,表内记录呈指数增长;
去重复
7.合并查询:union 、union all
十 :事务(难点->还有分布式事务)
5)隔离级别:
a:事务隔离级别介绍:
b:引发的问题:
c:事务隔离级别:(定义了 事物与事物之间的 隔离程度)
d:举例说明事物的隔离级别:(隔离级别 是和事务相关的) (两个控制台操作)
e:事务操作语句:
若要永久修改,直接修改配置文件:
6)ACID:
-- 查询mysql 隔离级别
select @@transaction_isolation;
-- 设置 隔离级别:
set session transaction isolation level read UNCOMMITTED
十一:增加: 存储引擎详解、视图、Mysql 用户管理;
1)存储引擎:
b:基本介绍:
-- 查询全部存储引擎:
【 show engines; 】
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
-- 查询默认的存储引擎:
【 show variables like 'default_storage_engine'; 】
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| default_storage_engine | InnoDB |
+------------------------+--------+
1 row in set (0.00 sec)
b:主要的 存储引擎 、 表类型特点:
c:存储引擎举例:
innoDB:支持事务 ,支持外键,支持行级锁。
myisam:添加速度快,不支持事务,不支持外键,支持表级锁。
memory:数据存储在内存中【重启mysql服务,数据丢失,但是表结构还在】,执行速度快(没有 IO 读写),默认支持索引(hash 表)
d:如何选择:
e:查看 默认、当前 存储引擎:show variables like '%storage_engine%';
e:修改存储引擎: