
MySQL
吴顺达
这个作者很懒,什么都没留下…
展开
-
数据库事务四种隔离级别
多个并发的事务同时访问一个数据库时,一个事务不应该被另一个事务所干扰,每个并发的事务间要相互进行隔离四种隔离级别读未提交可以读到未提交的内容,因此,在这种隔离级别下,查询是不会加锁的,也由于查询的不加锁,所以这种隔离级别的一致性是最差的。读提交只能读到已经提交了的内容。会发生不可重复读 ,两个并发的事务,事务A事先读取了数据,事务B紧接了更新了数据,并提交了事务,而事务A再次读取该数据时,数据已经发生了改变。可重复读专门针对“不可重复读”这种情况而制定的隔离级别,是MySql的默认隔离级别。原创 2020-10-13 23:20:12 · 198 阅读 · 0 评论 -
SQL 限制查询结果
1.限制不同结果 DISTINCT2. 限制行数Top(SQL server,Access)FETCH FIRST ? ROWS ONLY(DB2)ROWNUM(Oracle)LIMIT(MySQL,MariaDB,PostgreSQL,SQLite)限制不同的返回结果,使得查询结果不会出现相同SELECT DISTINCT prod_id FROM orderitems限...原创 2019-07-01 23:42:24 · 700 阅读 · 0 评论 -
MySQL 多表查询 内联结 与外联结
联结将一个表中的行与另一个表中的行相关联。如果只需要找出已经关联的行可以用内联结或者等值联结(等值联结也为内联结的一种);若要找出已经关联的行以及未关联的行可以使用外联结:左外连接,右外联结查询已经关联的行:查询购买过商品的顾客以及订单信息将顾客表中cust_id与订单表中cust_id一致的列进行关联,最后得出结果SELECT customers.cust_id,orders.or...原创 2019-06-03 15:12:42 · 755 阅读 · 0 评论 -
MySQL 自联结 自连接
自联结顾名思义就是把一张表假设为两张一样的表,然后在做“多表查询”例如想于下方表中找出与在“爱艺奇”公司的客户同名的顾客。第一步:找出在“爱艺奇”的客户的姓名,第二步:从全表中去查询姓名与第一步查询出来一样的客户1. 第一种解决方案:子查询where cust_name in ,“in”不能写成“=”,不然容易报错。因为子查询有可能返回的是多条记录。这跟子查询只能返回单列无关,单列与单行...原创 2019-06-02 21:31:39 · 7976 阅读 · 3 评论 -
MySQL 分组数据 GROUP BY的使用
用来将返回进行分组GROUP BY通俗的说就是对SELECT 出来的结果进行分组,不会出现相同的,相同的会进行合并SELECT vend FROM products GROUP BY vendGROUP BY 与 COUNT(*)GROUP BY 与 COUNT(*)一起用来统计vend一样的共有多少条记录SELECT vend,COUNT(*) AS num_prods ...原创 2019-05-29 15:31:56 · 424 阅读 · 0 评论 -
MySQL多表查询 联结表 等值联结
一般在创建数据库时候 将数据分为多个表更能有效的存储,处理数据,但是在查询的时候,要用一条语句检索出数据,就得用到联结。笛卡儿积在说联结前需要先明白笛卡儿积例如,A={a,b}, B={0,1,2},则A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}B×A={(0, a), (0, b), (1, a), (1, b), (2, a...原创 2019-06-01 14:06:39 · 399 阅读 · 0 评论 -
MySQL多表查询where子查询
SQL不仅支持单条的检索数据查询还允许创建子查询,即嵌套在其他查询中的查询。表结构:https://blog.youkuaiyun.com/wsdfym/article/details/90722724当前有用户表,以及订单表,订单详细表时,需要查询购买了某商品Id为“1001”的商品的客户信息如果用单条语句查询需要先从订单详细表查询商品ID为“1001”的购物订单ID再从订单表查询该购物订单id...原创 2019-05-31 21:49:32 · 5485 阅读 · 1 评论 -
MySQL表结构
原创 2019-05-31 20:50:59 · 280 阅读 · 0 评论 -
MySQL 聚合函数
经常需要汇总好的数据而不用把他们实际检索出来,使用聚合函数即可AVG() 返回某列的平均值COUNT() 返回某列的行数MAX() 返回某列的最大值MIN() 返回某列的最小值SUM() 返回某列值之和下面一一介绍这些函数AVG()通过对表的计算得出平局值SELECT AVG(price) AS avg_price FROM productsCOUNT()用来确定...原创 2019-05-28 22:56:30 · 1534 阅读 · 3 评论 -
mysql的between的边界取值,范围取值
MySQL中BETWEEN是包含两边界值的,表示在此范围内,并且包含此值SELECT ID FROM CUST WHERE ID BETWEEN 1 AND 3=》SELECT ID FROM CUST WHERE ID >=1 and ID <=32. MySQL中NOT BETWEEN 是不包含两个边界的,表示不在此范围内SELECT ID FROM CUST WH...原创 2019-05-25 20:37:53 · 3372 阅读 · 0 评论