首页 > 数据库 > > MySQL基础(六)
SHOW ENGINES;来查看MySQL支持的存储引擎。
SHOW VARIABLES LIKE '%autocommit%';命令查看MySQL是否是隐式事务。
-- 关闭隐式事务
SET autocommit = 0;
-- 开启事务
START TRANSACTION;
-- 一系列的SQL操作
-- 结束事务:提交事务(COMMIT)或回滚事务(ROLLBACK)
COMMIT[ROLLBACK];
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`balance` double NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `account` VALUES (1, '张三', 3000);
INSERT INTO `account` VALUES (2, '李四', 2000);
SET autocommit = 0;
START TRANSACTION;
UPDATE account SET balance = balance - 500 WHERE username = '张三';
UPDATE account SET balance = balance + 500 WHERE username = '李四';
COMMIT;
数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种并发问题。更新但是还没提交的字段。之后,如果T2回滚,T1读取的内容就是临时且无效的。| 隔离级别 | 描述 |
| ---------------------------- | -------------------------------------------- |
| READ UNCOMMITTED(读未提交) | 会出现脏读、不可重复读、幻读 |
| READ COMMITTED(读已提交) | 解决了脏读,会出现不可重复读、幻读 |
| REPEATABLE READ(可重复读) | 解决了不可重复读、幻读,会出现幻读 |
| SERIALIZABLE(串行化) | 解决了脏读、不可重复读、幻读,但性能十分低下 |
需要注意的是:
Oracle默认支持2种事务隔离级别:READ COMMITTED(读已提交)和SERIALIZABLE(串行化)。Oracle默认的事务隔离级别是READ COMMITTED(读已提交)。
MySQL支持4种事务隔离级别。MySQL默认的事务隔离级别是REPEATABLE READ(可重复读)。
-- 查看当前事务的隔离级别
SELECT @@tx_isolation;
SET TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE];
SET GLOBAL TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE];
动态生成的,只保存了SQL的逻辑,不保存查询结果。CREATE VIEW 视图名
AS
查询语句;
CREATE VIEW v1
AS
SELECT
e.last_name,
d.department_name,
j.job_title
FROM
employees e
INNER JOIN departments d ON e.department_id = d.department_id
INNER JOIN jobs j ON e.job_id = j.job_id;
SELECT * FROM v1 WHERE last_name like '%a%';
CREATE OR REPLATE VIEW 视图名
AS
查询语句;
ALTER VIEW 视图名
AS
查询语句;
DROP VIEW 视图名,视图名,……;
DESC 视图名;
SHOW CREATE VIEW 视图名;来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3124113/ ,如需转载,请注明出处,否则将追究法律责任。