RDS入门——Excel文件转存到RDS数据库实践

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 本实验将帮助您快速掌握RDS产品的实例开通,熟悉RDS产品的常用功能与基础操作,完成云上数据库搭建。

背景知识

云数据库RDS

阿里云关系型数据库RDS(Relational Database Service)是一种安全稳定可靠、高性价比、可弹性伸缩的在线数据库服务。RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,帮助您解决数据库运维的烦恼。

image.png

本次实验使用的是RDS for MySQL。

产品地址:https://www.aliyun.com/product/rds/mysql?spm=a2c6h.13148508.J_4VYgf18xNlTAyFFbOuOQe.38.3c3f4f0exvTWff#introduction

完成开通后通过右侧进入控制台

image.png

可对创建的实例进行管理

image.png


数据管理DMS

数据管理DMS(Data Management)是一款支撑数据全生命周期的一站式数据管理平台。DMS提供全域数据资产管理、数据治理、数据库设计开发、数据集成、数据开发和数据消费等功能,致力于帮助企业高效、安全地挖掘数据价值,助力企业数字化转型。

产品地址:https://www.aliyun.com/product/dms?spm=5176.28446652.J_4VYgf18xNlTAyFFbOuOQe.58.290e5526tSRIcX

产品优势:

image.png

产品使用及教程:https://help.aliyun.com/zh/dms/


场景描述

我们平时会将一些结构化的数据放在Excel表格中进行存储,但当数据量达到一定规模,在进行复杂的关联查询时,Excel运行起来就不太友好,这时我们可以选择将Excel中的数据导入到数据库中进行处理,以提高数据存取的效率。本次实验将带领您,把Excel的数据通过数据管理服务DMS(Data Management Service)导入到RDS MySQL数据库中。

image.png


实验流程

实验开始,需要创建一个RDS for MySQL的实例,再创建数据库和账号,通过DMS对该实例进行接管,DMS拥有MySQL客户端的功能,可以在SQL窗口进行创建存储Excel数据的表,然后通过DMS的数据导入功能将Excel表格数据导入RDS数据库中。最后,会带领大家操作ECS连接RDS实例,并通过命令行,做一些简单的增删改查的操作。


Excel文件转存到RDS数据库

搜索框搜索RDS,点击搜索结果中的云数据库RDS,进入RDS管理控制台。

image.png

点击创建实例的按钮,进入实例创建页面。

image.png

进入实例创建页面后,进行创建实例。
选择对应的参数进行配置实例,参数选择如下所示:

image.png

image.png

image.png

配置完成后点击确认,进入实例配置页面,在实例描述框中填写rdstest ,其他配置按照默认即可。

image.png

确认订单页面,选择去支付。

image.png

进入RDS实例管理界面。

实例创建过程耗时3分钟左右,若实例ID暂不可跳转,请耐心等待,过程中可以刷新页面,等待实例状态变为运行中,单击实例ID 。

image.png

在账号管理界面,单击创建账号,创建 高权限账号,账号为aliyuntest,密码自己设置。

image.png

image.png

image.png

显示账号已激活 ,账号已创建完成。若一直处于创建中,请手动刷新页面。

image.png

点击数据库管理,在点击创建数据库,在页面中输入数据库(DB)名称,选择支持字符集 ,并书写对应的备注说明,点击创建按钮,进行提交。

image.png

MySQL8.0支持多种字符集,字符集的特点如下:

  • utf8mb4:支持4字节Unicode字符,可以表示大部分国家的字符,是现代web应用中广泛使用的字符集。

  • utf8:只支持3字节Unicode字符,较老的MySQL服务器和许多库如LAMP(Linux + Apache + MySQL + Python/PHP/Perl)默认采用该字符集。

  • latin1:最基本的字符集,其它的字符集都可以通过该字符集的不可改变子集表示。这个字符集支持大部分计算机常见的字符,包括所有西欧语言的字母、数字、标点符号以及一些特殊字符。它在日语、中文和俄语等非拉丁字母语言中不适用。

  • gb2312:早期中国字符集,支持除异体字之外的3500左右的中文汉字和基本的拉丁字母、数字、标点符号,以及一些特殊字符。

  • gbk:统一汉字编码,是中国的现代字符集,包含了中国国家标准GB 2312-1980的全部字符,支持包括繁体字、日本汉字和韩国汉字等在内的多种汉字。
    utf16:Unicode字符二进制编码的16位配对码,支持几乎所有语言的字符和符号。

