mysql的基本命令(sql注入前摇)

想要学好sql注入,MySQL数据库要先了解一下。

一、初始库及其功能

1.information_schema库

是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息,比如数据库名,数据库表,表字段的数据类型与访问权限等,web渗透过程中用途很大

(1).SCHEMATA表

提供了当前MySQL实例中所有的数据库信息,show datsbases结果取之此表

(2).TABLES表

提供了关于数据中表的信息

(3).COLUMNS表

提供了表中的列信息,详细描述了某张表的所有列以及每个列的信息

2.mysql库

MySQL库的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。

3.performance_schema库

内存数据库,数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。

4.sys库

通过这个数据库,可以查询谁使用了最多的资源基于IP或是用户。哪张表被访问过最多等等信息。

二、不废话了,直接上基本命令

基本命令

1.注释(符号后面一定要带上空格。注释在sql注入中非常重要)

-- (空格)后面的叫注释
# (空格)后面的叫注释

2.列出所有数据库

SHOW DATABASES;

3.查看某一个数据库的所有表

-- 第一种方法
-- 查看数据库的表之前,先应用一下。格式:USE databasename;
USE mysql;
SHOW TABLES;
-- 第二种方法
SHOW TABLES FROM mysql;

select函数

1.查询时间

SELECT NOW();

2.查看当前的库

SELECT DATABASE();

3.查看mysql版本

SELECT VERSION();

4.查看当前登录数据库的用户

SELECT USER();

5.查询数据路径

SELECT @@datadir;

6.查看mysql安装路径

SELECT @@basedir;

7.查看mysql安装的系统

SELECT @@version_compile_os;

8.查询数据

-- select 查询关键字 from 库名.表名
SELECT * FROM mysql.user;
-- *代表查所有,单独的可指定,指定多个用逗号(,)隔开

9.验证show database来自SCHEMATA表

SELECT * FROM information_schema.`SCHEMATA`;
-- 可以看到schemata表中的全部信息

-- 同理可查询,见上方(初始库及其功能)
SELECT * FROM information_schema.tables;
SELECT * FROM information_schema.`COLUMNS`;

where条件

相当于编程语言中的if,可用于判断a==b

SELECT USER,HOST FROM mysql.user WHERE USER='root';

创建

1.创建库

CREATE DATABASE test CHARSET utf8mb4;

2.创建表

USE test;
-- 创建t1表,包含一列id,数据类型int
CREATE TABLE t1(id INT);

你可能感兴趣的:(mysql,数据库,sql)