mysql修改字段类型语句 mysql修改字段类型


mysql修改字段类型语句 mysql修改字段类型


IF EXISTS的含义user的指定auth_option选项IDENTIFIED BY 'auth_string'IDENTIFIED WITH auth_pluginIDENTIFIED WITH auth_plugin BY 'auth_string'IDENTIFIED WITH auth_plugin AS 'auth_string'tls_option选项resource_option选项password_option选项lock_option选项修改用户的语法
在MySQL中修改用户的语法如下:
ALTER USER [IF EXISTS]
user [auth_option] [, user [auth_option]] …
[REQUIRE {NONE | tls_option [[AND] tls_option] …}]
[WITH resource_option [resource_option] …]
[password_option | lock_option] …
ALTER USER [IF EXISTS]
USER() IDENTIFIED BY 'auth_string'
user:
(see Section 6.2.4, “Specifying Account Names”)
auth_option: {
IDENTIFIED BY 'auth_string'
| IDENTIFIED WITH auth_plugin
| IDENTIFIED WITH auth_plugin BY 'auth_string'
| IDENTIFIED WITH auth_plugin AS 'auth_string'
}
tls_option: {
SSL
| X509
| CIPHER 'cipher'
| ISSUER 'issuer'
| SUBJECT 'subject'
}
resource_option: {
MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
}
password_option: {
PASSWORD EXPIRE
| PASSWORD EXPIRE DEFAULT
| PASSWORD EXPIRE NEVER
| PASSWORD EXPIRE INTERVAL N DAY
}
lock_option: {
ACCOUNT LOCK
| ACCOUNT UNLOCK
}
看了这么一大坨东西,感觉啥也没有告诉我,一脸懵逼 。下面我们一起来解读一下具体的每一个选项的含义 。
IF EXISTS的含义
对于这个大家应该有所了解 。
[IF EXISTS]
首先它是被中括号包裹起来的,表示是可选的不是必须的,也就是说在我们的alter user语句中,这个IF EXISTS可以不出现不是必须要写的 。但是为什么还要有这个呢,这个选项出现的目的是为了让你在执行一个alter user语句的时候,如果语句中指定的数据库用户不存在(或者你写用户名称的是写错了),而不至于出现一个错误的信息,如果指定了IF EXISTS这个词,他就会以一个警告的信息提示你而不是直接给你一个错误信息 。
更直白一下就是:如果你的alter user的语句中指定的用户确实存在,那么就执行你的语句,如果不存在呢,就不执行你的语句,跳过这个alter user的指令 。看示例:
mysql> alter user 'zhangsanfeng' identified by 'zhangsanfeng';
ERROR 1396 (HY000): Operation ALTER USER failed for 'zhangsanfeng'@'%'
mysql>
mysql> alter user if exists 'zhangsanfeng' identified by 'zhangsanfeng';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show warnings;
+——-+——+—————————————–+
| Level | Code | Message|
+——-+——+—————————————–+
| Note| 3162 | User 'zhangsanfeng'@'%' does not exist. |
+——-+——+—————————————–+
1 row in set (0.00 sec)
mysql>
【mysql修改字段类型语句 mysql修改字段类型】在上面的例子中,第一个修改用户的语句,没有使用if exists关键词直接修改了一个不存在的用户的信息,结果直接出现了错误信息,接着我们使用了if exists关键词,结果SQL语句执行成功,只是出现了一个warning警告,然后我们通过show warnings命令查看警告信息的内容,提示我们用户'zhangsanfeng'@'%'不存在 。这就是if exists关键词的存在的意义 。

推荐阅读