总之,选择什么字符集要根据自己的实际情况进行综合考虑,例如需要支持哪些语言、字符等。utf8mb4通常是最好的选择,如果面临扩展部署考虑,则可考虑 utf16的使用,中文网站中,唯一建议不适用latin字符集。

显示如下界面,表示数据库已创建完成。

image.png

在左侧导航栏中,单击白名单与安全组。

单击default分组右侧的修改。全部开放:将0.0.0.0/0加入白名单中,点击确定。

image.png

白名单说明:

  • 多个IP地址用英文逗号隔开,且逗号前后不能有空格。

  • 单个实例最多添加1000个IP地址或IP段。如果IP地址较多,建议将零散的IP合并为IP段,例如10.10.10.0/24。

  • 如果第3步获取的白名单模式是通用模式,则无额外注意事项。如果是高安全模式,需注意:

    • 把公网IP或经典网络ECS实例私网IP添加至经典网络分组。

    • 把专有网络ECS实例私网IP添加至专有网络分组。

添加后,所有的应用服务器都能访问RDS实例。

在实例基本信息页面上单击 登录数据库 ,跳转DMS界面。

image.png

在DMS界面,输入创建的 数据库账号 、 数据库密码。

image.png

完成以上信息填写后,单击左下角的测试链接,测试连通性无问题后,点击 登录。

image.png

在DMS控制台,单击 首页,点击常用功能,选择SQL窗口,进入SQL执行窗口。

image.png

将以下SQL复制到SQL窗口,创建goods表,用于存储Excel表格中的数据。

