【基础篇】MySQL中的常用函数和图形化工具(Navicat Premium)的使用

  经常编写程序的朋友一定体会得到函数的重要性,丰富的函数往往能使用户的工作事半功倍。函数能帮助用户做很多事情,比如说字符串的处理、数值的运算、日期的运算等,在这方面MySQL 提供了多种内建函数帮助开发人员编写简单快捷的 SQL 语句,其中常用的函数有字符串函数、日期函数和数值函数。 在 MySQL 数据库中,函数可以用在SELECT 语句及其子句(例如 where、order by、having 等) 中,也可以用在 UPDATE、DELETE 语句及其子句中。

一、常用函数

1、字符串函数

  字符串函数是最常用的一种函数了,如果大家编写过程序的话,不妨回过头去看看自己使用过的函数,可能会惊讶地发现字符串处理的相关函数占已使用过的函数很大一部分。MySQL中字符串函数也是最丰富的一类函数,下面给出常用的函数以供参考。
在这里插入图片描述
  关于上面函数的使用,基本在功能列说清楚了,这里不做过多的演示,需要注意的是这里的说明仅仅在于说明各个函数的使用方法,所以函数都是单个出现的,但是在一个具体的应用中通常可能需要综合几个甚至几类函数才能实现相应的应用,根据具体的逻辑结合使用。
   注意:
  1.concat函数在拼接NULL值时,结果为NULL
  2.left()和right()函数,如果第二个参数为空,则不返回任何字符串
  3.substring函数经常用于对给定字符串进行子串的提取

2、数值函数

  MySQL 中另外一类很重要的函数就是数值函数,这些函数能处理很多数值方面的运算。可以想象,如果没有这些函数的支持,用户在编写有关数值运算方面的代码时将会困难重重,举个例子,如果没有 ABS 函数的话,如果要取一个数值的绝对值,就需要进行好多次判断才能返回这个值,而数字函数能够大大提高用户的工作效率。下面给出常用的数字函数。
在这里插入图片描述
   注意:
  1.MOD(x,y)函数:返回 x/y 的模。 和 x%y 的结果相同,模数和被模数任何一个为 NULL 结果都为NULL。
  2.ROUND(x,y)函数:返回参数 x 的四舍五入的有 y 位小数的值。如果是整数,将会保留 y 位数量的 0;如果不写 y,则默认 y 为 0,即将 x 四舍五入后取整。适合于将所有数字保留同样小数位的情况
  3.TRUNCATE 和 ROUND 的区别在于 TRUNCATE 仅仅是截断,而不进行四舍五入。

3、日期和时间函数

  有时我们可能会遇到这样的需求:当前时间是多少、下个月的今天是星期几、统计截止到当前日期前 3 天的收入总和等。这些需求就需要日期和时间函数来实现。下面列举常用的时间、日期函数作为参考。
在这里插入图片描述
  下面结合一些实例来逐个讲解几个特殊函数的使用方法。

  • UNIX_TIMESTAMP(date)函数:返回日期 date 的 UNIX 时间戳。date可以是日期,也可以是日期时间。
select unix_timestamp('2022-04-02');
+-----------------------+
| UNIX_TIMESTAMP('2022-04-02') |
+-----------------------+
| 1648857600|
+-----------------------+
1 row in set (0.02 sec)
  • FROM_UNIXTIME ( unixtime ) 函 数 : 返 回 UNIXTIME 时 间 戳 的 日 期 值 , 和UNIX_TIMESTAMP(date)互为逆操作。
 select FROM_UNIXTIME(1184134516) ;
+---------------------------+
| FROM_UNIXTIME(1184134516) |
+---------------------------+
| 2007-07-11 06:15:16 |
+---------------------------+
1 row in set (0.00 sec)
  • WEEK(DATE)和 YEAR(DATE)函数:前者返回所给的日期是一年中的第几周,后者返回所给的日期是哪一年。
select WEEK(now()),YEAR(now());
+-------------+-------------+
| WEEK(now()) | YEAR(now()) |
+-------------+-------------+
| 16 | 2022|
+-------------+-------------+
1 row in set (0.02 sec)
  • MONTHNAME(date)函数:返回 date 的英文月份名称。
 select MONTHNAME(now());
