1. 程式人生 > >SQL語句基礎

SQL語句基礎

-s upd 希望 set sha != font address tro

根據http://www.w3school.com.cn/sql/sql_syntax.asp教程學習, 並在這裏做了筆記。

語法:

SQL 對大小寫不敏感!

如果使用的是 MS Access 和 SQL Server 2000,則不必在每條 SQL 語句之後使用分號,不過某些數據庫軟件要求必須使用分號。

可以把 SQL 分為兩個部分:數據操作語言 (DML) 和 數據定義語言 (DDL)。

SQL (結構化查詢語言)是用於執行查詢的語法。但是 SQL 語言也包含用於更新、插入和刪除記錄的語法。

查詢和更新指令構成了 SQL 的 DML 部分:

    • SELECT - 從數據庫表中獲取數據
    • UPDATE - 更新數據庫表中的數據
    • DELETE - 從數據庫表中刪除數據
    • INSERT INTO - 向數據庫表中插入數據

SQL 的數據定義語言 (DDL) 部分使我們有能力創建或刪除表格。我們也可以定義索引(鍵),規定表之間的鏈接,以及施加表間的約束。

SQL 中最重要的 DDL 語句:

    • CREATE DATABASE - 創建新數據庫
    • ALTER DATABASE - 修改數據庫
    • CREATE TABLE - 創建新表
    • ALTER TABLE - 變更(改變)數據庫表
    • DROP TABLE - 刪除表
    • CREATE INDEX - 創建索引(搜索鍵)
    • DROP INDEX - 刪除索引

SELECT
列名稱 FROM 表名稱
SELECT * FROM Persons
SELECT DISTINCT Company FROM Orders      #關鍵詞 DISTINCT 用於返回唯一不同的值。
SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值
SELECT * FROM Persons WHERE City=‘Beijing‘     #例子中的條件值周圍使用的是單引號。SQL 使用單引號來環繞文本值(大部分數據庫系統也接受雙引號)。如果是數值,請不要使用引號。
操作符描述
= 等於
<> 不等於,在某些版本的 SQL 中,操作符 <> 可以寫為 !=。
> 大於
< 小於
>= 大於等於
<= 小於等於
BETWEEN 在某個範圍內
LIKE 搜索某種模式


文本值:

這是正確的:
SELECT * FROM Persons WHERE FirstName=‘Bush‘
這是錯誤的:
SELECT * FROM Persons WHERE FirstName=Bush

數值:

這是正確的:
SELECT * FROM Persons WHERE Year>1965
這是錯誤的:
SELECT * FROM Persons WHERE Year>‘1965‘

AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。如果第一個條件和第二個條件都成立,則 AND 運算符顯示一條記錄。如果第一個條件和第二個條件中只要有一個成立,則 OR 運算符顯示一條記錄。

SELECT * FROM Persons WHERE (FirstName=‘Thomas‘ OR FirstName=‘William‘) AND LastName=‘Carter‘    #可以把 AND 和 OR 結合起來(使用圓括號來組成復雜的表達式)

ORDER BY 語句用於根據指定的列對結果集進行排序。ORDER BY 語句默認按照升序對記錄進行排序。如果希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC   #以逆字母順序顯示公司名稱,並以數字順序顯示順序號

INSERT INTO 語句用於向表格中插入新的行

INSERT INTO 表名稱 VALUES (值1, 值2,....)
INSERT INTO Persons VALUES (‘Gates‘, ‘Bill‘, ‘Xuanwumen 10‘, ‘Beijing‘)

也可以指定所要插入數據的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO Persons (LastName, Address) VALUES (‘Wilson‘, ‘Champs-Elysees‘)

Update 語句用於修改表中的數據。

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
UPDATE Person SET Address = ‘Zhongshan 23‘, City = ‘Nanjing‘ WHERE LastName = ‘Wilson‘     #修改地址(address),並添加城市名稱(city)

DELETE 語句用於刪除表中的行
DELETE FROM 表名稱 WHERE 列名稱 = 值
DELETE FROM Person WHERE LastName = ‘Wilson‘ 
DELETE FROM table_name      #在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的

或者:

DELETE * FROM table_name      #在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的


SQL語句基礎