1.从(FROM) 数据库中的表格内选出(SELECT)。
SELECT "栏位名" FROM "表格名"
2. DISTINCT把所有的资料都抓出,无论资料值有无重复。
SELECT DISTINCT "栏位名" FROM "表格名"
3. WHERE 指令可以被用来由表格中有条件地选取资料。
SELECT "栏位名" FROM "表格名" WHERE "条件"
4. 复杂条件是由二或多个简单条件透过AND 或是OR 的连接而成。
SELECT "栏位名" FROM "表格名" WHERE "简单条件" {[AND|OR] "简单条件"}+
{}+ 代表{}之内的情况会发生一或多次。
5. IN 这个指令可以让我们依照一或数个不连续 (discrete) 的值的限制之内抓出数据库中的值,
SELECT "栏位名" FROM "表格名" WHERE "栏位名" IN ('值一', '值二', ...)
WHERE "栏位名" = '值一'
6. BETWEEN 则是让我们可以运用一个范围 (range) 内抓出数据库中的值。
SELECT "栏位名" FROM " 表格名" WHERE "栏位名" BETWEEN '值一' AND '值二'
7. LIKE 能让我们依据一个套式 (pattern) 来找出我们要的资料。
SELECT "栏位名" FROM "表格名" WHERE "栏位名" LIKE {套式}
8. 我们经常需要能够将抓出的资料做一个有系统的显示。这可能是由小往大(ascending) 或是由大往小(descending)。
SELECT "栏位名" FROM "表格名" [WHERE "条件"] ORDER BY "栏位名" [ASC, DESC]
9.函数:AVG (平均) COUNT (计数) ,MAX (最大值) MIN (最小值) SUM (总合)
SELECT "函数名"("栏位名") FROM "表格名"
10.COUNT 让我们能够数出在表格中有多少笔资料被选出来.
SELECT COUNT("栏位名") FROM "表格名"
11. SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1"
12. HAVING对函数产生的值来设定条件
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" HAVING (函数条件)
13. alias (别名)最常用到的别名有两种: 栏位别名及表格别名。
SELECT "表格别名"."栏位1" "栏位别名" FROM "表格名" "表格别名"
14. 在一个SQL 语句中放入另一个SQL 语句。当我们在WHERE 子句或WHERE 子句或HAVING 子句中插入另一个SQL 语句时,我们就有一个subquery 的架构。
SELECT "栏位1" FROM "表格" WHERE "栏位2" [比较运算素] (SELECT "栏位1" FROM "表格" WHERE [条件])
15. UNION 指令的目的是将两个 SQL 语句的结果合并起来。
[SQL 语句 1] UNION [SQL 语句 2]
16. UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。
[SQL 语句 1] UNION ALL [SQL 语句 2]
17. UNION 是联集,而 INTERSECT 是交集。
[SQL语句 1] INTERSECT [SQL语句 2]
18. MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃。
[SQL 语句 1] MINUS [SQL 语句 2]
19. CONCAT()只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'||'来一次串连多个字串。
20. SQL 中的substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR(), SUBSTRING() Oracle: SUBSTR() SQL Server: SUBSTRING() 最常用到的方式如下 (在这里我们用SUBSTR()为例): SUBSTR(str,pos): 由中,选出所有从第位置开始的字元。请注意,这个语法不适用于SQL Server上。SUBSTR(str,pos,len): 由中的第位置开始,选出接下去的个字元。
21. SQL 中的TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称: MySQL: TRIM(), RTRIM(), LTRIM() Oracle: RTRIM(), LTRIM() SQL Server: RTRIM(), LTRIM() 各种 trim 函数的语法如下: TRIM([[位置] [要移除的字串] FROM ] 字串): [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除。
22. CREATE TABLE 的语法是:
CREATE TABLE "表格名" ("栏位 1" "栏位 1 资料种类", "栏位 2" "栏位 2 资料种类", ... )
23. 视观表(Views) 可以被当作是虚拟表格。它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料。建立一个视观表的语法如下:
CREATE VIEW "VIEW_NAME" AS "SQL 语句"
24.索引(Index) 可以帮助我们从表格中快速地找到需要的资料。
在表格上建立索引是一件有利于系统效率的事。一个索引可以涵盖一或多个栏位。建立索引的语法如下:CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME) 在表格上建立索引是一件有利于系统效率的事。一个索引可以涵盖一或多个栏位。建立索引的语法如下:
CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME)
25. ALTER TABLE 的语法如下: ALTER TABLE "table_name"
加一个栏位
删去一个栏位
改变栏位名称
改变栏位的资料种类
26. DROP TABLE的语法来让我们清除表格。
DROP TABLE 的语法是: DROP TABLE "表格名"
27. 一次输入一笔资料的语法如下:
. INSERT INTO "表格名" ("栏位1", "栏位2", ...) VALUES ("值1", "值2", ...)
28.修改表格中的资料。
这个指令的语法是:
UPDATE "表格名"
SET "栏位1" = [新值]
WHERE {条件}
29.需要直接由数据库中去除一些资料。这可以藉由DELETE FROM 指令来达成。它的语法是:
DELETE FROM "表格名" WHERE {条件}