网站推广是什么意思,怎么做网页游戏平台,焦作网站建设公司哪家好,盐山建网站前言
SQL#xff08;Structured Query Language#xff0c;结构化查询语言#xff09;是一种用于管理关系数据库系统的语言。SQL的设计目标是提供一种简单、直观的语言#xff0c;使得用户可以通过编写SQL语句来处理他们想要的数据和操作。
目录
一、结构介绍
1. 查看信…前言
SQLStructured Query Language结构化查询语言是一种用于管理关系数据库系统的语言。SQL的设计目标是提供一种简单、直观的语言使得用户可以通过编写SQL语句来处理他们想要的数据和操作。
目录
一、结构介绍
1. 查看信息
1.1 查看数据库信息
1.2 查看数据库中的表信息
1.3 显示数据表的结构字段
2. 结构字段
3. 常用数据类型
二、SQL语言
1. 分类
2. DDL
2.1 创建数据库
2.2 创建数据表
2.3 获取表结构
2.4 删除数据库
2.5 删除数据表
3. DML
3.1 表中插入新数据
3.2 更新修改
3.3 删除表数据
4. DQL
5. 数据表的高级操作
5.1 清空表
5.2 三种删除命令区别
6. 临时表
7. 克隆表
8. DCL
8.1 修改表名
8.2 扩展表结构增加字段
8.3 修改字段列名添加唯一键
8.4 删除
二、用户授权管理
1. 用户管理
1.1 新建用户
1.2 查看用户信息
1.3 重命名指定
1.4 删除用户
1.5 修改当前密码
1.6 修改其他用户密码
1.7 忘记密码
2. 用户授权
2.1 基本格式介绍
2.2 授权示例
2.3 查看权限
2.4 撤销权限
2.5 all privilege 权限 一、结构介绍
1. 查看信息
1.1 查看数据库信息
mysql show databases;
1.2 查看数据库中的表信息
mysql use mysql; #首先要切换到mysql库内
mysql show tables; #或者
mysql show tables in mysql;
1.3 显示数据表的结构字段
mysql use mysql;
mysql describe user;#或者
mysql describe mysql.user; #describe 库名.表名
2. 结构字段
Field:字段名称
type :数据类型
Null :是否允许为空值
key :主键
Default:默认值
Extra :扩展属性例如:AUTO_INCREMENT这个属性通常用于整数类型的字段表示这个字段的值是自动递增的。
3. 常用数据类型
int整型 #用于定义整数类型的数据
float单精度浮点4字节32位 #准确表示到小数点后六位
double双精度浮点8字节64位 #精确度更高
char固定长度的字符类型 #用于定义字符类型数据如20字节只写入4个字符依然占用20字节
#Char如果存入数据的实际长度比指定长度要小会补空格至指定长度如果存入的数据的实际长度大于指定长度低版本会被截取高版本会报错
varchar可变长度的字符类型 #区别于char如20字节只写入4个字符占用4字节
text文本
image图片
decimal(5,2)5个有效长度数字小数点后面有2位
#指定长度数组 如999.99二、SQL语言
SQL语句用于维护管理数据库包括数据查询、数据更新、访问控制、对象管理等功能。在MySQL数据库中SQL语句不区分大小写。
1. 分类
① DDL数据定义语言创建、修改、删除数据库对象
② DML数据操纵语言插入、修改、删除、查询数据
③ DQL数据查询语言数据库中查询信息
④ DCL数据控制语言数据库访问权限和安全性
2. DDL
用于创建数据库对象如库、表、索引等
2.1 创建数据库
格式为create database 数据库名;
示例
mysql create database school; #创建数据库school
Query OK, 1 row affected (0.00 sec)mysql show databases;
--------------------
| Database |
--------------------
| information_schema | #information_schema数据库提供了关于数据库对象的元数据信息
| mysql | #mysql 是一个系统数据库
| school | #新建的数据库
| performance_schema | #performance_schema数据库则提供了关于数据库服务器性能的详细信息
| sys | #sys是一个用于性能监测和诊断的工具库
--------------------
5 rows in set (0.00 sec)
2.2 创建数据表
格式create table 数据库名至少一个字段定义...;
示例
mysql use school;
mysql create table class(id int not null,name char(15) not null,score decimal(5,2),passwd char(45)default,primary key(id));
Query OK, 0 rows affected (0.03 sec)
# id int not null这是一个整数类型的列且不允许为空。这通常用作表的主键用于唯一标识每一行。
# name char(15) not null这是一个字符类型的列长度为 15且不允许为空。用于存储学生的名字。
# score decimal(5,2)这是一个十进制数类型的列总共有 5 位数其中 2 位是小数。用于存储学生的分数。
# passwd char(45) default 这是一个字符类型的列长度为 45且默认值为空字符串。用于存储学生的密码。
# primary key(id)这是一个主键约束指定 id 列作为主键。主键是用于唯一标识每一行的列且每一行的主键值都必须唯一。2.3 获取表结构
格式desc 表名
示例
mysql desc class;
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra | #字段
-------------------------------------------------
| id | int(11) | NO | PRI | NULL | |
| name | char(15) | NO | | NULL | |
| score | decimal(5,2) | YES | | NULL | |
| passwd | char(45) | YES | | | |
-------------------------------------------------
4 rows in set (0.00 sec)2.4 删除数据库
格式drop database 库名 #此方法删除库后库以及库里的表一并删除谨慎操作
2.5 删除数据表
格式
drop table 表名 #此方法删除表后表的结构和内容一并删除谨慎操作
#一般需要先use进入库中再删除如果不用use进入库中删除则需加上数据库名
mysql drop table 库名.表名
3. DML
用于对表中的数据进行管理用来插入、删除和修改数据库中的数据
3.1 表中插入新数据
格式1
use 库
insert into 表名(字段1,字段2,...) values(字段1的值,字段2的值,...);
# values()中字符串建议加
格式2
insert into 表名 values(字段1的值,[字段2的值,]...);
# values()中部分字段值可以不写
示例
mysql insert into class(id,name,score,passwd) values(1,zs,500.50,password(123456));
# 向 class 表插入一行数据id、name、score 和 passwd 是表 class 的列名它们的值分别是 1、zs、500.50 和 123456密码以密文显示
mysql insert into class values(2,lisi,666.00,666666);
# 向 class 表插入一行数据id、name、score 和 passwd 是表 class 的列名它们的值分别是 2、lisi、666.00 和 666666
mysql select * from class; #查看表信息
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | zs | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 2 | lisi | 666.00 | 666666 |
-------------------------------------------------------------
2 rows in set (0.00 sec)
3.2 更新修改
格式
update 表名 set 字段名1值1[,字段名2值2] where 条件表达式;
# set 关键字用于指定要更新的列和它们的新值
# where 关键字用于指定更新操作应该应用到哪些行。只有满足 where 子句的行才会被更新
示例
mysql update class set namewang where namezs;
# 将表 class 中所有 name 列的值为 zs 的行的 name 列的值更新为 wang
mysql update class set score580.00 where id2;
# 将表 class 中 id 列的值为 2 的行的 score 列的值更新为 580.00
mysql select * from class;
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 2 | lisi | 580.00 | 666666 |
-------------------------------------------------------------
2 rows in set (0.00 sec)
3.3 删除表数据
格式
delete from 表名 #删整张表谨慎操作
delete from 表名 where 条件表达式; #指定删除匹配项
如果不用use进入库中
delete from 库名.表名
示例
mysql delete from class where id2;
# 从名为 class 的表中删除 id 列的值为 2 的行
mysql select * from class;
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
-------------------------------------------------------------
1 row in set (0.00 sec)4. DQL
用于从数据表中查找符合条件的数据记录
格式
select 字段名1[,字段名2],... from 表名[where 条件表达式]; #字段没有要求可以写成*
如果不用use进入库中:
select 字段名1[,字段名2],... from 库名.表名;
示例
mysql select * from class;
# 查询名为 class 的表中选择所有列和行的信息
mysql select * from class;
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 2 | lisi | 580.00 | 666666 |
-------------------------------------------------------------
2 rows in set (0.00 sec)mysql select name,score from class where namewang;
# 从名为 class 的表中选择 name 和 score 两列匹配 name 列的值为 wang 的信息。
--------------
| name | score |
--------------
| wang | 500.50 |
--------------
1 row in set (0.00 sec)其他示例
mysql select name from class\G;
# 以列表方式竖向显示
*************************** 1. row ***************************
name: wang
*************************** 2. row ***************************
name: lisimysql select * from class limit 1;
# 只显示头1行
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
-------------------------------------------------------------mysql select * from class limit 1,1;
# 显示第1行后的前1行
--------------------------
| id | name | score | passwd |
--------------------------
| 2 | lisi | 580.00 | 666666 |
--------------------------5. 数据表的高级操作
5.1 清空表
方法一
格式
delect from 表名;
# delete 清空表后返回的结果内有删除的记录条目
# delete 工作时是逐行的删除数据如果表中有自增长字段使用 delete from 删除所有记录后再次新添加的记录会从原来最大的记录ID后面继续自增写入记录
方法二
truncate table 表名;
# truncate 清空表后没有返回被删除的条目
#TRUNCATE 工作时是将表结构按原样重新建立因此在速度上 truncate 会比 delete 清空表快使用truncate table 清空表内数据后id 会从 1 开始重新记录
5.2 三种删除命令区别
特性/命令drop table 表名truncate table 表名delete from 表名语言类属于DDL属于DDL属于DML回滚恢复不可回滚无法恢复不可回滚无法恢复可回滚可恢复是否带where不可带where不可带where可带where删除情况表内容和结构删除表内容删除结构保留表结构保留表内容视where执行情况删除速度删除速度快删除速度快删除速度慢需要逐行删
总结
不再需要一张表的时候用drop想删除部分数据行时候用delete并且带上where子句保留表结构而删除所有数据的时候用truncate删除速度drop truncate deletedelete 安全性最好
6. 临时表
临时表是一种特殊的数据表在生产环境中有时候会用临时表做一些性能测试。它只在当前的数据库会话中存在临时存放内存中当会话结束时临时表就会被自动删除。
格式
create temporary table 表名 (字段1 数据类型[,字段2 数据类型],... [PRIMARY KEY (主键名)]);
# 临时表创建成功之后使用 show tables 命令是看不到创建的临时表的临时表会在连接退出后被销毁
# 在退出连接之前也可以可执行增删改查等操作比如使用 drop table 语句手动直接删除临时表
示例
mysql create temporary table class1 (id int(4) zerofill primary key auto_increment,name varchar(15) not null,cardid int(18) not null unique key,hobby varchar(60),shouji int(11) unique key);
# int(4) zerofill表示若数值不满4位数则前面用0填充例0001
# auto_increment表示此字段为自增长字段即每条记录自动递增1默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次
# unique key表示此字段唯一键约束此字段数据不可以重复:一张表中只能有一个主键但是一张表中可以有多个唯一键
# not null表示此字段不允许为NULL
# primary key(id)这是一个主键约束指定 id 列作为主键。主键是用于唯一标识每一行的列且每一行的主键值都必须唯一。
mysql insert into class1 values(1,hong,111111,sing,138);
mysql insert into class1 values(2,ming,111111,dance,139);
ERROR 1062 (23000): Duplicate entry 111111 for key cardid
# cardid唯一键约束无法创建相同的值
mysql insert into class1 values(2,ming,222222,dance,139);
mysql insert into class1 (name,cardid,hobby,shouji) values(yang,333333,rap,181);
mysql select * from class1;
-----------------------------------
| id | name | cardid | hobby | shouji |
-----------------------------------
| 0001 | hong | 111111 | sing | 138 |
| 0002 | ming | 222222 | dance | 139 |
| 0003 | yang | 333333 | rap | 181 |
-----------------------------------
3 rows in set (0.00 sec)mysql exit
mysql use school;
mysql select * from class1;
ERROR 1146 (42S02): Table school.class1 doesnt exist
# 退出即失效7. 克隆表
克隆表是指在数据库中创建一个已存在表的副本。克隆表包含了原表的结构和数据但是它们是独立的对克隆表的修改不会影响原表。克隆表通常用于备份数据或者在进行复杂的数据处理时进行实验以避免对原表的影响。
方法1like 方法
create table 新表名 like 旧表名;
#复制格式通过like方法复制旧表结构生成新表
insert into 新表名 select * from 旧表名;
#备份内容
方法2show create table 方法
create table 新表名 (select * from 旧表名);
#复制旧表数据到新表中即将旧数据表的数据记录生成到新的表中
示例方法1
mysql use school;
mysql create table class1 like class;
mysql desc class1;
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------
| id | int(11) | NO | PRI | NULL | |
| name | char(15) | NO | | NULL | |
| score | decimal(5,2) | YES | | NULL | |
| passwd | char(45) | YES | | | |
-------------------------------------------------
# 查看表结构可见格式字段包括主键都存在
mysql insert into class1 select * from class;
mysql select * from class1;
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 2 | lisi | 580.00 | 666666 |
-------------------------------------------------------------
# 查看表内容都存在示例方法2
mysql create table class2 (select * from class);
mysql select * from class2;
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 2 | lisi | 580.00 | 666666 |
-------------------------------------------------------------
# 查看表内容都存在
mysql desc class2;
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------
| id | int(11) | NO | | NULL | |
| name | char(15) | NO | | NULL | |
| score | decimal(5,2) | YES | | NULL | |
| passwd | char(45) | YES | | | |
-------------------------------------------------
# 查看表结构格式字段存在缺少主键
mysql show create table class2\G #获取数据表的表结构、索引等信息
*************************** 1. row ***************************Table: class2
Create Table: CREATE TABLE class2 (id int(11) NOT NULL,name char(15) NOT NULL,score decimal(5,2) DEFAULT NULL,passwd char(45) DEFAULT
) ENGINEInnoDB DEFAULT CHARSETutf8
总结克隆表有两种
① 迁移表表的结构、属性、约束、数据等
② 备份数据表的属性、内容数据
8. DCL
修改表名和表结构
8.1 修改表名
格式
alter table 旧表名 rename 新表名;
示例
mysql alter table class2 rename class5;
# 将数据表 class2 修改名称为 class5
mysql select * from class5;
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 2 | lisi | 580.00 | 666666 |
-------------------------------------------------------------
8.2 扩展表结构增加字段
格式
alter table 表名 add 字段名 数据类型;
示例
mysql alter table class5 add address varchar(100) default dizhiweizhi;
# 给数据表 class5 新增字段命名 address定义数据类型为可变长度型最大100字节默认值为 dizhiweizhi
mysql desc class5;
------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------------
| id | int(11) | NO | | NULL | |
| name | char(15) | NO | | NULL | |
| score | decimal(5,2) | YES | | NULL | |
| passwd | char(45) | YES | | | |
| address | varchar(100) | YES | | dizhiweizhi | |
------------------------------------------------------
mysql select * from class5;
--------------------------------------------------------------------------
| id | name | score | passwd | address |
--------------------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | dizhiweizhi |
| 2 | lisi | 580.00 | 666666 | dizhiweizhi |
--------------------------------------------------------------------------
# default dizhiweizhi表示此字段设置默认值为dizhiweizhi可与 ot null 配合使用
8.3 修改字段列名添加唯一键
格式
alter table 表名 change 旧字段名 新字段名 数据类型 [unique key];
示例
mysql alter table class5 change name mingzi varchar(15) unique key;
# 将数据表 class5 的 name 字段名改成 mingzi 定义数据类型为可变长度类型最大 15 个字节并定义唯一键约束
mysql desc class5;
------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------------
| id | int(11) | NO | | NULL | |
| mingzi | varchar(15) | YES | UNI | NULL | |
| score | decimal(5,2) | YES | | NULL | |
| passwd | char(45) | YES | | | |
| address | varchar(100) | YES | | dizhiweizhi | |
------------------------------------------------------8.4 删除
格式
alter table 表名 drop 字段名;
示例
mysql alter table class5 drop address;
# 删除数据表 class5 的 address 字段
mysql desc class5;
-------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------
| id | int(11) | NO | | NULL | |
| mingzi | varchar(15) | YES | UNI | NULL | |
| score | decimal(5,2) | YES | | NULL | |
| passwd | char(45) | YES | | | |
-------------------------------------------------二、用户授权管理
1. 用户管理
1.1 新建用户
格式
create user 用户名来源地址 [identified by [password]密码];
# 用户名指定将创建的用户名.
# 来源地址指定新创建的用户可在哪些主机上登录可使用IP地址、网段、主机名的形式本地用户可用localhost允许任意主机登录可用通配符%
# 密码若使用明文密码直接输入密码插入到数据库时由Mysql自动加密
# 若使用加密密码需要先使用 select password (密码)获取密文再在语句中添加 password 密文
# 若省略identified by部分则用户的密码将为空(不建议使用)示例
mysql create user fqllocalhost identified by 123123;
# 创建用户 fql 允许本地登录密码 123123插入数据后 mysql 自动加密
mysql select password(666666);
-------------------------------------------
| password(666666) |
-------------------------------------------
| *B2B366CA5C4697F31D4C55D61F0B17E70E5664EC |
-------------------------------------------
mysql create user wang192.168.190.% identified by password *B2B366CA5C4697F31D4C55D61F0B17E70E5664EC;
# 创建用户 王 允许 192.168.190.段登录密文密码
1.2 查看用户信息
mysql use mysql;
格式
select 字段1,字段2,... from user;
示例
mysql select User,authentication_string,Host from user;
# 查看 user 表中用户、密码、来源地址的信息
---------------------------------------------------------------------
| User | authentication_string | Host |
---------------------------------------------------------------------
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| fql | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 | localhost |
| wang | *B2B366CA5C4697F31D4C55D61F0B17E70E5664EC | 192.168.190.% |
---------------------------------------------------------------------1.3 重命名指定
mysql use mysql;
mysql rename user wang192.168.190.% to lisi192.168.190.%;
mysql select User,authentication_string,Host from user where Userlisi;
----------------------------------------------------------------
| User | authentication_string | Host |
----------------------------------------------------------------
| lisi | *B2B366CA5C4697F31D4C55D61F0B17E70E5664EC | 192.168.190.% |
----------------------------------------------------------------1.4 删除用户
mysql drop user lisi192.168.190.%;
# 删除用户 lisi
mysql select User,authentication_string,Host from user;
-----------------------------------------------------------------
| User | authentication_string | Host |
-----------------------------------------------------------------
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| fql | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 | localhost |
-----------------------------------------------------------------1.5 修改当前密码
mysql set password password(abc123);
# 修改当前用户密码为 abc123
1.6 修改其他用户密码
mysql set password for fqllocalhost password(123456);
# 修改用户 fql 密码为 123456
1.7 忘记密码
① 修改/etc/my.cnf 配置文件免密登陆mysql
[rootlocalhost ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables #添加此条内容使登录 mysql 不使用授权表
② 重启服务生产环境谨慎操作直接登录mysql修改密码
[rootlocalhost ~]# systemctl restart mysqld
[rootlocalhost ~]# mysql
mysql update mysql.user set authentication_string password(666666) where userroot;
# 更新 mysql 库 user 表中 user 列的值为 root 的行的 authentication_string密码列的值为 666666
mysql flush privileges;
mysql exit
[rootlocalhost ~]# mysql -u root -p666666
mysql # 成功登录或者免密登录进来后先刷新 MySQL 的权限表在执行修改当前用户密码
mysql flush privileges;
mysql set password for rootlocalhostpassword(新密码); ③ 还原/etc/my.cnf 配置重启服务
2. 用户授权
在 MySQL 中用户提权是指将用户的权限从一个级别提升到另一个更高的级别。或者根据需求给予合理的权限。
2.1 基本格式介绍
grant 权限列表 on 数据库名.表名 to 用户名来源地址 [identifided by 密码];
# 权限列表用于列出授权使用的各种数据库操作以逗号进行分隔如“select, insert, update”。使用all表示所有权限可授权执行任何操作。
# 数据库名.表名用于指定授权操作的数据库和表的名称其中可以使用通配符*。例如使用school.*表示授权操作的对象为school数据库中的所有表。
# 用户名来源地址用于指定用户名称和允许访问的客户机地址即谁能连接、能从哪里连接。来源地址可以是域名、ip地址还可以使用“%”通配符表示某个区域或网段内的所有地址如“%.baidu.com、“192.168.190.%”等。
# identifided by用于设置用户连接数据库时所使用的密码字符串。在新建用户时若省略“identifided by部分则用户的密码将为空。
# 允许用户fql在本地查询school数据库中所有表的数据记录但禁止查询其他数据库中的表的记录。grant select on school.* to fqllocalhost identifided by 123456;
2.2 授权示例
① 允许用户 fql 在本地连接 mysql并拥有 school 库查询的权限
mysql grant select on school.* to fqllocalhost identified by 123456;
mysql flush privileges;[rootlocalhost ~]# mysql -u fql -p123456
mysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| school | # 只能看到 school 库
--------------------
mysql use school;
mysql show tables;
------------------
| Tables_in_school |
------------------
| class |
| class1 |
| class5 |
------------------
mysql select * from class;
-------------------------------------------------------------
| id | name | score | passwd |
-------------------------------------------------------------
| 1 | wang | 500.50 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 2 | lisi | 580.00 | 666666 |
-------------------------------------------------------------
mysql delete from class;
ERROR 1142 (42000): DELETE command denied to user fqllocalhost for table class
# 权限拒绝
尝试远程连接被拒绝访问 ② 授权 root 用户在 school 库所有权限允许192.168.190段远程访问
mysql grant all privileges on school.* to root192.168.190.% identified by 666666;
尝试远程连接访问成功 2.3 查看权限
mysql show grants for fqllocalhost;
-------------------------------------------------
| Grants for fqllocalhost |
-------------------------------------------------
| GRANT USAGE ON *.* TO fqllocalhost |
| GRANT SELECT ON school.* TO fqllocalhost |
-------------------------------------------------
2.4 撤销权限
格式
revoke 权限列表 on 数据库名.表名 from 用户名来源地址;
示例撤销 fql 权限对于库 school 的权限
mysql revoke all on school.* from fqllocalhost;
mysql show grants for fqllocalhost;
-----------------------------------------
| Grants for fqllocalhost |
-----------------------------------------
| GRANT USAGE ON *.* TO fqllocalhost |
-----------------------------------------
2.5 all privilege 权限
权限说明insert插入数据select查询数据update更新表的数据delete删除表中数据create创建库表drop删除库表refernces外键约束index建立索引alter更改表属性create temp orary tableslock tables锁表execute对存储过程或函数的执行权限create view创建视图show view显示视图create routine创建存储过程alter routine修改存储过程event事件trigger on创建触发器