web渗透之数据库基础(读取增删改查)

  大家好啊!我是小菜鸟,一个想学渗透的小白。有志同道合的小伙伴就快加入我吧!欢迎大家指正错误的地方。记得三连鼓励哦!

  我认为数据库的查询是语句是很重要的,这部分学的好对于后面的SQL注入特别有利。

这里以MySQL为例子,先来张图看看数据库的结构。

数据库里有个特殊的数据库包含了所有的数据库名:information_schema

在information_schema里有一个特殊的表包含了所有表名:tables;

在information_schema里有一个特殊的表包含了所有字段名:columns;

MySQL查询语法

MySQL数据库使用SELECT语句来查询数据。

 语法

SELECT column_name,column_name
FROM table_name [WHERE Clause][LIMIT N][ OFFSET M]
  • MySQL查询可以使用一个或者多个表,表与表之间需要用逗号(,)分割开,并且需要使用WHERE语句设置查询条件;
  • SELECT可以读取一条或多条记录;
  • 星号(*)表示SELECT语句会返回数据表的所有字段;
  • WHERE语句是用来设置查询条件的;
  • LIMIT用于限制返回的数据条数。
  • OFFSET用于指定SELECT语句开始查询数据时的偏移量,默认值为0。

联合查询:union select :可以同时查询多个语句;

MySQL常用函数:

1.system_user():系统用户

2.user() 用户名

3.current_user 当前用户名

4.session_user() 连接数据库的用户名

5.database() 数据库名

6.version():MySQL数据库版本

7.@@datadir 读取数据库路径

8.@@basedir MySQL安装路径

9.@@version_complie_os 操作系统

10.select load_file<'c:/123.txt'>;#读取123.txt中的信息

例如:查询当前数据库,数据库版本,当前时间。

select database(),version(),now();

SQL注释

  单行注释:# 我是小菜鸟

  多行注释:/*我是小菜鸟*/

数据的增删改查:

  创建/删除数据库:create/drop database 数据库名;

增:

  新增一条数据
  insert into 表名 values(全部列的值,用”,“分割);
  insert into 表名 (字段1, 字段2) values (值1, 值2);

  新增多行数据
  insert into 表名 values(全部列的值),(全部列的值)....;
  insert into 表名 (字段1, 字段2) values (值1, 值2),(值1, 值2),(值1, 值2)....;

删:

  delete from 表名 where 条件;

  truncate 表名;#清除数据(删掉全表)

改:

  update 表名 set 列1=值1,列2=值2,...where 条件;

查:

  select * from 表名;

  select * from 表名 where 条件;

 

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值