天天看點

SQL語句快速介紹

在做機房收費系統時,因為要查詢和處理資料庫中的資料,是以用到了大量SQL語句。SQL(Structured Query Language)指結構化查詢語言,是用于通路和處理資料庫的标準的計算機語言。

SQL的作用有很多,包括從資料庫中擷取資料,插入、更新資料庫中的資料,删除資料庫記錄,建立、修改新資料庫,在資料庫中建立、删除表等。

本來打算就寫幾個簡單的我常用的語句的介紹,但是寫着寫着就不會寫了,看到了這個快速參考用的表,就想将他加以整理,這樣也很清晰。這些資料都是原有的,我隻是加以整理、整合。一些簡單的介紹,隻是希望在使用SQL語句時能想到有這麼個語句。

注:常用的黑體顯示。這裡的常用和不常用,是我根據自己是否用過決定的。

列名(s) 符合條件的所有列

語句

文法

作用/解釋

輔助語句

不能單獨使用,可以和SELECT語句組合使用。更好的查詢資料庫資料。

AND / OR

SELECT 列名(s)

FROM 表名WHERE 條件

AND|OR 條件

And,同True才True;Or:同False才False。

AS (alias for column)

SELECT 列名 AS 列的别名

FROM 表名

為列名稱指定别名。

AS (alias for table)

SELECT 列名FROM 表名AS 表的别名

為表名稱指定别名。

BETWEEN

SELECT 列名(s)FROM 表名WHERE 列名

BETWEEN 值1 AND 值2

BETWEEN 操作符在 WHERE 子句中使用,作用是選取介于兩個值之間的資料範圍。這些值可以是數值、文本或者日期。

GROUP BY(注1)

SELECT 列名, 合計函數(列名)

WHERE 列名 操作符 值

GROUP BY 列名

用于結合合計函數(如SUM),根據一個或多個列對結果集進行分組。

HAVING

SELECT 列名1,合計函數(列名2)FROM 表名

GROUP BY 列名1 HAVING

SUM(列名2) 條件 值

在 SQL 中增加 HAVING 子句,可與合計函數一起使用。

IN

SELECT 列名(s)FROM

表名WHERE

列名IN (值1,值2,..)

IN 操作符允許我們在 WHERE 子句中規定多個值。

和And相似。

LIKE(注2)

NOTLIKE

SELECT 列名(s) FROM

表名WHERE 列名LIKE

指定模式

LIKE 操作符用于在 WHERE 子句中搜尋列中的指定模式。

ORDER BY

ORDER BY 列名 [ASC|DESC]

用于根據指定的列對結果集進行排序。

預設按照升序對記錄進行排序。降序對記錄進行排序,可以使用 DESC 關鍵字。

WHERE

SELECT 列名(s)FROM 表名WHERE 條件

如需有條件地從表中選取資料,可将 WHERE 子句添加到 SELECT 語句。

查詢語句 Select

SELECT

根據列名,擷取表中一列或多列。

SELECT *

SELECT * FROM 表名

擷取表中所有列

SELECT DISTINCT

列名(s) FROM 表名

用于傳回唯一不同的值。

在表中,可能會包含重複值。Distinct可以隻列出不同值。相同值合并。

SELECT INTO

(used to create backup copies of tables)

SELECT * INTO 新表名

FROM 原表名

or

INTO 新表名FROM 原表名

SELECT INTO 語句從一個表中選取資料,然後把資料插入另一個表中。

SELECT INTO 語句常用于建立表的備份複件或者用于對記錄進行存檔。

建立 Create 

建立新資料庫、新索引、新表、唯一的索引、新視圖

CREATE DATABASE

CREATE DATABASE 資料庫名

建立資料庫

CREATE INDEX (注3)

CREATE INDEX 索引名

ON 表名 (列名)

在表中建立索引。

CREATE TABLE

CREATE TABLE 表名

(列名1 資料類型,

列名2 資料類型,.......)

建立表

CREATE UNIQUE INDEX

索引名ON 表名(列名)

在表上建立一個唯一的索引。唯一的索引意味着兩個行不能擁有相同的索引值。

Note:列名,規定需要索引的列。

CREATE VIEW

CREATE VIEW 視圖名AS

建立視圖

增加記錄

ALTER TABLE (add column)

ALTER TABLE 表名

ADD 列名 datatype

改變表,通過增加列

INSERT INTO

INSERT INTO 表名

值S (值1, 值2,....)

(列名1, 列名2,...)

插入新記錄

删除 Delete /Drop(撤銷)

ALTER TABLE (drop column)

DROP COLUMN 列名

改變表,通過删除列

DELETE FROM

DELETE(*) FROM 表名

DELETE FROM 表名稱

WHERE 列名稱 = 值

删除所有的行,但不删除表

語句用于删除表中的某行

DROP DATABASE

DROP DATABASE 資料庫名

删除資料庫

DROP INDEX

DROP INDEX 表名.索引名

删除表格中的索引

DROP TABLE

DROP TABLE 表名

删除表(表的結構、屬性以及索引也會被删除)

TRUNCATE TABLE

TRUNCATE TABLE 表名

僅删除表中的資料(不删除表的結構、屬性以及索引)

修改 Update

UPDATE

UPDATE 表名稱 SET

列名稱=新值,列名稱=新值…

WHERE 列名稱 = 某值

修改表中的資料。

注1.

SQL操作符(運算符)

下面的運算符可在 WHERE 子句中使用:

操作符

描述

=

等于

<>

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

在某個範圍内

LIKE

搜尋某種模式

注2.

SQL通配符

在搜尋資料庫中的資料時,SQL 通配符可以替代一個或多個字元。SQL 通配符必須與 LIKE 運算符一起使用。

通配符

%

替代一個或多個字元

_

僅替代一個字元

[charlist]

字元列中的任何單一字元

[^charlist]

[!charlist]

不在字元列中的任何單一字元

注3:

本文轉自蓬萊仙羽51CTO部落格,原文連結:http://blog.51cto.com/dingxiaowei/1366815,如需轉載請自行聯系原作者