⒈常见命令

命令 说明
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 year('1994-06-24');
select month(now());
select monthname(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常见命令、函数的更多相关文章

  1. 9、MySQL常见的函数?

    请参考下面的博客文章: MySQL常见的函数

  2. mysql常见命令参数(一)

    1.mysql命令常用参数 1.--auto-rehash (tab键自动补全,表名及表字段) # mysql -u root --auto-rehash # vim my.cnf [mysql] a ...

  3. mysql常见命令

    1.进入mysql:mysql -u root -p 2.允许远程访问: mysql -u root –p mysql>use mysql; mysql>update user set h ...

  4. mysql常见聚合函数

    count():总数量avg():平均数std():标准差sum():求和max():最大值min():最小值 上面的不过多介绍group_concat():分组列值全部展示到一行eg:mysql&g ...

  5. MySQL常见的函数

    一.概述 功能:类似于java中的方法 好处:提高重用性和隐藏实现细节 调用:select 函数名(实参列表); 二.单行函数 1.字符函数 concat:连接 substr:截取子串 upper:变 ...

  6. SEC3 - MySQL常见命令

    1.查看当前所有的数据库 show databases; 2. 打开指定的库名 use 库名称: 3.查看当前库中所有的表 show tables; 4. 查看其他库的所有表 show tables ...

  7. mysql 性能优化常见命令

    mysql 性能优化常见命令: 一: 当发现mysql程序运行缓慢时,在排除sql主机问题之后,可以尝试在schema,table,和sql上进一步进行考查: 1:mysql> show ful ...

  8. MySQL数据库常见命令

    数据库的操作 MySQL服务器的常见命令 开启:sudo service mysql start关闭:sudo service mysql stop重启:sudo service mysql rest ...

  9. mysql常见内置函数

    在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...

随机推荐

  1. Druid数据源配置

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-met ...

  2. 91 Testing MySQL学习总结

    91 Testing MySQL学习总结 --------- 在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System什么是数据库?数据 ...

  3. 剑指Offer_编程题_9

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloorI ...

  4. Nginx自定义404页面并返回404状态码

    Nginx定义404页面并返回404状态码, WebServer是nginx,直接告诉我应该他们配置了nginx的404错误页面,虽然请求不存在的资源可以成功返回404页面,但返回状态码确是200. ...

  5. shop++改造之ResponseEntity的坑

    后台shop++购物车请求的数据是一个Map结构的数据,业务需要要在类似的购物车中加一个套餐. 那么套餐里面就包含商品信息了,觉得不用他的Map了于是封装了两个类: 套餐信息显示类,商品信息显示类 请 ...

  6. ssh框架里拦截器的权限验证基本思路【转】

    相关表 序号 表性质 表名 字段 字段 字段 字段 字段 1 基表 用户表 id 帐号 密码     2 基表 角色表 id 角色名       3 基表 权限表 id 权限名 请求路径     4 ...

  7. Java秒杀系统方案优化 高性能高并发实战(1)

    首先先把 springboot +thymeleaf 搞起来 ,参考 springboot 官方文档 本次学习 使用 springboot + thymeleaf+mybatis+redis+Rabb ...

  8. html(常用标签,标签分类),页面模板, CSS(css的三种引入方式),三种引入方式优先级

    HTML 标记语言为非编程语言负责完成页面的结构 组成: 标签:被<>包裹的由字母开头,可以结合合法字符( -|数字 ),能被浏览器解析的特殊符号,标签有头有尾 指令:被<>包 ...

  9. vue 用checkbox 做多选,带选中样式

    <dl v-for="(item,index) in listData" :key="index"> testName <label> ...

  10. C++ 出现异常“.... \debug_heap.cpp Line:980 Expression:__acrt_first_block==header"

    本人是在写dll项目中出现了这个问题,经过一天的研究,尝试了三个步骤1.在配置属性->常规->MFC的使用中,将在静态库中使用MFC改为在共享DLL中使用MFC.但是还会出错2.原因是dl ...