微信二维码

二维码 扫二维码马上关注
扫码咨询
如何在阿里云ECS和ApsaraDB上使用标准MySQL库功能

        MySQL关系数据库管理系统(RDBMS)以其先进的特性得到了开发人员的广泛应用。这包括许多内置函数和事务支持。MySQL还具有可伸缩性、灵活性和安全性,以确保24小时正常运行。RDBMS标准库函数是一组特定的例程,它们执行特定的任务并快速返回结果。因此,它们消除了编写大量代码来处理数据库操作的需要。MySQL函数处理复杂的任务,包括数学计算、字符串格式、日期/时间操作和I/O处理。标准例程使SQL代码更易于维护、理解和调试,同时简化了大型数据库项目的编码。在本指南中,我们将为您介绍在阿里云ApsaraDB上实现MySQL功能的步骤,这些功能适用于托管在弹性计算服务(ECS)实例上的RDS或MySQL数据库。我们选择了最有用的功能,更容易为您的应用程序采用。要遵循该指南,您需要与阿里云签署协议,并在ApsaraDB或ECS实例上提供MySQL数据库。

         先决条件:
        1、你需要有一个阿里云账户。现在注册领取阿里云代金券阿里云学生优惠券可以获得更大的优惠,领取阿里云代金券最高优惠2000元、领取阿里云学生优惠券价格低至95/年。(先领取阿里云代金券阿里云学生优惠券在购买阿里云产品)
        2、你需要有一个MySQL数据库。
        3、 MySQL数据库的登录细节。包括主机名/IP地址、用户名和密码。

一、登录阿里云MySQL数据库
        有很多不同的方法可以访问您的阿里云MySQL数据库。在本指南中,我们将使用命令行接口。
        运行下面的命令登录MySQL服务器。

         用与MySQL服务器关联的正确用户名和IP地址替换root和198.18.0.6。

二、创建测试数据库
        为了测试MySQL函数,我们将在一个真实的数据库上运行这些命令,以帮助您更好地理解并在生产环境中应用这些知识。
因此,使用下面的语法在服务器上创建一个名为test_db的数据库:

         然后切换到数据库:

         接下来,创建一个示例customers表:

         使用description语句预览表格结构,如下图所示:

         用测试数据填充customers表

        运行下面的命令,用一些测试数据填充表:

         通过对表运行select查询来确认数据是否存在:

三、在阿里云上使用MySQL字符串函数
        CONCAT:这个函数将两个字符串组合成一个连续字符串。CONCAT函数在处理名称时非常有用。例如,如果您想从我们的示例数据库中返回客户的ID和全名,您可以使用以下SQL语法:



        格式:FORMAT函数返回格式化为字符串并四舍五入为指定小数位数的数字。


       
        例如,在我们的客户数据库中,我们可以检索以两位小数和千位分隔符格式化的余额,以方便阅读,如下图所示:



        LCASE:若要将字符串转换为小写,请使用LCASE函数。让我们运行下面的命令来返回小写的客户名;


        LEFT:此函数从字符串/列的左侧开始返回指定数量的字符。


        我们可以使用LEFT函数返回客户姓名的首字母,如下图所示:


        RIGHT:右函数从右侧提取字符串中指定数量的字符;



        我们可以在registration_date列上运行这个函数,只提取日期部分:


       
        LENGTH:使用LENGTH函数确定字符串中的字符数。例如,如果我们想知道first_name字段中的字符总数,可以运行下面的查询;



        字符串的子串:MySQL在从字符串中提取文本时提供了更多的灵活性。除了指定字符串的位置和长度外,还可以指定函数应该从哪里开始使用SUBSTR函数读取字符串。

        语法如下图所示:


        例如,假设组织中员工的工资单编号从部门代码开始,然后是连字符,最后是惟一的ID,如下所示:



        对于这样的字符串,可以使用SUBSTRING函数检索字符串的ID部分(最右边的部分),如下所示。我们将从字符6开始读取,并显示ID部分的所有8位数字,如下图所示:



        TRIM:使用TRIM函数删除字符串左右两边的空格。

        例如,如果工作人员错误地输入customer_name为'JOHN ',您可以使用trim函数删除开头和结尾的空格:



        UCASE:此函数将字符转换为大写。

        例如:


四、在阿里云上实现MySQL数字功能
        ABS:这个函数返回一个数字的绝对值,即这个数字到零的距离,而不考虑它是正数还是负数。

        例如ABS('-200')和ABS('200')将显示相同的结果:


        AVG:这是一个聚合函数,允许计算给定表达式或列的平均值。例如,要从“customers”表中计算平均余额,可以运行以下命令:


        CEIL:此函数用于返回与数字相等或更大的下一个最小整数值。例如,如果我们使用的货币在支付时不支持小数,我们可以使用CEIL函数来检索客户的余额,以确定他们应该支付给我们多少,如下图所示:


       
        MAX:使用MAX函数确定列中的最大值。例如,要了解负债最多的客户,我们可以运行以下命令:



        MIN:MIN函数显示表达式中最小的值。我们可以对我们的“客户”表运行这个函数。


        SUM:使用SUM函数确定表达式的求和值。



        COUNT:如果希望计算MySQL语句返回的行数,请使用COUNT函数。如果您有一个大的数据集(例如,对于客户),并且您想要知道进行业务决策所需的总计数,那么这个函数将非常有用。

        若要计算客户资料库的总数目,可使用以下命令:



