Mysql: select

1、查询所有的字段是指查询表中的所有字段的数据有两种方式

1、1 列出表的所有的字段,可以改变字段的显示顺序。

SELECT article_id,article_title from blog_article;

1、2 使用“*”查询所有字段,只能按照表中字段的顺序进行排列,不能改变字段的排列顺序

SELECT * from blog_article;

2、查询指定的字段

SELECT article_title from blog_article;

3、查询指定记录 用户可以根据自己的需要来设置查询条件,WHERE子句指定查询条件

WHERE 条件表达式
SELECT article_id,article_title from blog_article where article_id = 5;

4、带in关键字的查询

in关键字判断某个字段的值是否在指定的集合中其中“NOT”是可选参数,加上NOT表示不在集合中,各元素之间是有逗号隔开,字符型元素需要加上单引号(‘’)。

[NOT] IN (元素1、元素2、、、、、元素n)
SELECT article_id,article_title from blog_article where article_id in(1,2,3)
SELECT * from blog_user where user_name in ('admin')

5、带between and 的范围查询

between and 关键字可以潘森某个字段的值是否在指定的范围内

[NOT] BETWEEN  取值1 AND 取值2

其中NOT是可选参数表示某个值不在指定的范围内,between and的范围是大于等于取值1小于等于取值2

SELECT * from blog_article  where article_id  between 1 and 5

6、查询空值 

IS NULL 关键字可以用来判断字段的值是否为空值(NULL)

IS [NOT] NUll
SELECT * from blog_article  where cate_id is NULL
SELECT * from blog_article  where cate_id is NOT NULL

7、带like的字符匹配查询

LIKE关键字可以匹配字符串是否相等。如果字段的值与指定的字符串匹配,则满足查询条件,反之则不满足条件查询。

[NOT] LIKE '字符串'3

“NOT”是可选参数,加上NOT表示与指定的字符串不匹配时满足条件,‘字符串’表示指定用来匹配的字符串,该字符串必须加单引号或者双引号,字符串参数的值可以是一个完整的字符串,也可以是包含百分号(%),或者下划线(_)的通配符。但是%和_有很大的差别。

注意:“%”可以代表任意长度的字符串,长度可为为0,例如:b%k表示以字母b开头,以字母k结尾的任意长度的字符串。该字符串可以代表bk、buk、book等字符串。“_”只能表示单个字符,例如,b_k表示以字母b开头,以字母k结尾的3个字符串,中间的“_”可以代表任意一个字符串,字符串可以代表bok、bak和buk等字符串

7、1   使用like关键字来匹配一个完整的字符串‘admin’

SELECT * FROM blog_user where user_name like 'admin'

此处的like与等号(=)是等价的,可以直接换成等号(“=”)。查询结果是一样的。这只对匹配一个完整的字符串这种情况有效。如果字符串中包含有通配符,就不能这样进行替换。

7、2   “%”匹配的三种情况

SELECT * FROM blog_user where user_name like "ad%";//匹配以ad开始的字符串
SELECT * FROM blog_user where user_name like "%ad%";//匹配包含ad的字符串
SELECT * FROM blog_user where user_name like "%ad";//匹配以ad结束的字符串

7、3  “_”匹配的一种情况

SELECT * FROM blog_user where user_name like "a_min";//匹配以a_min结束的字符串

注意:需要匹配的字符串需要加引号,可以是单引号,也可以是引号。如果要匹配姓杨且名字只有两个字的人的记录,“张”字后面必须有两个“_”符合。因为一个汉字是两个字符。而一个“_”符号只能代表一个字符。因此、匹配的字符串应该为”杨__”。必须是两个“_”符合。

SELECT * FROM blog_user where user_name like "adm__";//匹配以admin结束的字符串
SELECT * FROM blog_user where user_name like "杨__";//匹配以杨述秋结束的字符串

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注