3.1 连接
3.2 选择数据库
use 数据库名
选择一个数据库
3.3 了解数据库和表
SHOW DATABASES;返回可用数据库的一个列表。
SHOW TABLES;返回当前选择数据库内可用表的列表。
SHOW COLUMNS FROM customers;给出一个表名,他对每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息以及其他信息。
SHOW STATUS;显示广泛的服务器状态信息。
SHOW CREATE DATABASE和SHOW CREATE TABLE;分别用来显示创建特定数据库或表的MySQL语句。
4.1 SELECT语句
使用SELECT语句,必须至少给出两条信息——想选择什么,以及从什么地方选择。
4.2 检索单个列
SELECT prob_name
FROM product;
注:没有明确排序查询结果,返回数据的顺序没有特殊意义;多条SQL语句必须以分号分割;SQL语句不区分大小写,许多SQL开发人员喜欢对所有SQL官架子使用大写,而对所有列和表使用小写。
4.3 检索多个列
SELECT prob_id, prob_name, prob_price
FROM products;
注:SQL语句一般返回原始的、无格式的数据。
4.4 检索所有列
使用通配符*
SELECT *
FROM products;
**注:**使用通配符的一大优点是能检索出名字未知的列。
4.5 检索不同的行
DISTINCT关键字:此关键字指示MySQL只返回不同的值。
SELECT DISTINCT vend_id
FROM products;
**注:**不能部分使用DISTINCT。
4.6 限制结果
LIMIT子句:返回第一行或前几行
SELECT prob_name
FROM products;
LIMIT 5; -- 返回不多于5行
LIMIT 5,5; -- 返回从行5开始的5行,第一个数字为开始位置,第二个数字为要检索的行数。
注:检索出来的第一行为行0而不是行1;当行数不够时,返回它能够返回的行数。
4.7 使用完全限定的表名
SELECT products.prob_name
FROM crashcourse.products;
5.1 排序数据
ORDER BY 一个列或多个列的名字,据此对输出进行排序。
SELECT prob_name
FROM product
ORDER BY prob_name; -- prob_name列以字母顺序排序
注:可以使用非检索列进行排序
5.2 按多个列排序
SELECT prob_name
FROM product
ORDER BY prob_price, prob_name; -- prob_name列以字母顺序排序
注:仅在多个行具有相同的prob_price时才对产品按照prob_name进行排序
5.3 制定排序方向
默认进行升序排序,为了进行降序排序,必须制定DESC关键字。
SELECT prob_name
FROM product
ORDER BY prob_name DESC, prob_name; -- 按照产品价格降序对产品排列,再对产品名进行排序。
采用ORDER BY和LIMIT的组合,能够找出一个列中最高或最低的值。
SELECT prob_price
FROM products
ORDER BY prob_price DESC
LIMIT 1; -- 找出最昂贵的产品
注:应保证ORDER BY子句位于FROM子句之后,LIMIT子句必须位于ORDER BY之后。
6.1 使用WHERE子句
搜索条件也被成为过滤条件
SELECT prob_name, prob_price
FROM product
WHERE prob_price = 2.50;
6.2 WHERE子句操作符
包含的操作符有= <> != < <= > >= BETWEEN
检查单个值:= < <=
不匹配检查:<> !=
范围值检查:BETWEEN
空值检查:IS NULL
7.1 组合WHERE子句
SELECT prob_name, prob_price
FROM products
WHERE vend_id NOT IN (1002, 1003)
ORDER BY prob_name;
8.1 LIKE操作符
通配符:用来匹配值得一部分的特殊字符。
搜索模式:由字符、通配符或两者组成构成的搜索条件。
SELECT prob_name
FROM product
WHERE prob_name LIKE 's%e';
SELECT prob_id, prob_name
FROM products
WHERE prob_name LIKE '_ton anvi1';
注:通配符的处理一般所花时间较长。不要过度使用匹配符;在确定需要时使用通配符;仔细主义通配符的位置。
9.1 正则表达式介绍
9.2 使用MySQL正则表达式