CREATE TABLE `goods` (
  `id` bigint(20) NOT NULL COMMENT '书籍编号',
  `name` varchar(32) NOT NULL COMMENT '书籍名称',
  `price` decimal(10,0) NOT NULL COMMENT '单价',
  `stock` int(10) unsigned NOT NULL COMMENT '库存',
  `author` varchar(128) DEFAULT NULL COMMENT '作者',
  `publishing_house` varchar(32) DEFAULT NULL COMMENT '出版社',
  `publishing_date` date DEFAULT NULL COMMENT '出版日期',
  `type` varchar(16) DEFAULT NULL COMMENT '类型',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品信息';

单击执行 ,页面返回执行成功标志,消息通知执行成功。

image.png

可点击刷新按钮,将会出现新创建的goods表。

image.png

将已准备好的Excel表格数据,通过OSS的bucket地址进行下载到公共资源中。

image.png

数据导入。在DMS控制台上,选择常用功能--->数据导入。

image.png

单击上传文件,将商品管理文件进行上传。

image.png

预检查阶段,需显示全部通过,单击执行变更。

image.png

单击确定执行。

image.png

界面显示执行成功,即为文件上传成功。

image.png

再回到SQL窗口,选择数据库,单击确认,进行连接数据库。

打开新的SQL窗口。

image.png

SQL窗口中,输入SQL,单击执行,查询goods表中的全量数据。

select * FROM `goods`;

查询出的数据为全量的数据,与Excel表格中的数据进行对比,可发现数据一致。

SQL窗口中,点击+号,新增SQL执行窗口,输入SQL,单击执行,在goods表中查询teye字段为‘计算机’类型的数据。

select * FROM `goods` WHERE type='计算机';

image.png

接下来通过ECS连接数据库,需要输入MySQL的命令行进行连接。

【说明】 mysql -h 主机名 -u 用户名 -p 密码 -P 端口 。

  • -h : 该命令用于指定客户端所要登录的MySQL主机名。

  • -u : 所要登录的用户名。

  • -p : 告诉服务器将会使用一个密码来登录。

  • -P:一般默认为3306。

开通外网地址,点击实例功能栏左侧数据库连接,点击开通外网地址。

image.png

开通外网地址以后,将外网地址进行复制,后续步骤会进行使用该地址。

打开ECS远程连接,输入如下命令链接数据库:

mysql -h 数据库外网地址 -P3306 -u aliyuntest -p

image.png

输入密码,不回显是正常现象,如下所示即登录成功

image.png

执行如下SQL语句,查看所有数据库。

show databases;

image.png

返回结果如下,您可查看到MySQL数据库中的数据库,其中commodity数据库是之前创建数据库的步骤中创建好的,后续实验所有操作都在commodity数据库中执行。

执行如下SQL语句,选择数据库commodity。

use commodity;

image.png

执行如下SQL语句,查看所有的表。

show tables;

image.png

执行如下SQL语句,查询goods表中所有数据。

select * from goods;

image.png

goods表中的数据为通过DMS导入的Excel表格中的数据。

执行如下SQL语句,创建一个名为book_types的表。

CREATE TABLE IF NOT EXISTS `book_types` (
  `type_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '书籍类型ID',
  `book_type` varchar(32) NOT NULL DEFAULT '' COMMENT '书籍类型',
  PRIMARY KEY (`type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

image.png

执行如下SQL语句,在book_types表中插入数据。

INSERT INTO `book_types` (`type_id`, `book_type`) VALUES (1, '计算机');
INSERT INTO `book_types` (`type_id`, `book_type`) VALUES (2, '历史');
INSERT INTO `book_types` (`type_id`, `book_type`) VALUES (3, '小说');
INSERT INTO `book_types` (`type_id`, `book_type`) VALUES (4, '科幻');

执行如下SQL语句,查询book_types表中的所有数据。

select * from book_types;

image.png

执行如下SQL语句,删除book_types表中type_id等于1的数据,并进行查看。

delete from book_types where type_id=1;
select * from book_types;

image.png

执行如下SQL语句,更新book_types表中type_id为2数据book_type为python,并进行查看。

update book_types set book_type='python' where type_id=2;

image.png

至此实验结束。

证书如下:

image.png


实验总结

在本次实验中,我们学习了在阿里云上创建并管理一个RDS for MySQL实例的过程。首先,我们创建了一个RDS实例,并设定了数据库和账号的相关信息。使用DMS工具接管该实例后,我们发现DMS具备了MySQL客户端的功能,可以方便地在SQL窗口中执行数据库操作。

接下来,我们在DMS中创建了用于存储Excel数据的表,并利用DMS的数据导入功能将Excel表格中的数据批量导入到RDS数据库中。这一步骤使得数据导入变得简单快捷,大大提高了效率。

最后,我们通过配置ECS与RDS实例的连接,演示了如何使用命令行进行一系列简单的增删改查操作。这让我们更深入地理解了如何与RDS实例进行交互,并通过命令行对数据库进行操作。

通过本次实验,我们掌握了创建RDS实例、使用DMS进行数据导入和管理、以及通过ECS连接RDS实例并进行数据操作的方法和技巧。这些技能对于日后在阿里云上进行数据库管理和应用开发非常有帮助。总体而言,本次实验为我们提供了一个全面的学习和实践平台,让我们更好地了解了阿里云的数据库服务和相关工具。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
82 0
|
7天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
113 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
10天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
45 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
SQL 关系型数据库 MySQL
|
1月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
30 2
|
1月前
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
131 1
|
2月前
|
SQL 关系型数据库 MySQL
MySQL入门到精通
MySQL入门到精通
|
2月前
|
SQL 关系型数据库 MySQL
Python小技巧——将CSV文件导入到MySQL数据库
Python小技巧——将CSV文件导入到MySQL数据库
46 0
|
2月前
|
关系型数据库 MySQL 数据库
python之excel与mysql之间的交互
python之excel与mysql之间的交互