MySql常见命令、函数
⒈常见命令
| 命令 | 说明 |
| show databases; | 显示数据库列表 |
| use DataBaseName; | 打开指定的数据库 |
| show tables; | 显示当前打开数据库的表列表 |
| show tables from DataBaseName; | 显示指定数据库的表列表 |
| select database(); | 显示当前命令指向的数据库 |
| create table TableName(id int,name varchar(50)); | 创建表 |
| desc TableName; | 查看表结构 |
| show index from TableName | 查看表索引 |
| select * from TableName; | 查询表数据 |
| insert into TableName(id,name) values(1,'fanqi'),(2,'gaoxing'); | 插入数据 |
| SET SQL_SAFE_UPDATES = 0; | 禁用MySql安全更新模式 |
| update TableName set name='fanqi' where id = 1; | 更新数据 |
| delete from TableName where id = 2; | 删除数据 |
| select version(); | 查询当前MySql版本 |
*如果某些字段名与MySql保留关键字一致,则加上`字段名`着重号即可。
*MySql有两种通配符
1.% 代表任意多个字符,包括0个字符
2._ 代表任意单个字符
MySql必要时需要使用'\'转义符,也可以使用escape声明特定的转义符
*is null 和<=>(安全等于)的区别
| is null | 仅仅可以判断null值,可读性较高,建议使用 |
| <=> |
既可以判断null值,也可以判断普通数值,可读性较低 |
*排序中,asc代表升序,desc代表降序,默认asc升序。
⒉常见函数
1.字符串类
| 命令 | 说明 |
| select concat('fan','_','qi'); | 字符串连接 |
| select ifnull(null,10); |
判断是否为空,参数1是判断的表达式或值 参数2是如果为空返回的值 |
| select length('fanqi'); |
显示长度 *UTF-8编码一个汉字3个字节 *GBK编码一个汉字2个字节 |
| select upper('fanqi'); |
将参数转化为大写 |
| select lower('FANQI'); |
将参数转化为小写 |
|
select substr('fanqi is very good',6); select substring('fanqi is very good',6); |
功能一样,另一个为简写,截取字符串 *SQL中索引从1开始 |
|
select instr('fanqi is very good','fanqi'); |
返回指定字符第一次出现的索引,如果找不到 则返回0 |
|
select trim('a' from 'aaaaaa樊奇aaaaa'); |
去除字符串中指定字符,如未指定则默认空格 |
|
select lpad('fanqi',2,'*'); |
用指定的字符实现左填充指定长度 *原字符已超出指定长度,则会自动从左截取 |
|
select rpad('fanqi',2,'*'); |
用指定的字符实现右填充指定长度 |
|
select replace('fanqi is very good','fanqi','樊奇'); |
替换指定的字符串 |
2.数学函数
| select round(1.1923,2); |
四舍五入,如果不指定保留的小数位数 则默认只保留整数 |
| select ceil(1.1923); | 向上取整,返回>=该参数的最小整数 |
| select floor(1.1923); | 向下取整,返回<=该参数的最大整数 |
| select truncate(1.1923,1); |
截断,后面有什么都不要了 第二个参数是保留的小数位 |
| select mod(10,3); |
取余,mod(a,b) 计算机内部取余公式 a-a/b*b 若a为正,则取余结果为正 若a为负,则取余结果为负 |
3.日期函数
| select now(); | 返回当前系统日期+时间 |
| select curdate(); | 返回当前系统日期,不包含时间 |
| select curtime(); | 返回当前系统时间,不包含日期 |
|
select year(now()); |
可以获取日期中指定的部分 年、月、日、时、分、秒 |
| select str_to_date('1994-06-24','%Y-%c-%d'); |
将字符串通过指定的格式转换成日期 格式符详见下表 |
| select date_format(now(),'%Y年%c月%d日'); |
将日期通过指定的合适转换成字符串 格式符详见下表 |
| select datediff(now(),'1994-06-24'); | 计算两个日期之间相差的天数 |
附加:
| 序号 | 格式符 | 含义 |
| 1 | %Y | 4位的年份 |
| 2 | %y | 2位的年份 |
| 3 | %m | 月份(01,02,... 12) |
| 4 | %c | 月份(1,2,... 12) |
| 5 | %d | 日(01,02,...) |
| 6 | %H | 小时(24小时制) |
| 7 | %h | 小时(12小时制) |
| 8 | %i | 分钟(00,01,02,... 59) |
| 9 | %s | 秒(00,01,02,... 59) |
4.其它函数
| select version(); | 查看当前MySql版本 |
| select database(); | 查看当前打开的库 |
| select user(); | 查看当前用户 |
| select md5('fanqi'); | 返回当前字符串的md5加密形式 |
5.流程控制函数
①if函数,提供类似于if elst的效果,三目运算符。
select if(10<5,'大','小');
②case函数,有两种用法
Ⅰ类似于switch case的效果(既可以当表达式又可以单独出来作为语句)
语法:
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1; //如果为值得话此处不加分号
when 常量2 then 要显示的值2或语句2; //
........
else 默认要显示的值n或语句n
end
案例:查询员工的工资,要求
部门号=30,显示的工资为1.1倍
部门号=40,显示的工资为1.2倍
部门号=50,显示的工资为1.3倍
其它部门,显示的工资为原工资
select salary 原始工资,department_id,
case department_id
when 30 then salary * 1.1
when 40 then salary * 1.2
when 50 then salary * 1.3
else salary
end as 新工资
from employees;
Ⅱ类似于多重if
语法:
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
.......
else 默认要显示的值n或语句n
end
案例:查询员工的工资情况
如果工资>20000,显示A级别
如果工资>15000,显示B级别
如果工资>10000,显示C级别
否则,显示D级别
select salary 原始工资
case
when salary > 20000 then 'A'
when salary > 15000 then 'B'
when salary > 10000 then 'C'
else 'D'
end as 工资级别
from employees;
6.分组函数
用于统计使用,又称之为聚合函数或统计函数或组函数
| sum | 求和 |
| avg | 求平均值 |
| max | 最大值 |
| min | 最小值 |
| count | 计算个数 |
sum、avg一般用于处理数值型,max、min、count可以处理任何类型
以上分组函数全部忽略null值,null不参与它们的运算
可以和distinct搭配实现去重的运算
select count(字段) from 表名; //计算非null的行数
select count(*) from 表名; //一般用于统计表的行数(带null)
select count(7) from 表名; //相当于在表中加了一列常量值,一般用于统计行数
MySql常见命令、函数的更多相关文章
- 9、MySQL常见的函数?
请参考下面的博客文章: MySQL常见的函数
- mysql常见命令参数(一)
1.mysql命令常用参数 1.--auto-rehash (tab键自动补全,表名及表字段) # mysql -u root --auto-rehash # vim my.cnf [mysql] a ...
- mysql常见命令
1.进入mysql:mysql -u root -p 2.允许远程访问: mysql -u root –p mysql>use mysql; mysql>update user set h ...
- mysql常见聚合函数
count():总数量avg():平均数std():标准差sum():求和max():最大值min():最小值 上面的不过多介绍group_concat():分组列值全部展示到一行eg:mysql&g ...
- MySQL常见的函数
一.概述 功能:类似于java中的方法 好处:提高重用性和隐藏实现细节 调用:select 函数名(实参列表); 二.单行函数 1.字符函数 concat:连接 substr:截取子串 upper:变 ...
- SEC3 - MySQL常见命令
1.查看当前所有的数据库 show databases; 2. 打开指定的库名 use 库名称: 3.查看当前库中所有的表 show tables; 4. 查看其他库的所有表 show tables ...
- mysql 性能优化常见命令
mysql 性能优化常见命令: 一: 当发现mysql程序运行缓慢时,在排除sql主机问题之后,可以尝试在schema,table,和sql上进一步进行考查: 1:mysql> show ful ...
- MySQL数据库常见命令
数据库的操作 MySQL服务器的常见命令 开启:sudo service mysql start关闭:sudo service mysql stop重启:sudo service mysql rest ...
- mysql常见内置函数
在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...
随机推荐
- 【强大的Java集成开发工具】MyEclipse 2015 Stable 2.0 for Mac
[简介] MyEclipse是一款 Mac 上的Java 强大的集成开发工具,今天和大家分享最新的 MyEclipse 2015 Stable 2.0 版本,MyEclipse 2015 基于 Ecl ...
- 剑指Offer_编程题_13
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. class So ...
- flask 模版语言及信息传递
if语句 格式: {% if command %} {% elif %} {% else %} {% endif %} 代码示例 flask_one.py #encoding:utf-8 from f ...
- 运维监控-使用Zabbix Server 创建 Actions
运维监控-使用Zabbix Server 创建 Actions 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. zabbix的action默认是关闭的,因此我们想使用它就得先启用哟. ...
- ElasticSearch的插件(Plugins)介绍
ElasticSearch的插件(Plugins)介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 目前可以扩展ElasticSearch功能的插件有很多,比如:添加自定义的映 ...
- c++ hash_map/unordered_map 使用
C++中有很多中key-value形式的容器,map/hash_map/unordered_map/vector_map.下面讲述各个map的使用及其区别. map: #include <ios ...
- VS2015快捷键大全
Ctrl+E,D —-格式化全部代码 Ctrl+E,F —-格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SH ...
- redis使用问题一:Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool] with root cause
本文使用的是spring-data-redis 首先说下redis最简单得使用,除去配置. 需要在你要使用得缓存得地方,例如mybatis在mapper.xml中加入: <cache evict ...
- vs code解决golang开发环境问题 dial tcp 216.239.37.1:443: connectex: A connection attempt failed
安装插件是出现 如下错误提示, https fetch failed: Get https://golang.org/x/tools/cmd/gorename?go-get=1: dial tcp 2 ...
- JVM简析
JVM结构图 1.程序计数器 是最小的一块内存区域,它的作用是当前线程所执行的字节码的行号指示器,在虚拟机的模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支. ...