0x00 基础
- 查看本地数据库 show databases
- 查看当前所在数据库 select database();
- 查看目前所处数据库的数据表 show tables;
- 显示数据库版本 select version();
- 查看当前用户 select user();
- 查看当前目录:select @@datadir;
- 查看安装路径:select @@basedir;
SELECT - 从数据库中提取数据
SELECT column_name,column_name FROM table_name;
orSELECT * FROM table_name;
SELECT 语句用于从数据库中选取数据SELECT DISTINCT column_name,column_name FROM table_name;
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。DISTINCT 关键词用于返回唯一不同的值SELECT column_name,column_name FROM table_name WHERE column_name operator value;
WHERE 子句用于提取那些满足指定条件的记录。SELECT column_name,column_name FROM table_name ORDER BY column_name,column_name ASC|DESC;
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
UPDATE - 更新数据库中的数据
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
DELETE - 从数据表中删除数据
DELETE FROM table_name WHERE some_column=some_value;
INSERT INTO - 向数据库中插入新数据
- 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name VALUES (value1,value2,value3,...);
- 第二种形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
- 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- drop database <数据库名>; 删除数据库
CREATE TABLE - 创建新表
CREATE TABLE table_name (column_name column_type);
ALTER TABLE - 变更(改变)数据库表
- ALTER TABLE testalter_tbl DROP i;
- DROP TABLE table_name ; - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
LIKE 子句
- SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
- 如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
- 语法
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
例如:SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';
UNION 操作符
- MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
- MySQL UNION 操作符语法格式:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
0x01
- information_schema,是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。
- Web渗透过程中用途很大
- SCHEMATA表∶提供了当前MySQL实例中所有数据库的信息。是show databases的结果取之此表。
- TABLES表:提供了关于数据库中的表的信息(包括视图)。
- COLUMNS表∶提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。
例子
- 创建数据库test : create database test;
- 创建数据表test : create table test ( 'id'int(11),'user’ varchar(55));
- SCHEMATA表: select * from information_schema.schemata;
- TABLES表: setect * from information_schema.tables where table_schema= 'test';
- COLUMNS表: select * from information_schema.columns where table_name='test';