SQL語句整理

在開發中,常常會遇到操作數據庫的情況,但有時候會偶爾想不起標準的SQL語句怎麼寫,雖然網上查一下都能找到,但是畢竟心裏不爽,而且還會影響開發效率,因此,寫篇博文整理下常用的基本的SQL語句,加強記憶。

1、SELECT(基本查詢語句)

SELECT DISTINCT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber DESC//降序
SELECT DISTINCT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber ASC//默認,升序

2、INSERT INTO(插入語句)

INSERT INTO 表名稱 VALUES (值1, 值2,....)//插入完整的一行數據
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)//插入一行中的某些數據
3、UPDATE(更新語句)

UPDATE 表名稱 SET 列名稱 = 新值,列名稱 = 新值,... WHERE 列名稱 = 某值//一次性的更新多個屬性值,用逗號隔開即可
4、DELETE(刪除語句)
DELETE FROM 表名稱 WHERE 列名稱 = 值
5、TOP(取出前n行數據)

SELECT TOP number|percent column_name(s) FROM table_name//SQL Server
SELECT column_name(s) FROM table_name LIMIT number//MY SQL
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number//ORACLE
6、IN(判斷是否在集合中)

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
7、BETWEEN...AND(會選取介於兩個值之間的數據範圍。這些值可以是數值、文本或者日期。)

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
8、SQL Alias(爲屬性或者表取別名)
SELECT YHB.name FROM user AS YHB WHERE name LIKE '%員%';
SELECT LastName AS Family, FirstName AS Name FROM Persons
9、SQL JOIN(表連接,分全連接-內連接-外連接)
(1)INNER JOIN 返回兩個表符合查詢條件的所有值的組合

SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name//等價於
SELECT column_name(s) FROM table_name1,table_name2 WHERE table_name1.column_name=table_name2.column_name

(2)OUTER INNER (返回符合查詢條件的兩表的組合,並且還包含左表[LEFT INNER]或者右表[RIGHT INNER]的所有數據)
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name//LEFT INNER
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name//RIGHT INNER
10、SELECT INTO (從一個表中選取數據,然後把數據插入另一個表中。常用於創建表的備份復件或者用於對記錄進行存檔)

SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename//可以生成到其他數據庫中
11、CREATE DATABASE(建立數據庫)

CREATE DATABASE database_name
12、CREATE TABLE(創建新的表結構)

CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
13、FOREIGN KEY(設置外鍵)

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (O_Id),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
14、DROP(刪除表結構)

DROP TABLE 表名稱,表名稱...//刪除多個表
15、ALTER TABLE(修改表結構,如插入一列,刪除一列,修改數據類型等)
ALTER TABLE table_name ADD column_name datatype//加一列
ALTER TABLE table_name DROP COLUMN column_name//刪除一列
ALTER TABLE table_name MODIFY COLUMN column_name datatype//改變一列的數據類型
16、NULL(IS NULL判斷屬性爲空,IS NOT NULL判斷屬性不爲空)
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NULL
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NOT NULL
17、基本的函數

(1)AVG(求平均值)

SELECT AVG(OrderPrice) AS OrderAverage FROM Orders

(2)SUM(求和)

SELECT SUM(OrderPrice) AS OrderTotal FROM Orders

(3)COUNT(求行數)

SELECT COUNT(column_name) FROM table_name

(4)MAX(取最大值)

SELECT MAX(column_name) FROM table_name

(5)MIN(取最小值)

SELECT MIN(column_name) FROM table_name

(6)GROUP BY

SELECT u_id ,SUM(score) FROM score GROUP BY u_id HAVING u_id=1
(7)UCASE (函數把字段的值轉換爲大寫)
SELECT UCASE(column_name) FROM table_name
(8)LCASE (函數把字段的值轉換爲小寫)
SELECT LCASE(column_name) FROM table_name
(9)ROUND (函數用於把數值字段舍入爲指定的小數位數)

SELECT ROUND(column_name,decimals) FROM table_name//decimals指定保留的小數的位數,例如設置爲0,則返回的數值沒有小數部分













發佈了45 篇原創文章 · 獲贊 21 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章