欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Mysqlsql语句回顾1_MySQL

程序员文章站 2022-05-03 17:29:16
...
检索出不存在相同值的列表可以加上DISTINCT关键字

SELECT DISTINCT vend_id FROM products;

可以使用LIMIT子句来限制返回结果的数量

SELECT prod_name FROM products LIMIT 5;

LIMIT子句同样拥有offset的功能,就是设定从第几条数据开始获得

SELECT prod_name FROM products LIMIT 5,5;

代表从第五个数据开始的五条数据

虽然LIMIT具有offset的功能,但是Mysql还是提供了OFFSET子句

SELECT prod_name FROM products LIMIT 5 OFFSET 5;

mysql的索引值是从0开始的

可以使用ORDER BY子句来给数据进行排序,该子句取一个或多个列的名字,据此对输出进行排序

SELECT prod_name FORM products ORDER BY prod_name;

该子句可是用非检索的列排序数据

ORDER BY子句可以选择使用多个列排序,所选列之间使用逗号隔开。

ORDER BY 子句要仿造WHERE子句之后

ORDER BY子句可以指定排序的方向(升序和降序),默认是升序,如果想变为降序需要在ORDER BY 子句的最后加上DESC

DESC关键字只应用到直接位于其前面的列名,可以使用如下的查询方式

SELECT prod_name,prod_price,prod_id FROM products ORDER BY prod_name DESC,prod_name;

WHERE 子句的操作符号中判断相等使用=判断不相等使用符号,和编程语言当中略显不同

通过使用BETWEEN关键字来进行范围值检查

SELECT prod_name,prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;

使用IS NULL来进行空值检查

SELECT prod_name FROM products WHERE prod_price IS NULL

该语句返回没有价格的产品数据

mysql中存在几个逻辑操作符,分别是以下几个

AND OR IN NOT

SELECT prod_id,prod_price,prod_name FROM products WHERE vend_id=1003 AND prod_price

SELECT prod_name,prod_price FROM products WHERE vend_id=1002 OR vend_id=1003;取并集

SELECT prod_name,prod_price FROM products WHERE vend_id IN(1002,1003) ORDER BY prod_name; 取交集

SELECT prod_name,prod_price FROM products WHERE vend_id NOT IN(1002,1003) ORDER BY prod_name; 取并集的补集

可以使用圆括号来标记计算次序

%通配符表示任何字符出现任意次序,使用LIKE操作符

SELECT prod_id,prod_name FROM products WHERE prod_name LIKE ‘jet%’;

该查询语句会查询所有prod_name字段以jet开头的行

_通配符匹配单个任意字符

SELECT prod_id,prod_name FROM products WHERE prod_name LIKE ‘_ ton anvil’;

该查询语句查询任何以ton anvil 为结尾并且在其之前只有一个字符的所有行

不要过度使用通配符,如果其他操作能达到相同的目的,应该使用其他操作符。

在确实需要通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处,这样最慢。

相关标签: 语句