简介:
1)MySql是操作和检索关系型数据库的标准语言
2)20世纪70年代由IBM公司开发,目前应用于所有数据库
2.分类:
1)数据查询语言(DQL):主要包括select语句,用于从表中检索(查询)数据
2)数据操作语言(DML):主要包括insert(插入)、update(更新)、delete(删除),用于数据的增删改
3)事务处理语言(TPL):主要包括commit(提交)和rollback(回滚),用户数据的提交和回滚
4)数据控制语言(DCL):主要包括grant(授权)和revoke(收回授权),用于权限管理
5)数据定义语言(DDL):主要包括create(创建)、drop(删除)、alter(修改),用于数据库对象的管理
3.sql语句的书写规则:
1)不区分大小写
2)可以单行书写、也可以多行书写,建议分多行书写,增强代码可读性
三、简单的查询语句
1.select * from 表名
1)语句:一条完整的sql命令
2)子句:部分sql语句,通常是由关键字加上其他语法元素构成
3)关键字:sql语言保留的字符串,比如:select 、from
2.选择列
1)查询所有列:*
2)选择部分列:select dname,deptno from dept
3.算数运算符:+ - * /
4.注释:
1)-- 注释内容(navicatformysql:ctrl+/)
2)#注释内容
3)/多行注释/
5.空值:null
1)空值是一种无效的、未赋值、未知或不可用的值(不确定的值)
2)空值不同于零或者空格
3)任何包含空值的算数运算后的结果都为空值
6.列别名
1)用来重新命名列的显示标题
2)列别名的方法:
a)列名 列别名
b)列名 as 列别名
3)如果列别名中包含空格需要使用双引号把别名括起来
7.消除重复行:distinct
SELECT DISTINCT deptno,job from emp
四、限制数据行查询
1.语法规则
1)使用where子句限定返回的记录
2)where子句在from子句后面
3)select 列名的列表
from 表名
where 条件
2.比较运算符:
1)= 相等
>= 大于等于
> 大于
< 小于
<= 小于等于
<> 不等于
2)字符串数据要使用单引号括起来(双引号也可以),默认是不区分大小写
3)日期数据使用单引号括起来,格式符合日期要求(‘1982-01-05’,‘1982/01/05’)
3.特殊比较运算符
1)between…and… :确定范围,在两个值之间(包含比较值)
2)in(列表):确定集合
例子:select * from emp where deptno in (10,30)
3)like:模糊查询
a)使用通配符来替代未知的信息
b)%:可以代替任意长度的字符(0到任意多个)
c)_:可以代替任意一个字符
4)is null :判断是空的
4.逻辑运算符:and、or、not
and(并且): 条件1 and 条件2,条件1和条件2都成立,整个条件才成立
or(或):条件1 or 条件2,条件1和条件2有一个成立,整个条件就成立(正确)
not(非):not 条件 ,取条件的相反值
5.运算符中括号的优先级最高
五、排序
1.语法:
order by {列名 | 表达式 | 别名 } [asc|desc]
2.asc:升序(由小到大),默认值,desc:降序(由大到小)
3.order by 列1,列2 ,表示:先按照列1排序,如果列1的值相同,在按照列2进行排序
4.执行顺序:from where select order by
5.mysql中,null为最小
6.可以按照select后列的顺序号排序,顺序号从1开始
7.注意:排序的列可以不出现在select后