SQL語法摘要



1、SQL 對大小寫不敏感,但對其中存入的數據敏感
2、分號是在數據庫系統中分隔每條 SQL 語句的標準方法,這樣就可以在對服務器的相同請求中執行一條以上的語句。
如果您使用的是 MS Access 和 SQL Server 2000,則不必在每條 SQL 語句之後使用分號,不過某些數據庫軟件要求必須使用分號。
3、可以把 SQL 分爲兩個部分:數據操作語言 (DML) 和 數據定義語言 (DDL)。
查詢和更新指令構成了 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 - 刪除索引


a、SELECT 語句
    SELECT 列1名稱,列2名稱 FROM 表名稱
    SELECT * FROM 表名稱
b、SELECT DISTINCT 語句
    SELECT DISTINCT 列名稱 FROM 表名稱(是否可以選擇多列)????
c、WHERE 子句
    SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值
(select * from c where a是否可以 select b,d from c where a 即:是隻能選整行數據還是可以選擇部分列且不包含where中的列)???????????
d、AND & OR 運算符
e、ORDER BY 子句(DESC、ASC)
f、INSERT INTO 語句(可以選擇列插入)
    INSERT INTO 表名稱 VALUES (值1, 值2,....)
    INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
g、Update 語句
    UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
h、DELETE 語句
    DELETE FROM 表名稱 WHERE 列名稱 = 值
    DELETE * FROM table_name
i、TOP 子句
    SELECT TOP number|percent column_name(s) FROM table_name
j、LIKE 操作符
    SELECT column_name(s) FROM table_name WHERE column_name (NOT)LIKE pattern
k、通配符
    %    _    [charlist]    [^charlist]或者[!charlist]
l、IN 操作符
    SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
m、BETWEEN 操作符
    SELECT column_name(s) FROM table_name WHERE column_name (NOT)BETWEEN value1 AND value2
n、Alias(別名)
    SELECT column_name(s) FROM table_name AS alias_name
    SELECT column_name AS alias_name FROM table_name
o、JOIN
     * JOIN: 如果表中有至少一個匹配,則返回行(INNER JOIN 與 JOIN 是相同的。)
    SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name
    * LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
    SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
    * RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行
    SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
    * FULL JOIN: 只要其中一個表中存在匹配,就返回行
    SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name
p、UNION 和 UNION ALL 操作符
    UNION 操作符選取不同的值。如果允許重複的值,請使用 UNION ALL。
    SELECT column_name(s) FROM table_name1 UNION
SELECT column_name(s) FROM table_name2
    SELECT column_name(s) FROM table_name1 UNION ALL
SELECT column_name(s) FROM table_name2
q、SELECT INTO 語句 (可以添加 WHERE,JOIN子句。)
    SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
    SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename
    IN 子句可用於向另一個數據庫中拷貝表:
    SELECT * INTO Persons IN 'Backup.mdb' FROM Persons
r、CREATE DATABASE 語句
    CREATE DATABASE database_name
s、CREATE TABLE 語句
    CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
....
)
t、約束 (Constraints)
    *  NOT NULL
    * UNIQUE
    * PRIMARY KEY
    * FOREIGN KEY
    * CHECK
    * DEFAULT
u、DROP 語句撤銷索引、表以及數據庫
    DROP INDEX index_name ON table_name    in access
    DROP INDEX table_name.index_name        in mssql
    ALTER TABLE table_name DROP INDEX index_name in mysql

    DROP TABLE 表名稱
    DROP DATABASE 數據庫名稱
    
    TRUNCATE TABLE 表名稱    僅僅刪除表格中的數據
v、ALTER TABLE 語句
    ALTER TABLE table_name ADD column_name datatype
    ALTER TABLE table_name DROP COLUMN column_name
    ALTER TABLE table_name ALTER COLUMN column_name datatype
w、AUTO INCREMENT 字段
x、VIEW(視圖)
    CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
    CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
    DROP VIEW view_name
y、NULL 值
    IS NULL 和 IS NOT NULL 操作符

z、SQL 函數
    SQL 函數
    COUNT() 函數
    FIRST() 函數
    FIRST() 函數
    MAX() 函數
    MIN() 函數
    SUM() 函數
    GROUP BY 語句
    HAVING 子句
    UCASE() 函數
    LCASE() 函數
    MID() 函數
    LEN() 函數
    ROUND() 函數
    NOW() 函數
    FORMAT() 函數
   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章