SQL 数据库基础

数据库结构基础

image-20230426164654561

image-20230426165200366

如图所示 数据库 为层级结构:

+数据库 ( database )
+ - 表_user ( table_user )
+ - 表_users ( table_users )
+ + - 列_id (column_id)
+ + - 列_username (column_username)
+ + - 列_password (column_password)
+ + + - 数据
+ + + - 数据

数据库语法基础

常用语法:

  • SELECT
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件
  • UNION
SELECT 列名 FROM 表名
UNION
SELECT 列名_1 FROM 表名_1;

​ 注意 使用 UNION 的时候要注意两个表的列数量必须相同。

  • LIMIT
  • SQL #返回表中前number行数据 SELECT column1, column2, ... FROM table_name LIMIT number; #从offset+1行开始返回row_count行数据 SELECT column1, column2, ... FROM table_name LIMIT offset, row_count; #比如 LIMIT 10, 10 返回11-20行数据
  • SQL SELECT * FROM table_name ORDER BY column_name DESC LIMIT 10;
  • 注释
SELECT username,password FROM users WHERE id = ((1)) union select username,password from user;-- )) limit1,1;后面的内容都将被注释
DROP sampletable;# 后面的内容都将被注释
  DROP/*comment*/sampletable`   DR/**/OP/*绕过过滤*/sampletable`    SELECT/*替换空格*/password/**/FROM/**/Members #/**/可用于替换空格
  #/*中间的内容都将被注释*/
  SELECT /*!32302 1/0, */ 1 FROM tablename #这种 /*! 注释仅在MySQL中存在
  • Order by
SELECT column1, column2, ... FROM table_name [WHERE condition] ORDER BY column_name [ASC|DESC];

其中,column1、column2 等表示要查询的列名,table_name 表示要查询的表名,condition 表示查询条件,column_name 表示要按照哪一列进行排序,ASC 或 DESC 表示升序或降序排列。可以使用多个列名来进行排序,多个列名之间用逗号分隔。

# SQL注入中我们常用它来判断列数
SELECT column1, column2 FROM table_name [WHERE condition] ORDER BY 1;# 不报错
SELECT column1, column2 FROM table_name [WHERE condition] ORDER BY 2;# 不报错
SELECT column1, column2 FROM table_name [WHERE condition] ORDER BY 3;# 报错

常用参数:

  • user():当前数据库用户
  • database():当前数据库名
  • version():当前使用的数据库版本
  • @@datadir:数据库存储数据路径
  • concat():联合数据,用于联合两条数据结果。如 concat(username,0x3a,password)
  • group_concat():和 concat() 类似,如 group_concat(DISTINCT+user,0x3a,password),用于把多条数据一次注入出来
  • concat_ws():用法类似
  • hex() 和 unhex():用于 hex 编码解码
  • ASCII():返回字符的 ASCII 码值
  • CHAR():把整数转换为对应的字符
  • load_file():以文本方式读取文件,在 Windows 中,路径设置为 \
  • select xxoo into outfile '路径':权限较高时可直接写文件

原创文章,作者:修行,如若转载,请注明作者昵称:修行及出处:https://www.fjsqywlkj.top/computer/database/4519.html

(0)
上一篇 2024年5月8日
下一篇 2024年5月28日

相关推荐

发表回复

登录后才能评论
在线客服 QQ交流群
返回顶部