MySQL数据库
登录MySQL
mysql -u 用户名 -p 密码 -h 主机IP -P 端口号
但这样密码会暴露在屏幕上,也可以-p后面不输密码,回车后输入就会变成******,这样也是可以登录,默认端口3306没有修改的话可以省略-p参数,本地数据库可以省略-h
下面将数据库端口修改为3316,使用mysql -uroot -p -P3316进行登录
查库
show databases;
新增数据库
create database aaaaaa
删除数据库
使用数据库
use 数据库名
查表
创建表
创建表users11,表有三列分别是id、username、password,id为int类型非空,username为char最多50个字节、非空,password为charl类型最多50字节、非空,id为主键(唯一、不能为空),指定引擎innodb
查看所有表
查看数据,目前还没有数据
select * from users11;
添加数据
insert into users11(id,username,password) values('1','root','password');
添加password为空字符串
这里可以看到没有报错,因为null为空值,not null为不能是空值,但‘’空字符串,是可以添加的,这里的空字符串不是空值
更新数据
创建相同结构的users22表
查询users22表id为2数据,添加到users11表
添加列
alter table users add age char(5);
删除列
删除表
drop table users1;
修改表名
rename table users11 to user11,users22 to user22;
查看用户
创建用户
重命名账号
删除用户
查看用户权限
增加权限
取消权限
使用新用户登录,但如果你用的是XAMPP的话,此时会报错,无法登录系统
解决办法:
打开myini文件,找到[mysqld]字段,在他的下面添加一行skip-grant-tables,保存退出重启服务就可以登录了
登录新用户
union连接
查询id小于5还有id等于8的数据,可以使用or,也可以使用union连接查询
select id from users where id<5 or id =8;
select id from users where id < 5 union select id from users where id = 8;
盲注时绕过过滤方法
一、=被过滤
1、可以使用通配符like或者REGEXP
比如想要查询id为8的数据一般会使用select * from users where id=8;
等于被过滤的话可以使用
或者<、>
或者!(<>)不不等于
使用between
二、引号被过滤
使用十六进制
三、逗号,被过滤
substr('abc',1,1)
limit 5,1