早上起来发现感冒了,有点难受。今天开始学sql语言,感觉基础部分还是比较简单,就是要记的内容有点多。
一、数据库的常见概念
1、DB:数据库,存储数据的容器;
2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB;
3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言;
二、DQL语言
基础结构:select 查询列表 from 表名;
查询列表可以是字段、常量、表达式、函数,也可以是多个;
查询结果是一个虚拟表。
1、查询基本操作:
1)查询单个字段
select 字段名 from 表名;
2)查询多个字段
select 字段名,字段名 from 表名;
3)查询所有字段
select * from 表名
4)查询常量
select 常量值;
注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要
5)查询函数
select 函数名(实参列表);
6)查询表达式
select 100/1234;
7)起别名
①as
②空格
8)去重
select distinct 字段名 from 表名;**
9)+
作用:做加法运算
select 数值+数值; 直接运算;
select 字符+数值;先试图将字符转换成数值,如果转换成功,则继续运算;否则转换成0,再做运算;
select null+值;结果都为null。
2、条件查询
1)语法
select 查询列表
from 表名
where 筛选条件
2)筛选条件
①简单条件运算符
>< = <> != >= <= <=>(安全等于)
②逻辑运算符
&& and
|| or
! not
③模糊查询
like:一般搭配通配符使用,可以判断字符型或数值型
通配符:%任意多个字符,_任意单个字符
转义字符:\
between and
in
is null /is not null:用于判断null值
3、排序查询
1)语法
select 查询列表
from 表
where 筛选条件
order by 排序列表 【asc}desc】
2)特点
①asc :升序,如果不写默认升序
desc:降序
②排序列表 支持 单个字段、多个字段、函数、表达式、别名
③order by的位置一般放在查询语句的最后(除limit语句之外)。
4、常见函数
1)字符函数
concat:连接
substr:截取子串
upper:变大写
lower:变小写
replace:替换
length:获取字节长度
trim:去前后空格
lpad:左填充
rpad:右填充
instr:获取子串第一次出现的索引
2)数学函数
ceil:向上取整
round:四舍五入
mod:取模
floor:向下取整
truncate:截断
rand:获取随机数,返回0-1之间的小数
3)日期函数
now:返回当前日期+时间
year:返回年
month:返回月
day:返回日
date_format:将日期转换成字符
curdate:返回当前日期
str_to_date:将字符转换成日期
curtime:返回当前时间
hour:小时
minute:分钟
second:秒
datediff:返回两个日期相差的天数
monthname:以英文形式返回月
4)流程控制函数
①if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2
②case情况1
case 变量或表达式或字段
when 常量1 then 值1
when 常量2 then 值2
…
else 值n
end
③case情况2
case
when 条件1 then 值1
when 条件2 then 值2
…
else 值n
end
5)其他函数
version 当前数据库服务器的版本
database 当前打开的数据库
user当前用户
password(‘字符’):返回该字符的密码形式
md5(‘字符’):返回该字符的md5加密形式