SELECT语句基础
基本语法:
SELECT <列名>,... FROM <表名>
select 选取了所需要的字段名称。
from 指定了选取数据的表。
别名可以使用中文,使用中文时需要用双引号(")括起来 A。请注意不是单引号(’)。
SELECT product_id AS "商品编号",
product_name AS "商品名称",
purchase_price AS "进货单价"
FROM Product;
常量查询:
SELECT 子句中不仅可以书写列名,还可以书写常数。SELECT 子句中的第一列 ‘商品’ 是字符串常数,第 2 列 38 是数字常数,第 3 列 ‘2009-02-24’ 是日期常数,它们将与 product_id
列和 product_name 列一起被查询出来。
mysql> SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date,
-> product_id, product_name
-> FROM Product;
+--------+--------+------------+------------+--------------+
| string | number | date | product_id | product_name |
+--------+--------+------------+------------+--------------+
| 商品 | 38 | 2009-02-24 | 0001 | T恤衫 |
| 商品 | 38 | 2009-02-24 | 0002 | 打孔器 |
| 商品 | 38 | 2009-02-24 | 0003 | 运动T恤 |
| 商品 | 38 | 2009-02-24 | 0004 | 菜刀 |
| 商品 | 38 | 2009-02-24 | 0005 | 高压锅 |
| 商品 | 38 | 2009-02-24 | 0006 | 叉子 |
| 商品 | 38 | 2009-02-24 | 0007 | 擦菜板 |
| 商品 | 38 | 2009-02-24 | 0008 | 圆珠笔 |
+--------+--------+------------+------------+--------------+
如上述执行结果所示,所有的行中都显示出了 SELECT 子句中的常数。
删除重复行:
删除列中重复的数据
mysql> select distinct product_type from product;
+--------------+
| product_type |
+--------------+
| 衣服 |
| 办公用品 |
| 厨房用具 |
+--------------+
注意: distinct 关键字只能写在首位;
在SELECT语句中使用DISTINCT可以删除重复行。
根据WHERE语句来选择记录
语法:
SELECT <字段1>,...
FROM <表名>
WHERE <条件表达式>
举例:
mysql> select * from product where product_type = '衣服';
+------------+--------------+--------------+------------+----------------+-------------+
| product_id | product_name | product_type | sale_price | purchase_price | regist_date |
+------------+--------------+--------------+------------+----------------+-------------+
| 0001 | T恤衫 | 衣服 | 1000 | 500 | 2009-09-20 |
| 0003 | 运动T恤 | 衣服 | 4000 | 2800 | NULL |
+------------+--------------+--------------+------------+----------------+-------------+
2 rows in set (0.00 sec)
注意:where 要紧跟在from 表名之后;否则会报错。
注释的书写方法
单行注释:
--这是一行单行注释
多行注释:
/*
这是一个多行注释:
*/