一、MySQL用户管理
MySQL用户管理主要分为用户的创建删除和用户权限操作
1.用户的创建删除
首先我们以管理员身份运行cmd,然后用root账户登入mysql;
然后我们就可以创建一个新用户了,在创建之前可以先使用查看命令查看当前数据库下的用户列表,在这之前要先选择数据库,如下图所示:
这里我们已经看到了用户列表了,但是由于显示的是全部用户的全部信息,所以看不清楚,我们可以选择用户的关键信息查看,下面我只选择查看用户的
host
和
user
两类信息来查看:
这里我们就可以很清楚的看到用户数量和用户名字了,下面我们创建一个新用户Lisa:
通过前面的查询命令,我们可以看到用户Lisa已经被成功创建了。用户创建完成后u,可以给新用户设置密码,通过命令ALTER USER ‘Lisa’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;即为用户Lisa设置了密码123456:
2.用户权限的操作
用户的权限包括了用户权限的设置、查看及回收。
首先我们给用户LIsa设置权限,针对于数据库db_xxx;权限主要包括了增删改查四种权限。分别对应为INSERT,DELETE,UPDATE,SELECT。首先给用户LIsa设置四种权限都具有:
从上图中查询权限可以看到用户Lisa的权限分为两行,第一行是用户可以登录的权限,第二行是用户Lisa对于数据库db_xxx具有所有权限;
然后我们回收用户Lisa对于数据库db_xxx的删除权限:
再次输入查询命令,可以看到用户Lisa已经没有了DELETE 权限。我们也可以直接给用户Lisa只设置几种想要设置的权限,在这之前,先回收Lisa的所有权限:
然后再给Lisa设置INSERT,UPDATE,SELECT权限:
从图中可以看到已经成功设置了上面三种权限给用户Lisa。然后大家可能注意到我在给用户Lisa设置权限的时候,输入的命令\”grant all on db_xxx.* to Lisa@’%’;\” 这个db_xxx是指我们针对的某个数据库名字,那么后面的\”.*\”是指的是该数据库下的表,我们也可以为用户设置针对该数据库下的表的各种权限:
如图,我们为用户Lisa设置了对于db_xxx下的user表的所有权限,同样的,我们也可以回收权限:
二、创建库
库的创建比较简单,通过create database 命令加上数据库的名字可以直接创建,下面我们就创建一个名字为newdb的库:
通过show databases命令查看数据库列表可以看到已经成功创建了库。我们还可以通过删除命令drop database 加上库名来删除一个库,前提是具有删除权限。
表的创建及查看
常规表的创建
创建表之前需要先使用use 加数据库名的命令选择使用哪个数据库,之后再在该数据库下创建表格;
这里我们以数据库db_book为例,创建一个newlist 的表;
首先通过查看表命令查看该数据库下的表:
然后通过创建命令创建newlist,这里我们创建一个包含id和名字两个列段的表,它们的类型分别为int 和varchar(20):
创建成功。
我们还可以通过删除命令来删除表格;
除了创建常规表格,还可以创建具有约束的表格。
约束主要有非空约束(no null)、默认值约束(default)、主键约束(primary key)、唯一约束(unique)、外键约束(foreign key)。创建约束可以在创建表时直接在列段后添加关键字创建,也可以在列段创建结束后添加约束,还可以在表创建结束后添加。
1.创建表时直接在列段后添加关键字创建约束
2.列段创建结束后添加约束
3.表创建结束后添加约束
alter table 表名 modify column 字段名 字段类型 新约束;
查看表格的字段:
三、引擎简介
下面是常规的四大引擎的一些信息,随着数据库的发展,现在的引擎也越来越多。
这里主要介绍InnoDB和MYISAM引擎两者的差别。
InnoDB是为处理巨大数据量的最大性能设计。它的CPU效率可能是任何其他基于磁盘的关系型数据库引擎锁不能匹敌的,InnoDB的增删改速度比MYISAM要快,但是MYISAM引擎具有全文索引功能,它的查找速度是比InnoDB快很多的。所以使用什么引擎就需要开发者能根据需要来灵活的选择了。