0x00 前言
- 本文主要介绍常见的SQL操作语句,如有错误欢迎在评论区指出,后续将更新有关MySQL在Windows系统下提权操作
0x01 数据库登录操作
mysql -u username -h 127.0.0.1 -p password;
- 在使用powershell需要在命令前添加./指定当前目录
- -h 可以不填写 默认使用回环地址
- 针对远程数据库的攻击 需要目标数据库开启远程登录功能
0x02 数据库操作
数据库查看
show databases;
选择指定数据库
use 数据库名;
创建数据库
create database 数据库名;
删除数据库
drop database 数据库名;
- 数据库名使用字符型 禁止使用整型
0x03 表操作
查看全部表
show tables;
创建表
create table 表名(字段名 字段类型 [其他附加参数],);
删除表
drop table 表名;
修改表名
alter table 原来的表名 rename to 新表名;
清除表中数据
delete from 表名 [where 条件语句];
显示表中的记录:
select 字段1,字段2,字段3 from 表名;
向表中添加数据
insert into 表名(字段1,字段2,字段3) values (字段列表);
更新表中数据
update 表名 set 字段="值" where 子句 order by 子句 limit 子句
数据指定说明
WHERE 用于限定表中要修改的行。若不指定,则修改表中所有的行。
ORDER BY 用于限定表中的行被修改的次序 asc为升序排序 desc为降序排序
LIMIT(参数一,参数二) 用于限定被修改的行数 参数一指定数据索引其实位置从0开始 参数二指定数据显示数据行数
0x04 视图操作
视图的创建
create view 视图名(自定字段1,自定字段2...) as select (字段1,字段2...) from 表;
视图的查看
select 字段1,字段2,字段3... from 视图名;
视图的删除
drop 视图名;
视图查询语句修改
alter view 视图名(自定字段1,自定字段2...) as select (字段1,字段2...) from 表;
视图指定数据更新
update 视图名 set 字段="值" where 子句 order by 子句 limit 子句
视图指定数据插入
insert into 视图名(字段1,字段2,字段3) values (字段列表);
视图指定数据删除
delete from 视图名 [where 条件语句];
- 使用指定数据的增删改查操作时会对数据的基础数据表进行修改 对于某些特殊函数生成的视图该操作将无法生效
0x05 索引操作
查看表结构
desc 表名;
查看表索引
show index from 表名;
索引添加(unique为例)
alter table 表名 add unique(字段名);
索引删除
drop index 字段名 on 表名;
alter table 表名 drop 索引类型
- 常用索引种类
- primary key(主键索引)
- unique(唯一索引)
- index(普通索引)
- fulltext(全文索引)
- index(多列索引)
0x06 用户操作
用户创建
CREATE USER '用户名'@'ip地址' IDENTIFIED BY '密码';
用户查询
select host,user from mysql.user;
用户权限赋予
grant 权限1,权限2,权限3 on 数据库名.表名 to '用户名'@'ip地址';
用户权限回收
revoke 权限1,权限2,权限3 on 数据库名.表名 from '用户名'@'ip地址';
查看用户拥有的权限
show grants for '用户名'@'ip地址';
用户密码修改
set password for '用户名'@'ip地址'=password('密码');
用户名修改
rename user '旧用户名'@'ip地址' to '新用户名'@'ip地址';
修改用户名和密码后需执行下面语句,否则无法进入修改后的用户
flush privileges;
删除用户
drop user '用户名'@'ip地址';