Mysql学习二

DQL(data query language)语言的学习

基础查询
进阶1

语法:
select 查询列表 from 表名;
特点:
1.查询列表可以是表中的字段 、常量值、表达式、函数
2.查询的结果是一个虚拟的表格
3.查询常量池: select 100;
4.查询表达式:select 100*9;
5.查询函数:select version();
6.起别名:select name as别名 from 表名; 注意:空格隔开也可以 别名有特殊符号可以加双引号或者单引号
7.去重: select distinct 字段名 from 表名;
9.+号的作用 在myslq仅仅只是一个运算符:
select 100+900; 两个操作数都为数值型,则做加法运算
select ‘123’+90 ;其中一方为字符型,视图将字符型转换为数值型
如果转换成功则继续做加法运算,
select ‘john’+90:如果转换失败,则将字符型值转换成0
select null+10 :只要一方为null,则结果肯定为null
10. 拼接函数 concat():select concat(‘a’,‘b’,‘c’) as 结果
11. ifnull()函数:select ifnull(“字段名为null”,“值为0”)

进阶2 条件查询

语法: select 查询列表
from 表名
where 筛选条件
该条sql语句执行顺序:先看表名 然后筛选 继续查询列表
分类:
一、按条件表达式筛选
简单条件筛选运算符:> < = != <>
二、按逻辑表达式筛选
逻辑运算符:&& || ! 对应 and or not
三、模糊查询
like 特点:一般和通配符使用
% 任意多个字符,包含0个字符
_ 任意单个字符 可以通过“\”符号 进行转义
举例: select * from
where lastname like ‘&%’ escape ‘$’
between
and
1.使用 between and 可以提高简洁度
2.包含临界值
3.两个临界值不要调换顺序
举例
select * from
表名
where lastid between 100 and 120
in 含义:判断某字段的值是否属于in 列表中某一项
特点:使用in 提高语句简洁度
in 列表的值必须统一或兼容
is null用法:
select * from 表名
where lastname is null
安全等于 <=> 不仅可以判断null 值
is null 仅仅可以判断null 值 ; 可读性高
<=>既可以判断null值,又可以判断普通的数值;可读性低
**order By **语句:
select 列名
from 表名
where 条件
order by 排序字段
order by 语句一般房子查询的最后边 limit 字句除外
执行顺序 : 1.from 2.筛选条件 3.查询列表 4.order by

进阶四

常见函数 类似于java的方法
select 函数名(实参列表)from 表名
分类:
1.单行函数 concat、length 、ifnull
2.分组函数
一 、字符函数
1.length() 获取参数值的字节个数
show variables like ‘%like%’
2.concat() 拼接字符串
3.upper() lower()
4.substr() 索引从1开始
举例 substr(“”,4) 截取指定索引处后面的所有字符
substr(“”,0,3) 截取指定索引处指定字符长度的字符
5 instr() 返回字段第一次出现的索引,如果找不到返回0
6 trim()
7 lpad () 用指定的字符实现实现左填充指定的长度
举例:lpad(“a” ,10,"")
8 rpad() 用指定的字符实现右填充指定的长度
9 replace() 替换
举例: select replace(“AAAAABB”,“BB”,“bb”)
二 、数学函数
round()四舍五入 select round(4.56) round(4.563,2) 保留小数点两位
ceil() 向上取整,返回大于等于该参数的整数 sleect ceil(1.002)
floor() 向下取整
truncate() 截断 select truncate(1.65,1)
mod ()取余 select MOD(a,b) 计算方式a-a/b
b
三、日期函数
now() 返回当前系统日期+时间;select now()
curdate() 返回当前系统日期不包含时间
curtime() 返回当前的时间 不包含日期
可以获取指定的部门,年、月、日、小时、分钟、秒
select year(now())
str_to_date() 将字符通过指定格式转换成日期
举例:select str_to_date(‘1998-3-2’,‘%Y-%c-%d’);
date_format:将日期转换成字符
四、其他函数
select version(); select database();select user();
五、流程控制函数
1.if函数: if else 的效果
select if(10>5,“大”,“小”);
2.case 函数的使用一:switch case 的效果
switch(变量或表达式){
case 常量1:语句;break;

default:语句;break;
}
mysql 中
case 要判断的字段或表达式
when 常量1 then 要显示的值1
when 常量2 then 要显示的值2

else 要显示的值n或语句
end
case 函数的使用二:类似于多重if
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
else 要显示的值n 或语句n
end

DML(data Manipulation language) 语言的学习

DDL(Data Definition Language) 语言的学习

TCL(Transaction Control Language)语言的学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值