定义:To alter or drop stored functions/procedures。
ALTER ROUTINE权限:更改或者删除存储函数或者存储过程的权限。
注意,不仅仅有alter,还有隐式包含drop的权限。
mysql> show grants for 'ut01'@'%';
+----------------------------------+
| Grants for ut01@% |
+----------------------------------+
| GRANT SUPER ON *.* TO 'ut01'@'%' |
+----------------------------------+
1 row in set (0.00 sec)
mysql> grant alter routine on test.* to 'ut01'@'%';
Query OK, 0 rows affected (0.05 sec)
mysql> show grants for 'ut01'@'%';
+-----------------------------------------------+
| Grants for ut01@% |
+-----------------------------------------------+
| GRANT SUPER ON *.* TO 'ut01'@'%' |
| GRANT ALTER ROUTINE ON `test`.* TO 'ut01'@'%' |
+-----------------------------------------------+
2 rows in set (0.00 sec)
mysql> revoke ALTER ROUTINE ON `test`.* from 'ut01'@'%';
Query OK, 0 rows affected (0.06 sec)
mysql>
'ut01'@'%'用户被赋予test.*上的alter routine权限之后,可以修改存储程序,注意也可以drop。
但是不能创建。
定义:To alter or drop stored functions/procedures。ALTER ROUTINE权限:更改或者删除存储函数或者存储过程的权限。mysql> show grants for 'ut01'@'%';+----------------------------------+| Grants for ut01@% |
-----------------------------------------l
ine
-------------------------------------------------
USE [p20-cy-2966];
V1.0.2版本SQL批处理
--判断某表的某字段是否存在
if (not exists(select * from syscolumns where
1、如果用户有create rout
ine
权限
那么他就可以创建procedure | function 。
2、如果用户创建了procedure | function 那么
mysql
会自动赋予它对procedure | function 的
alter
rout
ine
和execute
权限
。
3、例子:
用户root用户创建一个spuser@'localhost'用户并对它赋予create procedure
权限
2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、
ALTER
等操作
3. 可以限制用户登录的IP或域名
4. 可以限制用户自己的
权限
是否可以授权给别的用户
一、用户授权
mysql
> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;
all pri
1、如果用户有create rout
ine
权限
那么他就可以创建procedure | function 。
2、如果用户创建了procedure | function 那么
mysql
会自动赋予它对procedure | function 的
alter
rout
ine
和execute
权限
。
3、例子:
用户root用户创建一个spuser@’localhost’用户并对它赋予create procedure
权限
grant create rout
ine
on tempdb.* to spuser@'localhost' identified by '123456';
用spuser@
在使用
mysql
数据库经常都会遇到这么一个问题,其它用户定义的存储过程,现在使用另一个用户却无法修改或者删除等;正常情况下存储过程的定义者对它有修改、删除的
权限
;但是其它的用户就要相于的授权,不然无法查看、调用;
mysql
中使用用户A创建一个存储过程,现在想通过另一个用户B来修改A创建的存储过程;以下记录就是基于这样的情况产生的;
用户A对OTO3库的
权限
:
mysql
> show grants for 'a'@'%';
+-------------------------------
Mysql
Alter
Table Add Column的语法如下:
ALTER
TABLE table_name ADD column_name column_definition [FIRST|AFTER existing_column];
其中,table_name是要更改的表名,column_name是要添加的新列名,column_definition是要定义的新列的数据类型和属性,在表中添加新列的位置可以是FIRST,也可以是AFTER existing_column(在现有某一列之后添加新的列)。