【Mysql】通过实战学习MySql基本语法

【Mysql】通过实验掌握Mysql基本操作

Hello,各位小伙伴大家好~
在这里插入图片描述
这里是你们的劳模小编,话说这周一口气写了四篇公众号,加起来有一万多字了~

在这里插入图片描述

第四篇是一个SQL注入大总结,还在反复修改中…

在发布之前,先跟着我把Mysql的基本操作一起敲一遍吧~

在这里插入图片描述
Here we go ~


基本操作:

1、连接数据库 mysql -h ip -u root ip password
在这里插入图片描述

2、退出数据库 exit
在这里插入图片描述

3、列出数据库 show databases
在这里插入图片描述

4、新建数据库 create database
在这里插入图片描述

5、使用数据库 use database_name
在这里插入图片描述

6、创建表 create table
在这里插入图片描述

7、查询当前数据库中的表 show tables
在这里插入图片描述
8、查看表结构 desc tablename,可以查看字段名,字段类型等信息
在这里插入图片描述
9、增加数据 insert into tablename values
在这里插入图片描述

10、查询数据 select * from table
在这里插入图片描述

​ 也可以查询指定的字段
在这里插入图片描述

11、删除数据 delete
在这里插入图片描述

12、更新数据 update
在这里插入图片描述
更新结果:
在这里插入图片描述
where语句的使用:
在这里插入图片描述

13、limit 查询

先手工插入多行数据
在这里插入图片描述
从第1行开始,查询2行(数据库第一行为第0行)

在这里插入图片描述

查询前4行
在这里插入图片描述

高级操作:

1、排序 order by

降序排序:
在这里插入图片描述

升序排序:
在这里插入图片描述

2、group by 语法
在这里插入图片描述

但这样相同类型只会显示一行,应该联合其他聚合函数进行查询

例如此处将相同城市的电话号码加起来
在这里插入图片描述

3、union select 联合查询
在这里插入图片描述

and 1=2 可以把前面表格的内容屏蔽掉
在这里插入图片描述

利用该功能,在渗透测试时,我们可以查询其他表格的内容,例如查询所有表名
在这里插入图片描述

4、exists 语法

创建一个新表,并插入一条数据
在这里插入图片描述在这里插入图片描述

已知表格offices,利用exists 查询其他表格是否存在
在这里插入图片描述
在这里插入图片描述

5、union结合load_file函数读取文件信息

D盘创建一个文件
在这里插入图片描述

查询文件内容
在这里插入图片描述

6、union结合outfile函数写入文件
在这里插入图片描述

查看文件已生成:
在这里插入图片描述

查看文件内容,写入正确:
在这里插入图片描述

Information_schema 数据库

在Mysql数据库5.0版本中存在着一个元数据库information_schema,其中存放着用户在Mysql中创建的所有其他数据库的信息。

原数据库中几张重要的表:

  • schemata:用于存放所有数据库的名称
  • tables:用于存放所有数据库中数据表的名字
  • columns:用于存放所有数据库的所有数据表中的所有字段的名字

1、查询数据库名称
在这里插入图片描述
2、查看college数据库中包含了哪些表名
在这里插入图片描述

3、查看student数据表中有哪些字段
在这里插入图片描述

一些奇怪的实验:

1、数字型参数可被当作字符型进行查询

id为 int类型参数,正常查询:
在这里插入图片描述
当作字符串进行查询,依然可以:
在这里插入图片描述

2、SQL字符型注入为什么需要逃逸的实验?

模拟 id = 1 and 1=2进行查询,只识别了1:
在这里插入图片描述

乱输入字符串测试,依然成功查询,识别了1,后面的不再识别
在这里插入图片描述

所以,在id被以字符型进行查询时,直接插入and语句,后面的查询内容不会生效!!

因为我们需要先插入 ’ 引号进行闭合,再拼接and语句,最后还需要用 # 号 或则 --+ 注释掉剩下的一个 ’ 号 ,避免语法出错。

3、关于’ 和 " 嵌套的截图

双引号的嵌套:
在这里插入图片描述

单引号的嵌套:

在这里插入图片描述
可以看出,单双引号可以互相包含,当作字符串;

但双引号里面不可以放一个双引号,单引号里面不可以放一个单引号。

4、or语句的测试
在这里插入图片描述

在or条件下前后如果都为真则返回所有结果,否则只返回条件为真的一方的值。


这就是今天的全部内容了,大家都明白了吗?

最后,欢迎关注我的个人微信公众号哦~

在这里插入图片描述
Peace !
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值