数据库基础:sql语句之数据控制语句(DCL)

数据控制语句:用于控制不同的数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限权限和安全级别,主要包括关键字grant、revoke等。其主要是DBA用来管理系统中的对象权限时使用,一般开发人员很少使用。

一、创建用户

1.创建用户
create user 'username'@'lhost' identified by 'password'

-- username:你将创建的用户的用户名
-- host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%
-- identified by :确认关键字,后接密码
-- password :用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

/*
举个例子:
create user 'lzh'@'localhost' identified by '123456';
create user 'lzh'@'%' identified by '123456';
create user 'lzh'@'%' identified by '';  等效于: create user 'lzh'@'%';
*/

二、授权

2.授权
grant privileges on dbname.tablename to 'username'@'host' identified by 'password' [with grant option]

-- privileges:用户的操作权限,如SELECT , INSERT , UPDATE 等(具体详见下表),如果要授予所的权限,则使用all
-- dbname:数据库名,tablename:表名,如果是所有表的话,则dbname.*
-- with grant option:命令中不带这个,则,该用户username不能将权限授予其他人,反之,则可以

/* 
举个例子:
grant selelct on test.* to 'lzh'@'localhost' identified by '123456';
grant all on  *.* to 'lzh'@'%' with grant option;
*/

三、设置与更改密码

3.设置及更改密码
set password for 'username'@'host' = password('new_password')

-- 若是当前登录用户,可简写: set password = password ('new_password')

四、撤销用户权限

4.撤销用户权限
 revoke privilege on dbname.tablename from 'username'@'host'

-- privilege:同授权部分

五、删除用户

5.删除用户
drop user 'username'@'host'

附:

sql权限表:

PrivilegeGrant Table ColumnContext
all [privileges]Synonym for “all privileges”Server administration
alterAlter_privTables
alter routineAlter_routine_privStored routines
createCreate_privDatabases, tables, or indexes
create routineCreate_routine_privStored routines
create tablespaceCreate_tablespace_privServer administration
create temporary tablesCreate_tmp_table_privTables
create userCreate_user_privServer administration
create viewCreate_view_privViews
deleteDelete_privTables
dropDrop_privDatabases, tables, or views
eventEvent_privDatabases
executeExecute_privStored routines
fileFile_privFile access on server host
grant optionGrant_privDatabases, tables, or stored routines
indexIndex_privTables
insertInsert_privTables or columns
lock tablesLock_tables_privDatabases
processProcess_privServer administration
proxySee proxies_priv tableServer administration
referencesReferences_privDatabases or tables
reloadReload_privServer administration
replication clientRepl_client_privServer administration
replication slaveRepl_slave_privServer administration
selectSelect_privTables or columns
show databasesShow_db_privServer administration
show viewShow_view_privViews
shutdownShutdown_privServer administration
superSuper_privServer administration
triggerTrigger_privTables
updateUpdate_privTables or columns
usageSynonym for “no privileges”Server administration
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值