+------------------+
| MONTHNAME(now()) |
+------------------+
| April |
+------------------+
1 row in set (0.00 sec)
  • DATE_FORMAT(date,fmt)函数:按字符串 fmt 格式化日期 date 值,此函数能够按指定的格式显示日期。该函数也是最常用的时间函数之一,用于对输出格式化。其中fmt参数的格式符如下表。

在这里插入图片描述

 select DATE_FORMAT(now(),'%M,%D,%Y');
+-------------------------------+
| DATE_FORMAT(now(),'%M,%D,%Y') |
+-------------------------------+
| April,20th,2022 |
+-------------------------------+
1 row in set (0.00 sec)
  • DATE_ADD(date,INTERVAL expr type)函数:返回与所给日期 date 相差 INTERVAL 时间段的日期。
    其中 INTERVAL 是间隔类型关键字,expr 是一个表达式,这个表达式对应后面的类型,type是间隔类型,MySQL 提供了 13 种间隔类型,如下图
    在这里插入图片描述
select now() current,date_add(now(),INTERVAL 31 day) after31days,
date_add(now(),INTERVAL '1_2' year_month) after_oneyear_twomonth;
+---------------------+---------------------+------------------------+
| current | after31days | after_oneyear_twomonth |
+---------------------+---------------------+------------------------+
| 2022-04-20 02:56:46 | 2022-05-21 02:56:46 | 2023-06-20 02:56:46 |
+---------------------+---------------------+------------------------+
1 row in set (0.01 sec)

  • DATEDIFF(date1,date2)函数:用来计算两个日期之间相差的天数。
select DATEDIFF('2008-08-08',now());
+------------------------------+
| DATEDIFF('2008-08-08',now()) |
+------------------------------+
| -5003 | 
+------------------------------+
1 row in set (0.01 sec)

4、流程函数

  流程函数也是很常用的一类函数,用户可以使用这类函数在一个 SQL 语句中实现条件选择,这样做能够提高语句的效率,下面给出常用的流程函数。
在这里插入图片描述
  这里通过例子解释后两个函数的使用逻辑:

-- 假设又职员表,表有id和薪资两列
-- 月薪在 2000 元以上的职员属于高薪,用“high”表示;而2000 元以下的职员属于低薪,用“low”表示
 select case when salary<=2000 then 'low' else 'high' end 类型 from salary;
 +---------------------------------------------------+
| 类型 |
+---------------------------------------------------+
| low |
| low |
| high |
| high |
| high |
| high | +---------------------------------------------------+
6 rows in set (0.00 sec)
  • CASE [expr] WHEN [value1] THEN[result1]…ELSE[default]END 函数:这里还可以分多种情况把职员的薪水分多个档次,比如下面的例子分成高、中、低 3 种情况。同样还可以分成更多种情况,情况类似。
select case salary when 1000 then 'low' when 2000 then 'mid' else 'high' end from salary;
+-----------------------------------------------------------------------+
| case salary when 1000 then 'low' when 2000 then 'mid' else 'high' end |
+-----------------------------------------------------------------------+
| low |
| mid |
| high |
| high |
| high |
| high |
+-----------------------------------------------------------------------+
6 rows in set (0.00 sec)

二、图形化工具的使用

  在日常各种工作中,图形化工具为用户提供了很大的便利。针对 MySQL 数据库,很多公司也都开发了自己的图形化工具,我们主要认识 Navicat Premium。

1、Navicat Premium

  Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。它与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、阿里云和腾讯云等云数据库兼容。可以使快速轻松地创建、管理和维护数据库。
  关于Navicat Premium的下载安装和激活,一搜一大把,这里不做过多的说明。

1.连接

运行程序,单击“连接”—>点击MySQL(要是其他数据库,则选择其他的)—>输入连接名(自己起)—>输入密码—>连接测试—>点击确定。
在这里插入图片描述

2. 查看数据库

点击左侧出现新建立的连接,双击即可打开这个连接。然后就点击相应的数据库,数据表查看相应的内容。
在这里插入图片描述
查询代码的书写:
在这里插入图片描述

3. 数据的导入导出

  数据的导入导出可以使用SQL语句完成,也可以使用可视化界面完成。点击一个数据表,就会看到导入与导出的操作,然后根据实际选择文件类型即可,如下图:
在这里插入图片描述
  当然视图界面设计所有的MySQL 的操作,这里不再详细介绍,大伙可以慢慢测试。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值