4.1 MySQL语言的规则与规范
SQL语句可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进
每条命令以;或g或\G结束
关键字不能被缩写也不能分行
关于标点符号
- 必须保证所有的括号、单引号、双引号是成对结束的
- 必须使用英文状态下的半角输入方式
- 字符串型和日期时间类型的数据可以使用单引号()表示
- 列的别名,尽量使用双引号(""),而且不建议省略as
MySOL 大小写规范
- MySOL 在 Windows 环境下是大小写不敏感的
- MySOL在Linux环境下是大小写敏感的
-
- 数据库名、表名、表的别名、变量名是严格区分大小写的
- 关键字、函数名、列名(或字段名)、列的别名(字段的别名)是忽略大小写的。
- 推荐采用统一的书写规范
-
- 数据库名、表名、表别名、字段名、字段别名等都小写
- SOL关键字、函数名、绑定变量等都大写
MySQL注释结构
- 单行注释:#注释文字(MySQL特有的方式)
- 单行注释:--注释文字(--后面必须包含一个空格。)
- 多行注释:/*注释文字*/
MySQL命名规则
- 数据库、表名 不得超过30个字符 ,变量名限制为29个
- 必须只能 包含A-Z,a-z,0-9,_ 共63个字符
- 数据库名、表名、字段名等对象名中间 不要包含空格
- 同一个MySQL软件中,数据库 不能同名 ;同一个库中,表不能重名;同一个表中,字段不能重名
- 必须保证你的字段没有和保留字、数据库系统或常用方法冲突。
- 如果坚持使用,请在SOL语句中 使用`(着重号)引起来
- 保持字段名和类型的 一致性 ,在命名字段并为其指定数据类型的时候一定要保证一致性。
4.2 SELECT语句简介
SELECT语句的一般格式
SELECT DISTINCT<目标列表达式>,...n
FROM<表名或视图名>,....n;
WHERE\<条件表达式\>;
****GROUP BY\<列名\>\|,....n
HAVING\<条件表达式\>]
ORDER BY\<列名\> \[ASC\|DESC\] \[, ...n\]
LIMIT\[位置偏移量,」行数;
SELECT语句的功能
- 条件查询--按行
- 投影查询--按列
- 分组统计--按组
- 结果排序
查询分类
- 单表查询
- 连接查询
- 嵌套查询
- 集合查询

已建立的关系模式如下

无条件查询
在SELEGT语句中不使用WHERE\<条件表达式\>子句。

无条件查询例题







无条件查询小结
- 在SELECT后面用 表示显示所有的属性列
- 在目标列的后面使用"AS"关键词,可以给这个目标列起一个别名,注意别名要使用双引号括起来
- DISTINCT
-
- 位置:紧跟SELECT之后,在所有属性列之前
- 作用:去除查询数据中的重复元组
- 常用的函数
-
- NOWO,获取当前日期和时间,数据类型:DATETIME
- YEARO,获得日期数据的年份,数据类型:INT

查询条件

常见的条件表达式有
(1)比较条件


(2)谓词条件

<匹配串>可以是一个完整的字符串,也可以含有通配符:
1.%(百分号):代表任意长度(长度可以为0)的字符串。例如a%b1)表示以a开头,以b结尾的任意长度的字符串。如acb,abcdb,ab等都满足该匹配串。
2._(下横线):代表任意单个字符。例如ab表示以a开头,以b结尾的长度为3的任意字符串。如acb,adb等都满足该匹配串。
ESCAPE'<换码字符>'的作用:
在模式中,当换码字符(可以任意定义为除'%'和''以外的字符如'/')置于通配符('%'和'')之前时,该通配符就解释为普通字符。
注意:换码字符不能使用'\'

条件查询例题

条件查询举例












条件查询小结
- 某些情况下,比较条件表达式和谓词条件表达式是可以互换的
- 常用的函数
-
- CONVERT(),将字符串expr转换为指定的数据类型,数据类型参数指定的数据类型
- LEFT(),获得字符串expr前端指定长度的子串,数据类型:字符类型
- RIGHT(),获得字符串expr后端指定长度的子串,数据类型:字符类型
分组统计

结果排序与分页显示

分组统计与结果排序例题

关于COUNNT(*)的问题

分组统计与结果排序例题








分组统计与结果排序小结
