MySql基础操作-运算符和函数

字符函数 数值运算符函数 比较运算符函数 日期时间函数 信息函数 聚合函数 加密函数

1.字符函数 (在嵌套函数的时候,嵌套内部不用写select)

cancat():将两张表的字段信息连接在一起,比如姓+名:

select concat(first_name,last_name) as fullname from test;

first_name,last_name都是表test的字段名,输出结果字段名为fullname

cancat_ws():使用指定的分隔符连接:select concat_ws('_','A','U','V');

第一个参数,是指定分隔符;第二个及以后的参数,是要连接的字符。

format():将一个数字转换成字符,返回结果是字符:

select format(6345123.32,1); //6345123.32转换成字符,并保留1位小数

lower(),upper():格式都是lower(‘ZiFuChuaN’);

left(),right():left(‘MySql’,3); //取字符串左侧起,共3个字符。

length():获取字符串长度:select length(‘MySql’);   //如果有空格,也算

ltrim()/rtrim()/trim():删除前导/后续/所有空格:select trim(‘  Mysql ’);

特殊用法:select trim(leading '?' from '??mysql?????'); //删除字符串前导的’?’

          select trim(trailing '?' from '??mysql?????'); //删除字符串后续的’?’

              select trim(both '?' from '??mysql?????');   //删除字符串前后所有的’?’

replace:替换字符:select replace ('??My???sql?????','?','');  //将字符串中的’?’全部替换为空

substring():字符串截取:select substring('mySql',1,2);  //截取字符串,从第1位截,共2

  select substring('mySql',-3,2);  //从倒数第3个开始,共2个 长度不能是负值

[not] like:模式匹配:

select * from test where first_name like ‘%k%’;  //从表test查询 first_name 形式如同*k*

%相当于通配符,即任意字符;_下划线,代表任意一个字符

select * from test where first_name like ‘%1%%’ escape ‘1’;//告诉1后面的%不要理解成通配符,而是百分号

2.数值运算符

a) ceil():向上取整:select ceil(3.02); //结果是4

b) floor():向下取整:select floor(); //结果是3

c) div():整数除法:select 5 div 9;  // 5/9结果是0.556,但div之后结果就是0

d) mod():取余数:select 5 % 2; 等价于select 5 mod 2; 结果是1  select 5.3 mod 2;余数是2.3

e) power():幂运算:select power(5,2); 52=25

f) round():四舍五入:select round(3.567,2); //3.5672位小数,结果3.57

g) truncate():截断数字(不四舍五入)select truncate(125.89,1); //截取125.89,保留小数点后一位 结果125.8

select truncate(125.89,-1);//结果是120

3.比较运算符与函数

a) [not] between...and...:[]在范围内:select 15 between and 22;  //判定15是否在122之间 返回1

b) [not] in():[]在列出值范围之内:select 13 in (5,10,15,20);  //判定13是否在这几个点上,是否定的,返回0

c) is [not] null:判定是否为空:select * from test where first_name is null; //test first_name为空的字段

4.日期时间函数

a) now():当前日期时间:select now();   //返回当前日期时间     2014-10-05 18:25:54

b) curdate():返回当前日期:select curdate(); //返回当前日期  2014-10-05

c) curtime():返回当前时间:select curtime();  //返回当前时间 18:28:25

d) date_add():日期变化(增减):select date_add('2014-3-12',interval 365 day); 

//2014-3-12基础上增加365天 结果是2015-03-12

select date_add('2014-10-05',interval -365 day); //365

select date_add('2014-10-05',interval 1 year); //1

select date_add('2014-10-05',interval 3 week); //3

e)  datediff():两个日期的差值:select datediff('2014-01-10','2014-01-16');  //前面的减后面的  结果是-6

f)  date_format():日期格式化:select date_format('2014-9-5','%m/%d/%Y');

//2014-9-5 这种格式,转换为 月//年 的格式:09/05/2014 

5.信息函数

a) connection_id():返回当前连接idselect connection_id(); //结果是40(根据用户不同结果也不同)

b) database():得到当前打开的数据库:select database();

c) last_insert_id():最后插入记录号:select last_insert_id();//写入多条记录的时候,只返回写入的第一个id

d) user():打印当前用户:select user(); //结果是root@localhost

e) version():打印当前版本信息:select version(); //结果是5.5.38-0ubuntu0.14.04.1 

6.聚合函数 只有一个返回值

a) avg():平均值: select avg(goods_price) as avg_price from tdb_goods;

计算所有goods_price字段平均值      从tdb_goods表中

b) count():计数:select count(goods_id) as counts from tdb_goods;

计算goods_id的数量       从tdb_goods表中

c) max():计算最大值:select max(goods_price) as counts from tdb_goods;

计算goods_price字段最大的数值      从tdb_goods表中

d) min():计算最小值: select min(goods_price) as counts from tdb_goods;

e) sum():求和:select sum(goods_price) as counts from tdb_goods;

7.加密函数

a) md5():摘要算法:select md5('admin'); //一般用在web页面

结果是32位的数字:21232f297a57a5a743894a0e4a801fc3

b) password():密码运算:select password('admin'); //修改客户端自己密码的时候

结果是:*4ACFE3202A5FF5CF467898FC58AAB1D615029441




一直在http://www.imooc.com/ 学习,感觉不错。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limaning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值