MySQL进阶

MySQL进阶

MySQL查询

一、事务

性质:

​ 1.原子性:c操作是不可分割的,最小单位,在MySQL当中默认一个SQL语句就是一个事务,一个原子

​ 2.一致性

​ 3.夺隔离性

​ 4.夺持久性

什么时候使用事务:

如果有多个操作,我们需要保证数据的安全性,要么都执行成功要么都执行失败,就是使用事务,

但事务会增加执行时间,降低执行效率,但是会保证安全

效率换安全:

文章,新闻,快速浏览的信息(数据不需要保证安全,讲究读取效率)

转账,订单(要安全)

BEGIN; // 开始事务
UPDATE `account` SET `money` = `money` - 100 WHERE `id` = 2;
UPDATE `account` SET `money` = `money` + 100 WHERE `id` = 1;
COMMIT; // 提交保存

查询所有数据

SELECT * FROM `表名`; // SELECT 后面跟上要查询的字段, * 号代表所有字段,一般来说,查询所有字段最耗时长的,所以今后查询数据尽可能按需所取
SELECT `字段`,`字段`,`字段` FROM `表名`;
SELECT `字段`,`字段` FROM `表名` WHERE `字段` = 条件 , `字段` = 条件;

取别名:

SELECT `s` . * FROM `表名` AS `S`; // 取别名

模糊查询:

SELECT * FROM `表名` WHERE `name` LIKE `%i%`;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-njf9rsTi-1660018607390)(C:\Users\25397\AppData\Roaming\Typora\typora-user-images\image-20220417012916828.png)]

SELECT * FROM `Rank` AS `R` INNER JOIN `Emplpyee` AS `E`ON`R`.`RankID` = `E`.`RankID`;  // 内连接
SELECT * FROM `Rank` AS `R` LEFT JOIN `Emplpyee` AS `E` NO `R`.`RankID` = `E`.`RankID`; // 左连接
SELECT * FROM `Rank` AS `R` RIGHT JOIN `Emplpyee` AS `E` NO `R`.`RankID` = `E`.`RankID`; // 右连接
SELECT * FROM `Rank` UNION SELECT * FROM `Emplpyee`; // 全连接

排序:

SELECT * FROM `表名` AS `别名` ORDER BY `别名` // 升序排序
SELECT * FROM `表名` AS `别名` ORDER BY `别名` DESC // 降序
SELECT * FROM `表名` AS `别名` ORDER DY `别名` DESC LIMIT 3 
// 显示前三行

MySQL函数:ABS,MAX,MIN,ROUND,AVG,SUM等

SELECT AVG(`字段`) FROM `表名`  // 查询字段的平均值
ALTER TABLE `表名` ADD INDEX `索引名`(`字段`);

ELECT AVG(`字段`) FROM `表名`  // 查询字段的平均值
ALTER TABLE `表名` ADD INDEX `索引名`(`字段`);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值