MySQL 基础知识9 (事务控制和本地化)

一、控制事务处理

1. 相关术语 (如下所示)

(1). 事务(TRANSACTION):指一组SQL语句

(2). 回退(ROLLBACK):指撤销指定SQL语句的过程 (只能在一个事务处理内使用,即START TRANSACTION语句之后)

(3). 提交(COMMIT):指将未存储的SQL语句结果写入数据库表

(4). 保留点(SAVEPOINT):指事务处理中设置的临时占位符,你可以对它发布回退  (与回退整个事务处理不同)

二、事务处理操作

1. 开启事务

-- 开启事务
START TRANSACTION;

SELECT * FROM ordertotals
DELETE FROM ordertotals;
SELECT * FROM ordertotals;

2. 回滚事务

-- 回退事务:ROLLBACK
-- 说明:允许回退的操作语句:INSERT、UPDATE、DELETE语句, 不能回退SELECT、CREATE、DROP语句
ROLLBACK;

3. 提交事务

-- 提交事务:COMMIT
-- 说明:一般MySQL语句都是直接针对数据库表执行和编写的,又称为隐含提交, 即提交(写或保存)操作是自动进行的
START TRANSACTION;
DELETE FROM products WHERE prod_id = 'Test';
COMMIT;

4. 使用保存点

-- 使用保留点:SAVEPOINT
-- 说明1:用于支持回退部分事务处理, 能在事务处理块中合适位置放置占位符(即保留点)
-- 说明2:保留点越多越好 (越多的保留点越能按业务需求处理事务回退)
-- 说明3:释放保留点 (保留点在事务处理完成(执行一条COMMIT或ROLLBACK)后自动释放, 也可用RELEASE SAVEPOINT)
SAVEPOINT delete1;

5. 更改提交方式

-- 更改默认提交行为
-- 默认的MySQL行为是自动提交所有更换的, 任何时候你所执行的一条SQL语句, 实际上都是针对表执行的
-- 为指示MySQL不自动提交更改, 需要使用以下语句:autocommit 是针对每个连接而不是服务器的
SET autocommit = 0;

三、全球化和本地化

1. 相关术语 (如下所示)

(1). 字符集:为字母和符号的集合

(2). 编码:为某个字符集成员的内部表示

(3). 校对:为规定字符如何比较的指令

2. 查看所支持的字符集完整列表

SHOW CHARACTER SET;

3. 查看所支持校对的完整列表 (_cs表示区分大小写, _ci表示不区分大小写)

SHOW COLLATION;

4. 确认字符集和校对的完整列表

SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collation%';

5. 创表时指定字符集和校对

CREATE TABLE mytable(
    id INT,
    name VARCHAR(20)
) DEFAULT CHARACTER SET hebrew
    COLLATE hebrew_general_ci;

6. 数据库用户管理

-- 使用名称为mysql的数据库连接
USE mysql;
-- 查看mysql数据库下user用户表所有的用户
SELECT user FROM user;
-- 创建用户
CREATE USER test IDENTIFIED BY 'test';
-- 重命名用户
RENAME USER test TO alex;
-- 删除用户
DROP USER alex;

7. 数据库用户授权

-- 查看访问权限(设置条件:要授予的权限, 被授予权限的数据库和表, 用户名)
SHOW GRANTS FOR test;
-- 针对用户赋予特定数据库或表的某些权限 (下例表示为test用户授予basic所有表的select权限)
GRANT SELECT ON basic.* TO test;
-- 撤销特定权限:REVOKE
REVOKE SELECT ON basic.* FROM test;

说明:不同层次的控制访问权限 (如下所示)

(1). 整个服务器:使用GRANT ALL 和 REVOKE ALL;

(2). 整个数据库:使用ON DATABASE.*;

(3). 特定数据表:使用ON DATABASE.TABLE;

(4). 特定的列;

(5). 特定的存储过程;

8. 更改用户口令(或密码)

SET PASSWORD FOR 用户名@localhost = PASSWORD('新密码'); 
posted @ 2023-01-28 10:42  像风一样狂奔的独身犬  阅读(44)  评论(0)    收藏  举报