码迷,mamicode.com
首页 > 数据库 > 详细

mysql select

时间:2019-03-27 21:33:14      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:between   数字   字符   roo   desc   检索   指定   regexp   不成功   

select distinct user from user;            检索唯一,使用关键字,他必须放在列名前面.

select user from user limit 2;                  检索单个列,指定显示前几行.

select user  from user limit 1,2;              表中第一行代表是0,指定从第1行开始,显示往下的2行,  10,2 同理,显示第10行开始的下2行.

select user.user from user;                       完全限定列名.(同时使用表名和列名)

select user from user order by user;        数据排序,指定列名

select user,host from user ORDER BY user,host;  检索多个列,进行多个列数据排序,

SELECT user,host FROM user ORDER BY user DESC,host;           检索多个列,数据排序, DESC关键字对数据降序排序(z-a,大到小),默认是升序排序 ASC (a-z,小到大).

SELECT user FROM user ORDER BY user DESC limit 1;               使用数据排序和指定行组合,可以显示出一个列中最高或者最低的值.

SELECT user FROM user ORDER BY user limit 1;                   使用数据排序和指定行组合,可以显示出一个列中最高或者最低的值.

子句位置定义:FROM-WHERE-ORDER BY-LIMIT 使用顺序不对,会导致执行不成功.

SELECT user,host FROM user WHERE host = 127;                      检索多个列,显示指定列的值(数字值不需要引号),相等测试

SELECT user,host FROM user WHERE user = ‘root‘ ORDER BY user LIMIT 1;      检索多个列,相等测试(字符串需要引起来),对user列数据排序,显示第一行. 

<   >   != <>   <=      >=

SELECT id FROM user WHERE id BETWEEN 5 AND 10;              BETWEEN操作符,指定两个值,所需范围低值和高值,值之间用AND关键字分隔.BETWEEN操作符表示范围中所有的值(起始和结束).

SELECT user FROM user WHERE host IS NULL;                          检索空值.

SELECT id,name FROM user WHERE nianji = 10 AND id >= 5;              显示id,name列,但是你nianji要等于10,id>=5.  可以添加多个过滤的条件,没添加一条就要使用一个AND. AND可以理解为 并且

SELECT user FROM user WHERE host = 127 OR host = ‘localtion‘;        显示检索匹配任一条件的行.

WHERE 子句的关键字 AND和OR,可以理解为检索匹配 并且,或者. WHERE可包含任意数目的AND和OR操作符.

计算次序, sql 在处理操作符时,优先处理AND操作符,在处理OR操作符, () 圆括号具有较AND和OR操作符高的计算次序. 在使用OR,AND操作符时,应该使用 () 明确分组操作符,不能过分依赖计算次序.

SELECT user,host FROM user WHERE (host = 127 OR host = 12)  AND user = ‘root‘;        检索匹配 () 内的条件,然后计算AND操作.

SELECT user,host FROM user WHERE id IN (1,10) ORDER BY user;                    IN 关键字和OR关键字功能相当,取列内指定范围的清单值,整个清单必须括在圆括号中

SELECT user,host FROM user WHERE id NOT IN (1,10) ORDER BY user;            NOT 关键字否定了跟在它之后的条件,检索条件不匹配1到10 之间的id列,而是匹配1,10值之外的id.(IN 关键字也可以换成OR来使用)

 

WHERE子句关键字:

AND    OR       IN  ( )     NOT       LIKE‘%’       LIKE ‘_’        REGEXP ‘ ’

 

SELECT user,host FROM user WHERE user LIKE ‘r%‘;       LIKE操作符,模糊搜索,LIKE后跟搜索模式 %代表任意字符出现任意次数.(搜索值需要引起来) %不可以匹配NULL值.

SELECT user,host FROM user WHERE host LIKE ‘_2%‘;          _ 代表匹配一个字符.

SELECT user,host FROM user WHERE host REGEXP ‘127‘;          REGEXP正则匹配,显示包含127的所有行.

SELECT user,host FROM user WHERE host REGEXP ‘t.l‘;             正则匹配, . 匹配任意一个字符。

SELECT user,host FROM user WHERE host REGEXP ‘1|local|:‘;          正则匹配,| 表示或者,和OR 用法类似,可以匹配多个 | 。

SELECT user,host FROM user WHERE host REGEXP ‘[1:l]o‘;              正则匹配,[ ]括号内定义一组字符,意思是匹配括号内任一字符,因此,显示匹配到有1o :o lo的行。

SELECT user,host FROM user WHERE host REGEXP ‘[^127.0.0.1]‘;       正则匹配,[^]括号内^号否定括号内内容,显示匹配不是括号内容的行,类似于grep –v。

SELECT user,host FROM user WHERE host REGEXP ‘[1-5]7‘;            正则匹配,[1-5]定义范围,括号内1到5的任意字符,也可以是[3-7],[a-z],[c-e].

SELECT user,host FROM user WHERE host REGEXP ‘\\.‘;                   正则匹配,\\ 转义字符,.是代表任意字符,但是\\.就代表.本身,\\.表示查找. 同理 \\-代表查找- \\\代表查找\

\\也用来表示元字符:

\\f              换页

\\n             换行

\\r              回车

\\t              制表符

\\v             纵向制表

mysql select

标签:between   数字   字符   roo   desc   检索   指定   regexp   不成功   

原文地址:https://www.cnblogs.com/dongboke/p/10610576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!