1. 基本的SELECT语句
1.1 SELECT ... FROM
- SELECT 标识选择哪些列
- FROM 标识从哪个表中选择
- 例:SELECT * FROM student; #使用通配符,*表示返回所有的列
- 例:SELECT id,name,guardian_phone FROM student; #具体行和列
1.2 列的别名
- 重命名一个列,便于计算
- 紧跟列名,也可以在列名和别名之间加入关键字AS,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。AS 可以省略
- 例:SELECT id,name,guardian_name parentName, guardian_phone phone FROM student;
1.3 去除重复行
- 默认情况下,查询会返回全部行,包括重复行
- SELECT DISTINCT guardian_name AS parentName FROM student; #AS可以省略
- DISTINCT 需要放到所有列名的前面,否则会报错。
- DISTINCT 对后面所有列名的组合进行去重
1.4 着重号
- 保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,需要在SQL语句中使用一对``(着重号)引起来。
- 例:SELECT * FROM `order`;
2. 显示表结构
2.1举例
- 使用DESCRIBE 或 DESC 命令,表示表结构
- 举例1:DESC student;
- 举例2:DESCRIBE student;
2.2各个字段的含义
- Field:表示字段名称。
- Type:表示字段类型,这里 barcode、goodsname 是文本型的,price 是整数类型的。
- Null:表示该列是否可以存储NULL值。
- Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。
- Default:表示该列是否有默认值,如果有,那么值是多少。
- Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。
3. 过滤数据
3.1语法:
SELECT 字段1,字段2
FROM 表名
WHERE 过滤条件
3.2注意
- 使用WHERE 子句,将不满足条件的行过滤掉
- WHERE子句紧随 FROM子句
- 举例:SELECT id,name, age FROM student WHERE age> 100;