您的位置:首页 > 数据库 > MySQL

mysql 常用函数和关键字

2015-03-28 19:07 405 查看
一、无则插入,有则更新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 //很棒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: