作者:丶平凡世界
來源:SQL資料庫開發
今天開始一個新的基礎系列,是有關SQL基礎知識的,以下是一些可以當工具書使用的參考語句,都是固定寫法,需要的時候可以拿出來參考一下,一些不懂的可以暫時先跳過,紫色代碼均是SQL語句的關鍵字~
AND / OR 並且/或
SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition
ALTER TABLE 修改表
ALTER TABLE table_name ADD column_name datatype--或ALTER TABLE table_name DROP COLUMN column_name
AS (alias) 重命名
--對列名進行重命名SELECT column_name AS column_aliasFROM table_name--對表名進行重命名SELECT column_nameFROM table_name AS table_alias
BETWEEN...AND... 在某個區間
SELECT column_name(s)FROM table_nameWHERE column_nameBETWEEN value1 AND value2
CREATE DATABASE 創建資料庫
CREATE DATABASE database_name
CREATE TABLE 創建表
CREATE TABLE table_name(column_name1 data_type,column_name2 data_type,column_name2 data_type,...)
CREATE INDEX 創建索引
--創建普通索引CREATE INDEX index_nameON table_name (column_name)--創建唯一索引CREATE UNIQUE INDEX index_nameON table_name (column_name)
CREATE VIEW 創建視圖
CREATE VIEW view_name ASSELECT column_name(s)FROM table_nameWHERE condition
DELETE 刪除
--帶條件的刪除DELETE FROM table_nameWHERE some_column=some_value--不帶條件的刪除DELETE FROM table_name
DROP DATABASE 刪除資料庫
DROP DATABASE database_name
DROP INDEX 刪除索引
--SQL Server的寫法DROP INDEX table_name.index_name--DB2/Oracle的寫法DROP INDEX index_name--Mysql的寫法ALTER TABLE table_nameDROP INDEX index_name
DROP TABLE 刪除表
DROP TABLE table_name
GROUP BY 分組
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name
HAVING 分組過濾條件
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameHAVING aggregate_function(column_name) operator value
IN 在某些固定值中查找
SELECT column_name(s)FROM table_nameWHERE column_nameIN (value1,value2,..)
INSERT INTO 插入表
INSERT INTO table_nameVALUES (value1, value2, value3,....)--或INSERT INTO table_name(column1, column2, column3,...)VALUES (value1, value2, value3,....)
INNER JOIN 內連接
SELECT column_name(s)FROM table_name1INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name
LEFT JOIN 左連接
SELECT column_name(s)FROM table_name1LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
RIGHT JOIN 右連接
SELECT column_name(s)FROM table_name1RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
FULL JOIN 全連接
SELECT column_name(s)FROM table_name1FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name
LIKE 模糊匹配
SELECT column_name(s)FROM table_nameWHERE column_nameLIKE pattern
ORDER BY 排序
SELECT column_name(s)FROM table_nameORDER BY column_name [ASC|DESC]
SELECT 查找
SELECT column_name(s)FROM table_name
SELECT * 查找表的所有欄位
SELECT *FROM table_name
SELECT DISTINCT 查找去除重複的列
SELECT DISTINCT column_name(s)FROM table_name
SELECT INTO 查詢結果插入表
SELECT *INTO new_table_name [IN externaldatabase]FROM old_table_name--或SELECT column_name(s)INTO new_table_name [IN externaldatabase]FROM old_table_name
SELECT TOP 查詢前N條記錄
SELECT TOP number|percent column_name(s)FROM table_name
TRUNCATE TABLE 清空表
TRUNCATE TABLE table_name
UNION 去重併集
SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2
UNION ALL 不去重併集
SELECT column_name(s) FROM table_name1UNION ALLSELECT column_name(s) FROM table_name2
UPDATE 更新
UPDATE table_nameSET column1=value, column2=value,...WHERE some_column=some_value
WHERE 條件過濾
SELECT column_name(s)FROM table_nameWHERE column_name operator value