auto commit

This commit is contained in:
CyC2018
2018-08-06 22:29:40 +08:00
parent ccf76435f8
commit 86c26a7cf6
4 changed files with 58 additions and 47 deletions

View File

@ -19,7 +19,7 @@
* [十八、存储过程](#十八存储过程)
* [十九、游标](#十九游标)
* [二十、触发器](#二十触发器)
* [二十一、事务](#二十一事务)
* [二十一、事务](#二十一事务)
* [二十二、字符集](#二十二字符集)
* [二十三、权限管理](#二十三权限管理)
* [参考资料](#参考资料)
@ -553,7 +553,7 @@ WHERE col5 = val;
# 十八、存储过程
存储过程可以看成是对一系列 SQL 操作的批处理
存储过程可以看成是对一系列 SQL 操作的批处理
使用存储过程的好处:
@ -642,11 +642,11 @@ SELECT @result; -- 获取结果
DELETE 触发器包含一个名为 OLD 的虚拟表,并且是只读的。
UPDATE 触发器包含一个名为 NEW 和一个名为 OLD 的虚拟表,其中 NEW 是可以被修改,而 OLD 是只读的。
UPDATE 触发器包含一个名为 NEW 和一个名为 OLD 的虚拟表,其中 NEW 是可以被修改,而 OLD 是只读的。
MySQL 不允许在触发器中使用 CALL 语句,也就是不能调用存储过程。
# 二十一、事务
# 二十一、事务
基本术语:
@ -708,12 +708,12 @@ SELECT user FROM user;
**创建账户**
新创建的账户没有任何权限。
```sql
CREATE USER myuser IDENTIFIED BY 'mypassword';
```
新创建的账户没有任何权限。
**修改账户名**
```sql
@ -734,18 +734,14 @@ SHOW GRANTS FOR myuser;
**授予权限**
账户用 username@host 的形式定义username@% 使用的是默认主机名。
```sql
GRANT SELECT, INSERT ON mydatabase.* TO myuser;
```
账户用 username@host 的形式定义username@% 使用的是默认主机名。
**删除权限**
```sql
REVOKE SELECT, INSERT ON mydatabase.* FROM myuser;
```
GRANT 和 REVOKE 可在几个层次上控制访问权限:
- 整个服务器,使用 GRANT ALL 和 REVOKE ALL
@ -754,6 +750,10 @@ GRANT 和 REVOKE 可在几个层次上控制访问权限:
- 特定的列;
- 特定的存储过程。
```sql
REVOKE SELECT, INSERT ON mydatabase.* FROM myuser;
```
**更改密码**
必须使用 Password() 函数