MySQL基础—韩顺平—2021-04-30

五: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:修改存储引擎:


 


版权声明:本文为qq_43056248原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。