SQL 是用于访问和处理数据库的标准的打算机措辞。
SQL 是什么?
SQL,指构造化查询措辞,全称是 Structured Query Language。

SQL 让您可以访问和处理数据库。
SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的打算机措辞。
SQL 能做什么?
SQL 面向数据库实行查询
SQL 可从数据库取回数据
SQL 可在数据库中插入新的记录
SQL 可更新数据库中的数据
SQL 可从数据库删除记录
SQL 可创建新数据库
SQL 可在数据库中创建新表
SQL 可在数据库中创建存储过程
SQL 可在数据库中创建视图
SQL 可以设置表、存储过程和视图的权限
SQL 是一种标准 - 但是...
虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的打算机措辞,但是仍旧存在着多种不同版本的 SQL 措辞。
然而,为了与 ANSI 标准相兼容,它们必须以相似的办法共同地来支持一些紧张的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
在您的网站中利用 SQL
要创建一个显示数据库中数据的网站,您须要:
RDBMS 数据库程序(比如 MS Access、SQL Server、MySQL)
利用做事器端脚本措辞,比如 PHP 或 ASP
利用 SQL 来获取您想要的数据
利用 HTML / CSS
RDBMS
RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。
RDBMS 是 SQL 的根本,同样也是所有当代数据库系统的根本,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
RDBMS 中的数据存储在被称为表的数据库工具中。
表是干系的数据项的凑集,它由列和行组成。
SQL 语法数据库表
一个数据库常日包含一个或多个表。每个表由一个名字标识(例如:\"大众Websites\"大众),表包含带有数据的记录(行)。
在本教程中,我们在 MySQL 的 RUNOOB 数据库中创建了 Websites 表,用于存储网站记录。
我们可以通过以下命令查看 \公众Websites\"大众 表的数据:
mysql> use RUNOOB;Database changedmysql> set names utf8;Query OK, 0 rows affected (0.00 sec)mysql> SELECT FROM Websites;+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google | https://www.google.cm/ | 1 | USA || 2 | 淘宝 | https://www.taobao.com/ | 13 | CN || 3 | 头条 | http://www.toutiao.com/ | 4689 | CN || 4 | 微博 | http://weibo.com/ | 20 | CN || 5 | Facebook | https://www.facebook.com/ | 3 | USA |+----+--------------+---------------------------+-------+---------+5 rows in set (0.01 sec)
解析
use RUNOOB; 命令用于选择数据库。
set names utf8; 命令用于设置利用的字符集。
SELECT FROM Websites; 读取数据表的信息。
上面的表包含五条记录(每一条对应一个网站信息)和5个列(id、name、url、alexa 和country)。
SQL 语句
您须要在数据库上实行的大部分事情都由 SQL 语句完成。
下面的 SQL 语句从 \"大众Websites\公众 表中选取所有记录:
实例
SELECT FROMWebsites;
在本教程中,我们将为您讲解各种不同的 SQL 语句。
请记住...
SQL 对大小写不敏感:SELECT 与 select 是相同的。
SQL 语句后面的分号?
某些数据库系统哀求在每条 SQL 语句的末端利用分号。
分号是在数据库系统等分隔每条 SQL 语句的标准方法,这样就可以在对做事器的相同要求中实行一条以上的 SQL 语句。
在本教程中,我们将在每条 SQL 语句的末端利用分号。
一些最主要的 SQL 命令
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修正数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的专有扩展!SQL SELECT 语句
SELECT 语句用于从数据库中选取数据。
SQL SELECT 语句
SELECT 语句用于从数据库中选取数据。
结果被存储在一个结果表中,称为结果集。
SQL SELECT 语法
SELECT column_name,column_name
FROM table_name;
与
SELECT FROM table_name;
演示数据库
在本教程中,我们将利用 RUNOOB 样本数据库。
下面是选自 \"大众Websites\"大众 表的数据:
+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google | https://www.google.cm/ | 1 | USA || 2 | 淘宝 | https://www.taobao.com/ | 13 | CN || 3 | 头条 | http://www.toutiao.com/ | 4689 | CN || 4 | 微博 | http://weibo.com/ | 20 | CN || 5 | Facebook | https://www.facebook.com/ | 3 | USA |+----+--------------+---------------------------+-------+---------+
SELECT Column 实例
下面的 SQL 语句从 \"大众Websites\公众 表中选取 \公众name\公众 和 \"大众country\"大众 列:
实例
SELECTname,countryFROMWebsites;
输出结果为:
SELECT 实例
下面的 SQL 语句从 \公众Websites\公众 表中选取所有列:
实例
SELECT FROMWebsites;
输出结果为:
结果集中的导航
大多数数据库软件系统都许可利用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。
类似这些编程函数不在本教程讲解之列。如需学习通过函数
SQL SELECT DISTINCT 语句SELECT DISTINCT 语句用于返回唯一不同的值。
SQL SELECT DISTINCT 语句
在表中,一个列可能会包含多个重复值,有时您大概希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
SQL SELECT DISTINCT 语法
SELECT DISTINCT column_name,column_name
FROM table_name;
在本教程中,我们将利用 RUNOOB 样本数据库。
下面是选自 \"大众Websites\"大众 表的数据:
+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google | https://www.google.cm/ | 1 | USA || 2 | 淘宝 | https://www.taobao.com/ | 13 | CN || 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN || 4 | 微博 | http://weibo.com/ | 20 | CN || 5 | Facebook | https://www.facebook.com/ | 3 | USA |+----+--------------+---------------------------+-------+---------+
SELECT DISTINCT 实例
下面的 SQL 语句仅从 \"大众Websites\公众 表的 \公众country\"大众 列中选取唯一不同的值,也便是去掉 \"大众country\"大众 列重复值:
实例
SELECTDISTINCTcountryFROMWebsites;
输出结果: