Web安全学习笔记(八):SQL-结构化查询语言

2019-07-25 09:42:36 浏览数 (1)

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 你要用的函数;

0 人点赞