MySQL总结(三)

来源:互联网 发布:邪恶帝软件下载 编辑:程序博客网 时间:2024/06/07 00:55

“AND”和“OR”子句:

select prod_name,prod_price,prod_id from products where vend_id = 1003 and prod_price <= 10;select prod_name,prod_price,prod_id from products where vend_id = 1003 or prod_price <= 10;

这里写图片描述

这里写图片描述

用“and”和“or”操作符链接多个检索条件,“and”是与的关系,“or”是或的关系。注意:“and”有比“or”更高的优先级,可以使用括号来自定条件的顺序。

“IN”操作符:

select prod_name,prod_price from products where vend_id in(1001,1002,1003) order by prod_name;select prod_name,prod_price from products where vend_id =1001 or vend_id =1002 or vend_id =1003 order by prod_name;

这里写图片描述

第一条指令和第二条指令的功能是相同的。“in”操作符和“or”具有相同的功能,“in”操作符具有清楚直观,容易管理,效率高的优点,所以推荐选“in”操作符。

“NOT”操作符:

select prod_name,prod_price,vend_id from products where vend_id not in(1002,1003) order by vend_id;

这里写图片描述

“not”操作符的作用对“in”,“between”,“exists”子句取反。

“LIKE”操作符:

“like”操作符和通配符配合使用,下面介绍通配符:

“%”:

“%”通配符表示**任何字符出现任意次数。比如:

select prod_name,prod_id from products where prod_name like '%jet%';

这里写图片描述

可以看出来‘%jet%’表示所有含有‘jet’’的prod_name列的行(这里默认的是不区分大小写)如果写作‘jet%’,表示开头是‘jet’’的prod_name列的行。
注意:1.空格也需要匹配。2.“like”不匹配NULL

“_”通配符:

“_”匹配单个字符

正则表达式:

注意使用正则表达式和使用通配符的区别:正则表达式是对行中的数据进行匹配,如果行中包含有匹配的内容,那么就匹配成功,而通配符则是对一整行进行匹配,除非一整行都匹配,否则匹配都不成功。举个例子:

select prod_name from products where prod_name regexp '.000';select prod_name from products where prod_name like '.000';

这里写图片描述

这里写图片描述

注意两个的区别。
MySQL中的正则表达式匹配不区分大小写,可以使用“BINARY”关键字来指定区分大小写,比如:

where prod_name regexp binary 'jetpack';

计算字段:

拼接字段和使用别名:

select concat(vend_name,'(',vend_country,')') as vend_title from vendors order by vend_name;

这里写图片描述

“concat”可以将多个字段拼接起来,中间用逗号分隔。
用“as”来指定别名。

算数计算:

select prod_id,quantity,item_price,quantity*item_price as expended_price from orderitems where order_num = 20005;

这里写图片描述

可以通过算术运算符来实现算术运算,MySQL支持“+”,“-”,“*”,“/”运算符。

原创粉丝点击