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