Mysql之运算符与函数的总结
本文给大家汇总介绍了mysql中的常用的运算符以及常用函数的用法及示例,非常的全面,有需要的小伙伴可以参考下
我们先来看个示例
use test; create table `employee`( emp_no int unsigned, emp_name varchar(30), emp_sex varchar(3), emp_age tinyint unsigned, sal double, history datetime ); insert into employee values(1, '张三', '男', 18, 5000, '2012-04-23'), (2, '李四', '男', 27, 4500, '2013-05-23'), (3, '王五', '男', 23, 4700, '2012-04-21'), (4, '子龙', '男', 19, 3800, '2011-03-04'), (5, '李白', '男', 15, 6200, '2015-09-09'), (6, '刘备', '男', 28, 2500, '2016-02-11'), (7, '吕布', '男', 21, 6000, '2010-10-18'), (8, '尚香', '女', 16, 4500, '2011-09-26'), (9, '小乔', '女', 15, null, '2013-07-05'), (10, '大乔', '女', 16, 5000, '2017-09-01');
常用的运算符:
1: 等于( = )
select * from employee where sal = 3800; select * from employee where sal = null; --这里查询不到为null的数据
2: 等于( <=> )
select * from employee where sal <=> 3800; select * from employee where sal <=> null; --这里可以查询到为null的数据
3: is判断(null)
select * from employee where sal is null; select * from employee where sal is not null;
4: null值判断还可以使用isnull();
select * from employee where isnull(sal); select * from employee where !isnull(sal);
5: 在区间(between)内 between min and max ps:这里是一个闭区间
select * from employee where sal between 4500 and 5000;
6: 不在区间内
select * from employee where sal not between 4500 and 5000; --null不为包括进去
7: and 和 or
select * from employee where sal not between 4500 and 5000 or sal is null; select * from employee where sal = 4500 and emp_sex = '女';
8: 小于(<), 大于(>), 小于等于(<=), 大于等于(>=)
select * from employee where sal >= 4500;
<span style="font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", 微软雅黑, Tahoma, Arial, sans-serif;">***************************************************************************************************************</span><br/>
数学函数
1: rand();
select rand() from dual; --dual是一个伪表 select 1+1 from dual; select rand(); --可以简写
2: least(value1, value2, ...) 返回最小值
select least(54,76,4,65,76,87,87,56,65,654,45,23,1,76); select least(54,76,4,65,76,87,87,56,65,654,45,23,1,76) as min_value; --列名可以起一个别名
3: greatest(value1, value2, ...) 返回最大值
select greatest(54,76,4,65,76,87,87,56,65,654,45,23,1,76);
4: round(M, D); 返回M的四舍五入的值, D表示要保留几们小数,默认值是0
select round(1.69); select round(1.69, 1);
5: abs() 绝对值
select 5-10; select abs(5-10);
***************************************************************************************************************
汇总函数
1: avg();
select * from employee where sal >= 6000; select avg(sal) from employee where sal >= 6000;
2: count()
select count(*) from employee; select count(emp_name) from employee; select count(sal) from employee; --打印9 这里会忽略null值 select count(*) from employee where sal >= 4000; select count(*) from employee where sal <= 4000 or sal is null;
3: sum()
select sum(sal) from employee where sal >= 6000;
4: min()
select min(sal) from employee;
5: max()
select max(sal) from employee;
***************************************************************************************************************
日期函数
1: 获取当前的日期时间
select now(), sysdate(), current_timestamp(); select now(6), sysdate(6), current_timestamp(6); ps: now(), current_timestamp();没有区别, 表示sql开始执行时的时间 sysdate()表示这个函数开始时间
2: 获取当前日期
select curdate(); --只有年月日
3: 获取当前时间
select curtime(); --只有时分秒
4: 日期的加运算date_add
select history, date_add(history, interval '1 12:10' day_minute) from employee; --date_add(history, interval '1 12:10' day_minute) select history, date_add(history, interval '1-1' year_month) from employee; --date_add(history, interval '1-1' year_month) select history, date_add(history, interval '1' second) from employee; --date_add(history, interval '1' second)
5: 日期的减运算data_sub
select history, date_sub(history, interval '1-1' year_month) from employee;
6: 计算日期差
select history, sysdate(), datediff(sysdate(), history) from employee; --以天数来表示
7: 获取日期的指定部分(把日期转换为指定的格式) date_format()
select history, date_format(history, '%Y年%m月%d号') from employee; select history, date_format(history, '%d号') from employee; select history, date_format(history, '%Y年%m月%d号 %H时%i分%s秒') from employee;
8: 计算出一个日期是星期几
select history, dayname(history) from employee;
9: 中文日期字符串转换日期str_to_date()
insert into employee values(11, '张飞', '男', 22, 3000, '2017年02月01号'); --报错 insert into employee values(11, '张飞', '男', 22, 3000, str_to_date('2017年02月01号', '%Y年%m月%d号 %H时%i分%s秒'));
insert into employee values(12, '二哥', '男', 22, 3000, str_to_date('2017年02月01号 23时02分02秒', '%Y年%m月%d号 %H时%i分%s秒'));
insert into employee values(12, '二哥', '男', 22, 3000, str_to_date('2017年02月01号 11时02分02秒', '%Y年%m月%d号 %h时%i分%s秒'));
ps: 如果是h则表示12小制, 如果是大H则表示24小明制;
字符串函数
1: left(str, len) 返回字符串str的左端len个字符
select left('abcdefg', 5);
2: length()
select length('abcdefg');
3: lower(str) 返回小写的字符串str
select lower('HELLO');
4: substring() 取子字符串, 第二个参数是截取的起始位置, 第三个参数是要截取的长度
select substring('helloworld',2,3);
5: concat() 字符串拼接
select concat(emp_name, '员工') from employee;
6: replace(替换
select replace(emp_name, '李', '老') from employee where emp_name = '李四';
以上是Mysql之运算符与函数的总结的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

可以通过以下步骤打开 phpMyAdmin:1. 登录网站控制面板;2. 找到并点击 phpMyAdmin 图标;3. 输入 MySQL 凭据;4. 点击 "登录"。

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

Redis 使用单线程架构,以提供高性能、简单性和一致性。它利用 I/O 多路复用、事件循环、非阻塞 I/O 和共享内存来提高并发性,但同时存在并发性受限、单点故障和不适合写密集型工作负载的局限性。

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

构建 SQL 数据库涉及 10 个步骤:选择 DBMS;安装 DBMS;创建数据库;创建表;插入数据;检索数据;更新数据;删除数据;管理用户;备份数据库。
