一个数据库通常包含一个或多个表,每个表有一个名字标识(例如:"Websites"),表包含带有数据的记录(行)。
在本教程中,我们在 MySQL 的 RUNOOB 数据库中创建了 Websites 表,用于存储网站记录。
我们可以通过以下命令查看 "Websites" 表的数据:
mysql> use RUNOOB;
Database changed
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT * FROM Websites;
+----+--------------+---------------------------+-------+---------+
+----+--------------+---------------------------+-------+---------+
<table>
<tr>
<th>1</th>
<th>Google</th>
<th>https://www.google.cm/</th>
<th>1</th>
<th>USA</th>
</tr>
<tr>
<td>3</td>
<td>菜鸟教程</td>
<td>http://www.runoob.com/</td>
<td>4689</td>
<td>CN</td>
</tr>
<tr>
<td>4</td>
<td>微博</td>
<td>http://weibo.com/</td>
<td>20</td>
<td>CN</td>
</tr>
<tr>
<td>5</td>
<td>Facebook</td>
<td>https://www.facebook.com/</td>
<td>3</td>
<td>USA</td>
</tr>
</table>
+----+--------------+---------------------------+-------+---------+
5 rows in set (0.01 sec)
SELECT * FROM Websites; 读取数据表的信息。
上面的表包含五条记录(每一条对应一个网站信息)和5个列(id、name、url、alexa 和country)。
SQL 语句
您需要在数据库上执行的大部分工作都由 SQL 语句完成。
下面的 SQL 语句从 "Websites" 表中选取所有记录:
SELECT * FROM Websites;在本教程中,我们将为您讲解各种不同的 SQL 语句。
请记住...
SQL 对大小写不敏感:SELECT 与 select 是相同的。
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 语句和语法:
SELECT column_name(s)
FROM table_name
WHERE condition
ORDER BY column_name [ASC|DESC]
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition
DELETE FROM table_name
WHERE condition
CREATE TABLE table_name (
column1 data_type constraint,
column2 data_type constraint,
...
)
ALTER TABLE table_name
ADD column_name data_type
或:
ALTER TABLE table_name
DROP COLUMN column_name
DROP TABLE table_name
CREATE INDEX index_name
ON table_name (column_name)
DROP INDEX index_name
ON table_name
SELECT column_name(s)
FROM table_name
ORDER BY column_name [ASC|DESC]
SELECT column_name(s), aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column_name(s)
aggregate_function: 聚合函数(如 COUNT、SUM、AVG 等)。
SELECT column_name(s), aggregate_function(column_name)
FROM table_name
GROUP BY column_name(s)
HAVING condition
SELECT column_name(s)
FROM table_name1
JOIN table_name2
ON table_name1.column_name = table_name2.column_name
JOIN: 可以是 INNER JOIN、LEFT JOIN、RIGHT JOIN 或 FULL JOIN。
SELECT DISTINCT column_name(s)
FROM table_name
来源:https://www.runoob.com/sql/sql-syntax.html