- 创建用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
需要切换到mysql数据库下,操作user表
username:用户名;host:指定在哪个主机上可以登录,本机可用localhost,%通配所有远程主机;password:用户登录密码;
2、授权:GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' ;
刷新权限:FLUSH PRIVILEGES;
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";*.*代表所有数据库和所有表;
@ 后面是访问MySQL的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。
如 GRANT ALL PRIVILEGES ON _08_.* TO 'tianliang'@'%' IDENTIFIED BY 'tianliang' ;
把 _08_数据库的操作权限,授权给tianliang用户
All privileges 是所有权限
GRANT select,insert,update,drop,create,delete ON _08_.* TO 'c'@'%' IDENTIFIED BY 'c' ;
上面是同时设置查询,添加,更新等操作
当然 也可以只写select , 是只能查询
Select 查询
Insert 插入数据
Update 更新数据
Delete 删除数据
Drop 删除表
Create 创建表
撤销授权
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可,并且IDENTIFIED BY ‘password’ ,不管是授权还是撤销,都可以不加:
grant all on *.* to tledu@localhost;
revoke all on *.* from tledu@localhost;
删除用户,会同步把user和db表都删除对应的数据
drop user 用户名@'%’;
MySQL基本使用
TCL——用户创建和授权
1. 创建用户
CREATE USER '用户名'@'ip地址'IDENTIFIED BY'密码';
2.给用户授权
GRANT ALL PRIVILEGES(Select delete insert update)ON 数据库.表TO'用户名'@'ip地址'IDENTIFIED BY'密码';('IDENTIFIED BY'密码'可加可不加)
FLUSH PRIVILEGES; //刷新权限
3.撤销权限
REVOKE ALL PRIVILEGES(Select delete insert update)FROM 数据库.表TO'用户名'@'ip地址'IDENTIFIED BY'密码';('IDENTIFIED BY'密码'可加可不加)
4.删除用户
DROP USER '用户名'@'ip地址';
4.2 DDL——数据库的创建
查看当前链接的MySQL服务器的版本
select version();
显示当前链接的MySQL服务器中的所有的数据库
show databases;
切换数据库
use test;
显示当前数据库中的所有表
show tables;
在当前数据库服务器上创建一个新库
create database 数据库名;
在当前数据库服务器上删除一个库
drop database 数据库名;
4.3 DDL——表创建和删除
use 数据库;
create table 表名(
id int,
name varchar(10)
)
删除表
drop table 表名;
5. DML操作
DML : Data Manipulate Language(数据操作语言) ,主要用于向数据库插入,修改,删除数据使用。
涉及的关键字有 : insert delete update
Insert (用于向表中添加数据):
insert into 表名 (列名1,列名2,……)values(值1,值2,……);
Delete(用于删除表中的数据):
delete from 表名 where 列名=值;
delete from 表名 where id is null;判断为null 不能使用 = ,is null 为空 is not null 不为空。
Update(用于更新表中的数据):
update 表名 set 列名1=值 , 列名2=值 where 列名 = 值;
Select(用于查询表中的数据,属于DQL):
select 列限定 from 表限定 where 行限定