五、使用阿里巴巴云上的MySQL数据功能
        MySQL支持多种日期函数。我们将在本节中讨论其中的一些,并向您展示如何将它们应用到数据库中。

        DATE:使用DATE命令从字符串或列中提取日期值。例如,给定字符串“2018-05-11 12:20:58”,DATE函数可以检索日期。



        当前日期:有时候,您可能希望SQL脚本从服务器插入当前日期,而不是手动输入值。CURRENT_DATE函数可以用于此目的,因为它将更加准确。

        例如,要插入一个以当前日期作为注册日期的新客户,我们可以运行以下命令:


       
        然后,让我们选择要确认的客户:



        
  CURRENT-TIME:可以使用CURRENT_TIME函数从MySQL服务器确定当前时间。如果表需要时间列,可以使用该函数在数据库中保存当前时间。


        要从服务器返回当前时间,请使用下面的SQL命令:



        DATEDIFF:该函数返回两个日期之间以天为单位表示的间隔。通用语法如下:



        让我们运行这个命令,通过计算从registration_date到今天的日期之间的天数来确定客户在我们公司活跃的天数。



        DATE_FORMAT:通过使用DATE_FORMAT函数,可以将日期以更易于阅读的格式显示,该函数接受一个日期字符串和一个掩码作为输入。



        下面是一些通用的DATE_FORMAT值:

        1、一周中略短的一天,如太阳。
        2、%d:用数值表示的从01到31的月份的天数
        3、 %M:返回完整的月份名。8月
        4、%b:用缩写形式表示月份名,例如DEC
        5、 %m:表示从01到12的数值的月份
        6、 %Y:年份以4位数字表示
        7、 %y:年份以2位数字表示
        8、 %H:小时,24小时,从00到24小时
        9、  %h:从00到12小时12小时
       10、 从00到59分钟
       11、从01秒到59秒
       12、 %p:当以12小时的时间格式使用时,它显示输入时间是AM还是PM
        例如,让我们使用DATE_FORMAT函数以更易于阅读的格式检索客户的注册日期:一天函数的作用是:返回给定日期的月份的日期。例如,让我们在客户表上运行下面的命令:



        DAYNAME函数的作用是:从日期中返回工作日的名称。我们可以在客户的桌子上运行这个:


   
        MONTH:要确定表示从01到12的月份的整数值,请使用month函数。


        NOW:函数的作用是:



        YEAR:要返回给定日期的年份,请使用year函数。例如,要返回客户在我们的数据库中注册的年份,我们可以运行以下命令:



六、在阿里巴巴云上使用MySQL高级功能
        除了字符串、数值和日期函数之外,还有一些其他有用的高级MySQL命令可以应用到数据库中。这些包括:

        CASE:当您想要评估是否满足SQL命令中的条件时,这个函数非常有用。例如,我们可以使用CASE语句根据客户注册的日期对他们进行分类。

        CASE函数的一般语法如下:


        以下个案陈述会根据客户在我们系统内活跃的天数,评估他们的会员资格:




       
        IF:就像CASE语句一样,IF是一个函数,它执行一段代码来确定特定条件是真还是假。

        基本语法如下图所示:



        例如,我们可以运行下面的命令来确定客户的余额是否大于700元。


        IFNULL:IFNULL函数非常有用。它帮助您在给定表达式求值为NULL时返回一个替代值。例如,如果您想从表中找到客户的余额,而其中一个余额恰好为null,这可能会影响计算。

        为了确保操作是安全的,可以使用如下所示的IFNULL;



        首先,让我们使用下面的命令将第一个客户的余额更新为NULL:



        现在让我们运行select语句来查看客户的余额:


       
        正如您在上面看到的,第一个客户的余额现在为NULL。如果您的编程脚本不能有效地处理空值,您将遇到一些计算问题。

        因此,如果您预期列可以有一些空值,但您希望返回一组干净的数据,请使用IFNULL函数,如下所示:


        IFNULL函数有效地提供了zero作为NULL值的替代值,以确保使用输出数据的脚本不会陷入计算问题。

结论:在本文中,我们为您介绍了所有基本的MySQL功能,您可以将这些功能应用到阿里云上的数据库中。我们相信您将能够实现上述标准库函数,使您的代码更易于阅读和维护。

请记住,如果使用得当,MySQL函数可以加快查询速度,相比之下,本地过程可能会降低MySQL服务器的速度。

提示:建议大家在购买阿里云产品之前领取阿里云代金券阿里云学生优惠券以获得更大的优惠,领取阿里云代金券最高优惠2000元,领取阿里云学生优惠券价格低至95/年,需要注意的是,必须在购买阿里云产品之前领取阿里云代金券阿里云学生优惠券,否则无法享受优惠!阿里云学生优惠券需要满足的条件是24岁以下实名认证用户。

更多精彩内容,请关注元吉优惠券网:专注阿里云代金券阿里云服务器报价腾讯云代金券的免费领取!

更多精彩内容推荐:
阿里云服务器2折拼团购,拼着买更便宜 
阿里云常见问题解答 
阿里云服务器操作方法(新手图文教程) 
阿里云学生服务器价格低至95/年 
阿里云弹性裸金属服务器(神龙版)



 


在线客服
热线电话

扫一扫 微信加好友