mysql 执行函数 命令_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 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的效果,三目运算符。

1 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倍

其它部门,显示的工资为原工资

1 selectsalary 原始工资,department_id,2 casedepartment_id3 when 30 then salary * 1.1

4 when 40 then salary * 1.2

5 when 50 then salary * 1.3

6 elsesalary7 end as新工资8 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级别

1 selectsalary 原始工资2 case

3 when salary > 20000 then 'A'

4 when salary > 15000 then 'B'

5 when salary > 10000 then 'C'

6 else 'D'

7 end as工资级别8 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 表名;  //相当于在表中加了一列常量值,一般用于统计行数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值