MySQL SELECT Statement
SELECT 数据查询命令,从数据表中提取所需数据
当执行SELECT查询时:
- 数据库会按照查询条件检索数据
- 结果会以表格形式返回
- 这个表专业上称为“ 结界表 ”
语法
1 | SELECT column1, column2, ... // column1 列表1 |
如果打印表中所有字段可用简便语法
1 | SELECT * FROM table_name; |
例如: 以下SQL语句从“Customers”表中选择“CustomerName”、“City”和“Country”列
1 | SELECT CustomerName, City, Country FROM Customers; |
MySQL SELECT DISTINCT 语句
该语句用于返回仅包含不同(唯一)值的结果。SELECT DISTINCT
在一个表中,某一列通常包含许多重复值;有时你只想列出不同的(唯一的)值
语法:
1 | SELECT DISTINCT column1, column2, ... |
1 | SELECT DISTINCT Country FROM Customers |
例如:
假设我们有一个名为“Customers”的表,内容如下:
CustomerID | CustomerName | City | Country |
---|---|---|---|
1 | John | New York | USA |
2 | Alice | London | UK |
3 | Bob | Paris | France |
4 | Carol | Los Angeles | USA |
5 | David | Berlin | Germany |
6 | Eve | London | UK |
进行SQL查询:
1 | SELECT DISTINCT Country FROM Customers; |
Country |
---|
USA |
UK |
France |
Germany |
MySQL中的WHERE子句
这个子句用于筛选记录,只有符合特定条件的记录才会被提取出来
WHERE 语句
1 | SELECT column1, column2, ... |
这个从句不仅在陈述句中使用,也可以在
WHERE
、SELECT
、UPDATE
、DELETE
等语句中使用!
例子示例
1 | SELECT * FROM Customers |
文本字段与数字字段
SQL要求文本值使用单引号括起来(大多是数数据库也允许用双引号)
然而,数字字段不应该用引号括起来:
例1
1 | SELECT * FROM Customers |
例2 :假设当前有个 Products (产品表)
1 | SELECT * FROM Products |
注意: 这里还可以用到 < , > , <= , >= 等。
特殊的还有 <>, BETWEEN , LIKE , IN 等。
符号 | 作用 | 举例 | 输出结果 |
---|---|---|---|
<> | 不等于。注意:在某些版本的SQL中,这个操作符可能写作 != | WHERE Price <> 22 | 在Products(产品)表中查询价格不等于22的所有产品信息 |
BETWEEN | 在某个范围之间 | WHERE Price BETWEEN 20 AND 49 ; | 从 Products (产品)表中查询价格在20和49之间的所有产品信息 |
LIKE | 搜索模式 | WHERE City LIKE ‘s%’; | 从 Customers (客户)表中查询城市以字母 s 开头的所有客户信息 |
IN | IN 操作符用于指定多个可能的值。它用于检查某个列的值是否存在于给定的值列表中 |
WHERE City IN (‘Paris’,’London’); | 从 Customers (客户)表中查询城市是 巴黎(Paris)或 伦敦(London)的所有客户信息 |