MySQL中是以数据库做区分,但是用户可以操作数据库,权限最大的用户是root,在安装MySQL的时候我们已经设置了root的密码
但是真正开发中,不会让我们使用root用户,权限太大,会为我们单独创建用户,这个用户只能操作某个数据库
1、创建用户的格式:create user ‘用户名’@‘端口号’ identified by ‘密码’;
需要切换到mysql数据库下,操作user表
create USER ‘tledu’@‘localhost’ identified by ‘tledu’;
2、授权用户,将数据库中哪个表的权限给到用户
格式: grant 权限 on 数据库.表名 to ‘用户名’@’ IP地址’ identified by ‘密码’;
刷新权限:FLUSH PRIVILEGES;
grant all privileges on test.* to ‘tledu’@‘127.0.0.1’ identified by ‘tledu’;
FLUSH PRIVILEGES;
@ 后面是访问MySQL的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。
All privileges 是所有权限
GRANT select,insert,update,drop,create,delete ON 08.* TO ‘c’@’%’ IDENTIFIED BY ‘c’ ;
上面是同时设置查询,添加,更新等操作
当然 也可以只写select , 是只能查询
Select 查询
Insert 插入数据
Update 更新数据
Delete 删除数据
Drop 删除表
Create 创建表
3、撤销授权
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可,并且IDENTIFIED BY ‘password’ ,不管是授权还是撤销,都可以不加:
撤销授权,格式:revoke 权限 on 数据库.表名 to ‘用户名’@‘端口号’ identified by ‘密码’;
revoke all privileges on test.* from ‘tledu’@‘127.0.0.1’ identified by ‘tledu’;
FLUSH PRIVILEGES;
删除用户,会同步把user和db表都删除对应的数据
drop user 用户名@’%’;
4、删除用户
删除用户, 格式:drop user ‘用户名’@‘端口号’;
drop user ‘tledu’@‘localhost’;
5、切换数据库
格式:use 数据库名
切换到day_01数据库
use day_01;
6、创建表
创建表格式: create table 表名(列名 数据类型,列名 数据类型… );
create table t_student(
id int,
`name varchar(20)
);
7、查看建表语句
格式:show create table 表名
show create table t_student;
8、如果不存在这个表就创建表
create table if not exists t_student(
id int,
name varchar(20)
);
9、删除表
删除表格式:drop table 表名;
drop table t_student;
10、插入数据
插入数据格式: insert into 表名(列名1,列名2…) values(值1,值2…);
列名和值要一一对应,如果该列没有说不能为空,那么这个列也可以不写
insert into t_student (id,name
) values (1,‘zhangsan’);
11、删除记录
删除姓名为zhangsan的记录 格式:delete from 表名 where 列名=值
delete from t_student where name
=‘zhangsan’;
删除姓名是null的,判断null用is和is not
delete from t_student where name is null;
12、更新记录
格式:update 表名 set 列=值,列=值 where 行限定
如果不是整个表更改,需要使用where
update t_student set name=‘b’ where id=1;
将表中id乘3
update t_student set id=id*3;
13、查询
格式:select 列限定 from 表限定 where 行限定
列限定想要得到什么就写什么,全部就写*
表限定可以写表,或者库名.表名
在表中查询id为1的学生的所有信息
select * from t_student where id=1;