標籤:
一、無則插入,有則更新on duplicate key update
insert into playerItem(play_id,item_id,item_count,update_time) values(2013,23,21,133342422) on duplicate key update
item_count = item_count+1,update_time = 184748348438;
二、判斷是否存在表名或欄位
SELECT table_nameFROM information_schema.TABLESWHERE table_name = ‘AdminBonus‘;SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNSWHERE table_name = ‘AdminBonus‘ AND column_name = ‘player_id‘
三、模糊搜尋like
SELECT * from Player WHERE sns_id like ‘yemanrentest%‘ //SQL 使用單引號來環繞文本值(大部分資料庫系統也接受雙引號)。如果是數值,請不要使用引號
關於萬用字元:
%:代替一個或多個
_ : 代替一個
[abc]: 表示字元列中的任何單一字元
[!abc] or [^abc]:不在字元列中的任何單一字元
SELECT * FROM PersonsWHERE FirstName LIKE ‘_eorge‘ //第一個字元任意,後面是eorge結束的SELECT * FROM PersonsWHERE LastName LIKE ‘C_r_er‘SELECT * FROM PersonsWHERE City LIKE ‘[!ALN]%‘ // 不以A或L或N開頭的
四、extract 提取日期的部分內容
五、distinct 搜尋去重複的
SELECT count( DISTINCT (depart_id) ) AS numFROM `books`
六、between and 相反 not and //不同版本,是否包含最前和最後兩個,都不一樣,使用時需謹慎
between andSELECT * FROM PersonsWHERE LastNameBETWEEN ‘Adams‘ AND ‘Carter‘如需使用上面的例子顯示範圍之外的人,請使用 not between andSELECT * FROM PersonsWHERE LastNameNOT BETWEEN ‘Adams‘ AND ‘Carter‘
七、and 和 or 和 limit
SELECT * from books where (press = ‘機械工業出版社‘ or depart_id = 4) and status = 1 limit 2,5 //limit 表示從結果集第二個開始,5個值
八、order by
SELECT * from books where press = ‘機械工業出版社‘ order by update_time desc // asc
九、insert into / update
UPDATE books SET depart_id =3,STATUS =0
WHERE id =3
十、top 在 mysql某些版本不支援,可以用limit取代之
十一、in :允許我們在 WHERE 子句中規定多個值。
SELECT * from books where press in(‘化學工業出版社‘,‘電子工業出版社‘,‘機械工業出版社‘) order by id asc
相關連結:
http://www.w3school.com.cn/sql/sql_wildcards.asp //很棒
mysql 常用函數和關鍵字