SELECT 1; #得到计算结果,没有任何子句
SELECT 9/2;
SELECT 标识选择哪些列
FROM 标识从哪个表中选择
SELECT *
FROM xxx表;
一般情况下,除非需要使用表中所有的字段数据,最好不要使用通配符‘*’。使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。通配符的优势是,当不知道所需要的列的名称时,可以通过通配符来获取所有列。
在生产环境下,不推荐直接使用SELECT *
进行查询。
SELECT 字段1,字段2……
FROM xxx表
MySQL中的SQL语句是不区分大小写的,因此SELECT和select的作用是相同的,但是,许多开发人员习惯将关键字大写、数据列和表名小写,更容易后期的阅读和维护。
# 举例
SELECT 字段1 AS 别名1, 字段2 别名2
FROM xxx表
默认情况下,查询会返回全部行,包括重复行,我们需要使用DISTINCT
关键字进行去重操作。
# 例如:
SELECT DISTINCT 字段1
FROM xxx表;
这里有两点需要注意:
DISTINCT
关键字需要放在所有字段名的前面,放在字段名后面会报错。DISTINCT
后面跟多个字段名时,则是对后面所有字段名的组合进行去重,保证查询后的结果每行唯一。IFNULL(字段1,替换值)
语句将字段1列中NULL替换为替换值
进行数值运算。SELECT查询还可以对常数进行查询,目的是增加一列常数列,使得查询结果每一条数据都增加一个常数属性,这个常数属性不是来自数据库表中的。
使用DESCRIBE
或DESC
命令,表示表结构。
DESCRIBE xxx表
或
DESC xxx表
使用WHERE语句,将不满足条件的行过滤掉,WHERE子句需紧随FROM子句。
SELECT 字段1,字段2
FROM xxx表
WHERE 过滤条件