Web安全学习笔记(八):SQL-结构化查询语言
SQL概述:
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
具体的用途也就一句话概括:访问和操作数据库。
简单来说SQL就是一套标准,另外还可以针对自己的数据库做相应的扩展。
常见的数据库:MySql,ACCESS,DB2,Oracle,SQL Server.....
不同的数据库,有些语法地方有些出入,但是整体还是以SQL这套标准执行的。
waring:
SQL语句对大小写不敏感。
SQL语句中以 ;代表语句结束。
SQL实验环境:(以MySql为例)
phpstudy环境下的Mysql命令行,通过这个可以简单的对sql操作数据库有个基本的了解了。
SQL语法:(以MySQL为例)
三大操作步骤:
操作数据库:创建,查看,切换/使用数据库,删除数据库。
操作数据表:创建,查看,插入数据表,查询数据表中的数据。
操作具体数据:更改数据,删除数据。
一、操作数据库:
创建数据库:
CREATE DATABASE 要被创建数据库的名称;
查看数据库:
SHOW databases;
切换/使用数据库:
USE 目标数据库名称;
删除数据库:
DROP DATABASE 要删除数据库的名称;
二、操作数据表:
这就是一个数据表,一个数据表中,有表头,键值,行值,列值。
创建数据表:
CREATEA TABLE 表名(
id int(4) not null primary key auto_increment,
列名1 not null,
列名2 not null
);
查看数据表:
SHOW tables;
插入数据:
INSERT INTO 表名(列名1,列名2) VALUES ('具体数据1','具体数据2');
查询数据表中的数据:
SELECT * FROM 数据表名;
删除数据表:
DROP TABLE 数据表名;
Waring:
创建数据表前应先切换到某个数据库中,否则创建不成功,提示错误。
not null:意思为不能为空。
primary key:意思为键值。
auto_increment:意思为自增长。
*:通配符,意思为所有数据。
三、数据操作:
更新/更改数据:
UPDATE 数据表名 SET 列名='要替换的值' WHERE id=键值;
删除数据:
DELETE FROM 数据表名 WHERE 列名='具体数值';
DELETE FROM 数据表明 WHERE id=键值;
四、SQL几个基本语法:
WHERE 句子(从哪里来~):
SELECT 你要的信息 FROM 数据表(或多个) WHERE 满足的条件(条件判断);
ORDER BY 句子(排排序~):
SELECT 你要的信息 FROM 数据表(或多个) ORDER BY 字段(可以是表头名) ASC/DESC
ASC:升序(默认)
DESC:降序
UNION 句子(连在一起~):
SELECT 你要的信息 FROM 数据表1 UNION SELECT 你要的信息 FROM 数据表2
UNION:不显示重复数据
UNION ALL:显示重复数据
五、其他一些东西:
1.MySql注释:
# :单行注释
-- :单行注释
/*...*/ :多行注释从/* 开始到 */结束
2.常见内置函数:
database():获取当前数据库名称
current_user():获取当前用户
load_file():返货一个文件的内容
verison():获取当前数据库版本
into + outfile:写入文件
使用方法:
SELECT 你要用的函数;
------不要假装你很努力-----