-
MySQL相关知识点之并发处理
并发控制:当多个连接对记录进行操作时保证数据的一致性和完整性。
(例如:一张数据表中,两个用户,其中一个用户删除id为22的商品,另一个用户查询id为22的商品,这样可能就会报错,这时就需要并发控制,在处理并发读或者并发写时,系统会使用锁系统解决该问题)
锁:
【1】共享锁(读锁):在同一时间段内,多个用户可以读取同一个资源,读取过程中不会发生任何变化。
【2】排他锁(写锁):在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。
锁颗粒:锁的单位。
——表锁:是一种开销最小的锁策略。
——行锁:是一种开销最大的锁策略。
查看全部 -
自身连接
同一个数据表对其自身进行连接
查看全部 -
UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate = cate_name SET goods_cate = cate_id;
查看全部 -
创建一张表
CREATE TABLE tdb_goods_cates(
cate_id SMALLiNT UNSIGNED PRIMARY KEY AUTO_INCREMENT,cate_name VARCHAR(40) NOT NULL);
查看分类
SELECT goods_cate FROM tdb_goods GROUP BY goods_cate;
将查询结果写入数据表 INSERT SELECT
语法:INSERT tbl_name (列名) SELECT 【不用写value】
INSERT tdb_goods_cates (cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate;
查看全部 -
外连接
A LEFT JOIN B join_condition
数据表B的结果集依赖数据表A
数据表A的结果集是根据做连接条件依赖所有数据表(B表除外)
左外连接条件决定如何检索数据表B(在没有指定WHERE条件的情况下)
如果数据表A的某条记录符合WHERE条件,但是数据表B不存在符合连接条件的记录,将生成一个所有列为空的额外的B行
如果使用内连接查找的记录在连接数据表中不存在,并且在WHERE子句中尝试一下操作:col_name IS NULL时, 如果col_name被定义为NOT NULL ,MySQL将在找到符合连执着条件的记录后停止搜索更多的行
查看全部 -
<> != 不等于 NOT IN
= ANY IN
查看全部 -
SELECT AVG(goods_price) FROM tdb_goods;
SELECT ROUND(AVG(goods_price),2) FROM tdb_goods;
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price >= ( SELECT ROUND(AVG(goods_price),2) FROM tdb_goods );
SELECT goods_price FROM tdb_goods WHERE goods_cate = '超极本';
SELECT * FROM tdb_name WHERE goods_cate = ' 超极本' ;
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price > ANY (MIN(SELECT goods_price FROM tdb_goods WHERE goods_cate = '超极本'));
ANY SOME ALL
查看全部 -
左外连接显示左表的全部记录和右表符合连接条件的记录
查看全部 -
内连接
显示俩表中符合连接条件的记录
查看全部 -
SET NAMES gbk ; (设置客户端的显示格式)
查看全部 -
导入txt文本:source 文本路径
查看全部 -
连接条件
使用ON关键字来设定连接条件,也可以使用WHERE来代替
通常使用ON关键字来设定连接条件
使用WHERE关键字进行结果集记录的过滤
查看全部 -
连接类型
INNER JOIN ,内连接
在MySQL中,JOIN ,CROSS JOIN和INNER JOIN 是等价的
LEFT[OUTER] JOIN,左外连接
RIGHT[OUTER] JOIN 右外连接
查看全部 -
数据表参照
table_reference
tbl_name [[AS] alias] | table_sabquery [AS] alias
数据表可以使用tbl_name AS alias_name
或tbl_name alias_name 赋予别名
table_subquery可以作为子查询使用在FROM子句中
这样的子查询必须为其赋予别名
查看全部 -
MySQL 在SELECT 语句 多表更新 多表删除语句中支持JOIN 操作
语法结构
table_reference
{[INNER|CROSS] JOIN {LEFT|RIGHT} [OUTER] JOIN}
table_reference
ON conditional_expr
基本类型:A表 链接类型 B表 两张表的链接条件
查看全部
举报