標籤:weight val between 括弧 語句 串連 複製 size 部分
SELECT * FROM table1SELECT * FROM table1 WHERE id >= 1 AND id<=20 AND id IN(1,2,3,4,5,6,7,8,9) OR (id BETWEEN 1 AND 10)SELECT * FROM table3 WHERE t3Date >= ‘2011-08-10‘SELECT * FROM table1 WHERE id IS NOT NULL GROUP BY id,t1Name ORDER BY id,t1NameSELECT * FROM (SELECT a.*,b.t2Value FROM table1 a LEFT JOIN table2 b ON a.id = b.t2Table1Id) aSELECT a.*,b.* FROM table1 a LEFT JOIN table2 b ON a.id = b.t2Table1Id/*顯示a表中所有資料與b表中所有符合關聯條件的資料,b表中有多條滿足a表條件的行,則b表所有滿足的行都顯示,結果中對應a表顯示部分的內容相同。如果a表中某條資料在b表中沒有關聯資料,則查詢結果該條記錄對應b表列為null空*/SELECT a.*,b.* FROM table1 a RIGHT JOIN table2 b ON a.id = b.t2Table1Id/*顯示b表中所有資料與a表中所有符合關聯條件的資料。如果b表中某條資料在a表中沒有關聯資料,則查詢結果該條記錄對應a表列為null空*/SELECT a.*,b.* FROM table1 a INNER JOIN table2 b ON a.id = b.t2Table1Id/*只顯示a表b表中所有與對方有對應的資料*/-- 把 UNION 前後兩語句查詢的結果累加起來,並且結果中欄位值完全一樣的多條記錄只保留一條,再返回結果。UNION前後倆語句查詢的欄位名及順序必須一致SELECT field1 FROM table1 WHERE id <10UNIONSELECT field1 FROM table1 WHERE id >20-- 返回資料庫最後插入的id值SELECT @@IDENTITY AS id;SELECT LAST_INSERT_ID() AS id;UPDATE table4 a LEFT JOIN table5 b ON a.table5_id = b.id SET a.name = CONCAT(a.name, ‘.html‘) WHERE b.id = 1;-- CONCAT(a.name, ‘.html‘)CONCAT()將兩字串串連後返回-- 批插入INSERT INTO table1(id, t1Name) VALUES(1, ‘name1‘), (2, ‘name2‘), (3, ‘name3‘);CREATE TABLE table6 AS SELECT a.id,b.name FROM table4 a LEFT JOIN table5 b ON a.table5_id = b.id WHERE b.id = 1;-- 用查詢結果建立新表,可用來複製表-- 為輸出結果加排序號SELECT (@i:=@i+1) AS num,b.test_field2 FROM test_table aLEFT JOIN test_table2 b ON a.id = b.test_table_id,(SELECT @i:=0) AS num_table-- =========================================常用函數,其中參數均可用欄位代替-- 彙總函數SELECT SUM(id) FROM table1 -- 擷取括弧內欄位的和;SELECT COUNT(*) FROM table1 -- 擷取括弧內參數的個數;-- 邏輯函數SELECT IF(2>1, ‘2大於1‘, ‘2不大於1‘) -- 判斷第一個參數,真返回第二個參數,假返回第三個參數;SELECT IFNULL(NULL,0) -- 判斷第一個參數,不是NULL返回第一個參數,是NULL返回第二個參數;SELECT CASE 1 WHEN 1 THEN ‘這是1‘ WHEN 2 THEN ‘這是2‘ WHEN 3 THEN ‘這是3‘ END AS a -- 判斷CASE後面的參數值與哪個WHEN的值相等,就返回這個WHEN對應的THEN的值,不限制WHEN與THEN的個數;SELECT CONCAT(‘a‘,‘b‘,‘c‘) -- 將括弧內參數值串連起來再返回,參數個數無限制;-- 取整函數SELECT CEIL(1.2) -- 向上取整,擷取大於參數的最小整數,輸出2;SELECT FLOOR(1.2) -- 向下取整,擷取小於參數的最大整數,輸出1;SELECT ROUND(1.2),ROUND(1.6) -- 四捨五入取整;-- 時間函數SELECT NOW() -- 擷取當前格式化時間 輸出 2014-10-16 00:26:04;SELECT UNIX_TIMESTAMP(NOW()) -- 擷取括弧內格式化時間的時間戳記,括弧為空白則返回目前時間戳;SELECT UNIX_TIMESTAMP(UTC_DATE()) -- 當天0點時間戳記;SELECT FROM_UNIXTIME(1413388191, ‘%Y-%m-%d %H:%i:%s‘) -- 根據第二參數格式化時間,第二參數可以不寫,輸出2014-10-15 23:49:51;-- 混合應用SELECT IF(1 IS NOT NULL,CONCAT(‘1‘,‘不是‘,‘NULL‘),‘是NULL‘) AS a;
mysql常用sql語句