一、无则插入,有则更新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_name FROM information_schema.TABLES WHERE table_name = ‘AdminBonus‘; SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = ‘AdminBonus‘ AND column_name = ‘player_id‘
三、模糊搜索like
SELECT * from Player WHERE sns_id like ‘yemanrentest%‘ //SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号
关于通配符:
%:代替一个或多个
_ : 代替一个
[abc]: 表示字符列中的任何单一字符
[!abc] or [^abc]:不在字符列中的任何单一字符
SELECT * FROM Persons WHERE FirstName LIKE ‘_eorge‘ //第一个字符任意,后面是eorge结束的 SELECT * FROM Persons WHERE LastName LIKE ‘C_r_er‘ SELECT * FROM Persons WHERE City LIKE ‘[!ALN]%‘ // 不以A或L或N开头的
四、extract 提取日期的部分内容
五、distinct 搜索去重复的
SELECT count( DISTINCT ( depart_id ) ) AS num FROM `books`
六、between and 相反 not and //不同版本,是否包含最前和最后两个,都不一样,使用时需谨慎
between and SELECT * FROM Persons WHERE LastName BETWEEN ‘Adams‘ AND ‘Carter‘ 如需使用上面的例子显示范围之外的人,请使用 not between and SELECT * FROM Persons WHERE LastName NOT 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 //很棒
时间: 2024-10-24 06:04:07