- SQL(Structured query language):结构化查询语言
- MySQL是一种DBMS(数据库管理系统),即是一种数据库软件
打开数据库: USE house;
返回可用数据库列表: SHOW DATABASES;
获得一个数据库内表的列表 :SHOW TABLES;
显示表列:
SHOW COLUMNS FROM house;
或者
DESCRIBE house;
SELECT语句 – where and what
检索单列:
SELECT prod_name
FROM products;
检索多列:
SELECT prod_name, prod_price
FROM products;
检索所有列:
SELECT *
FROM products;
DISTINCT关键字:返回不同的值
SELECT DISTINCT vend_id
FROM products;
应用于所有的列,不仅仅是前置它的列。
LIMIT关键字:限制返回的行数
SELECT prod_name
FROM products
LIMIT 5;
返回不多于5行
LIMIT 5,5;
从第五行开始索引,MySQL中行数从0开始
LIMIT 5 OFFSET 5;
完全限定名:
products.prod_name 表名.列名
crashcourse.products 数据库名.表名
ORDER BY 子句
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price, prod_name;
首先按价格再按名称排序,仅在多个行prod_price相同时按照prod_name进行排序
ORDER BY prod_price DESC;
降序排序,DESC关键字只应用于位于其前面的列名
WHERE 子句
相等测试:
SELECT prod_name, prod_price
FROM products
WHERE prod_price = 2.50;
若同时使用ORDER BY 和 WHERE子句,ORDER BY子句应该位于WHERE子句后面。
- WHERE 子句操作符
操作符 | 说明 |
---|---|
= ,< , > , <= , >= | |
<> | 不等于 |
!= | 不等于 |
BETWEEN … AND … | 指定的两个值之间 |
MySQL在执行匹配时不区分大小。
使用单引号限定字符串。
- 空值检查
SELECT prod_name
FROM products
WHERE prod_price IS NULL;