SQL 语法

 

1. 数据库 和 表

一个数据库通常包含一个或多个表。每个表都有一个名字标识,表里包含带有数据的记录。

在本教程中,我们在 MySQL 的 CodeBaoku 数据库中创建了一个 website 表,用于存储网站记录。

查看 "website" 表的数据:

mysql> use CodeBaoku;
Database changed

mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM website;
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 编程宝库      | http://www.codebaoku.com/  | 200  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+
5 rows in set (0.01 sec)

范例 SQL 语句解析:

  • use CodeBaoku; 命令用于选择数据库。
  • set names utf8; 命令用于设置使用的字符集。
  • SELECT * FROM website; 读取数据表的信息。
  • 上面的表包含五条记录(每一条对应一个网站信息)和5个列(id、name、url、alexa 和country)。

 

2. SQL 语句规范

我们在数据库上执行的大部分工作都由 SQL 语句完成。

下面的 SQL 语句从 "website" 表中选取所有记录:

SELECT * FROM website;

1)SQL 语句大小写规则

  • SQL 语句的关键字对大小写不敏感:SELECT 与 select 是相同的。
  • Linux/Unix 下数据库名与表名是严格区分大小写的,Windows 不区分。
  • Linux/Unix 下的别名是严格区分大小写的,Windows 不区分。
  • 列名与列的别名对大小写不敏感。
  • 字段内容对大小写不敏感。

2)SQL 语句末端分号

分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 SQL 语句。

在本教程中,我们默认在每条 SQL 语句的末端使用分号。

 

3. 常用 SQL 语句

SELECT 语句用于从数据库中选取数据,选中的数据集合称为结果集。SQL SELECT 语法 SELECT column_name,column_name FROM table_name。