MySql必知必会

MySql必知必会

1.检索数据-SELECT语句

1.1检索单个列

SELECT pro_name
FROM products;

1.2检索多个列

SELECT prod_id,prod_name,prod_price
FROM products;

1.3检索所有列

SELECT * 
FROM products;

1.4检索不同的行

SELECT DISTINCT vend_id
FROM products;

DISTINCT关键字应用于所有列而不仅是前置它的列

若指定的列完全相同,则返回一行,否则全部检索

1.5限制结果

SELECT prod_name
FROM products
LIMIT 5;

返回前5行

带一个值是从第一行开始

SELECT prod_name
FROM products
LIMIT 5,5;

从5行开始的5行

第一个数为开始位置

第二个数为要检索的行数

注意

第一行为行0,因此 LIMIT 1,1表示检索出第二行

MySql 5的LIMIT语法

LIMIT 4 OFFSET 3
--等价于
LIMIT 3,4

从3行开始取4行

1.6使用完全限定的表名

SELECT product.prod_name
FROM crashcoures.products;

表名.字段名

数据库名.表名

2.排序检索数据

2.1排序数据

SELECT prod_name
FROM products
ORDER BY prod_name;

2.2按多个列排序

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

检索3个列,并按其中的两个列对结果进行排序

首先按价格,再按名称排序(仅在多个行具有相同的价格时,才按名称排序)

2.3指定排序方向

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

按价格降序排序产品

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

DESC 关键字只应用于直接位于其前面的列名

prod_price列以降序排序,而prod_name列按升序排序

与DESC相反的关键字时ASC(升序)

升序是默认的

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;

位置SELECT--FROM--ORDER BY--LIMIT

最昂贵的物品的值

3.过滤数据

3.1使用WHERE子句

SELECT prod_name,prod_price
FROM products
WHERE prod_price = 2.50;

返回prod_price = 2.50的行

位置SELECT--FROM--WHERE--ORDER BY--LIMIT

3.2WHERE子句操作符

操作符 说明
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两个值之间

3.2.1检查单个值

SELECT prod_name,prod_price
FROM products
WHERE prod_name = 'fuses';

MySql在执行匹配时默认不区分大小写

字符串需要单引号来限定

SELECT prod_name,prod_price
FROM products
WHERE prod_price < 10;

3.2.2不匹配检查

SELECT vend_id,prod_name
FROM products
WHERE vend_id <> 1003;
SELECT vend_id,prod_name
FROM products
WHERE vend_id != 1003;

3.2.3范围值检查

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

BETWEEN 5 AND 10 等价于[5,10]

3.2.4空值检查

SELECT cust_id
FROM customers
WHERE cust_email IS NULL;

4.数据过滤

上一篇:《MySQL必知必会》检索数据,排序检索数据(select ,* ,distinct ,limit , . , order by ,desc)


下一篇:0801-0804训练记录