什么是平面文件数据库? 如何导入多种格式的文件:DSV、JSON、XML?
尽管你已经听说过关系数据库和 NoSQL 数据库,但你对平面文件数据库完全不熟悉的可能性很大。平面文件数据库确实是真实的存在,但是近来它们并没有得到多少关注。我们将在今天的文章中学习到,与过去的几年相比,现在已有更好的方法来处理平面文件数据库。实际上,如果你现正使用 Navicat 的任何数据库开发和管理客户端,那么这就是理想的选择!
历史与局限
自最早的计算机问世以来,平面文件数据库就已经存在。它们是一种将数据存储在纯文本文件中的数据库,其中文件的每一行都包含一个记录,并且字段之间用分隔符(通常是逗号或制表符)分隔。这样,与关系数据库相比,平面文件数据库与数据表有更多的共性。由于其简单的结构,平面文件数据库中表示的“表”仅支持有限的功能,例如记录和列排序。
平面文件数据库发展成为应用程序的后端。与结构化数据库文件相比,平面文件数据库的简单结构占用的空间更少,并且对配置数据更为适合。如果你精通编程,则可以找到适用于大多数语言的 ODBC 驱动程序,用于与平面文件数据库接口。不幸的是,大多数关系数据库客户端无法直接连接到平面文件数据库。但是,关系数据库提供了导入平面文件数据库的命令,以及在更大的关系数据库中使用平面文件数据库的命令。
导入平面文件
如果您对平面文件数据库的结构感到熟悉,那是因为它与逗号分隔值(Comma-Separated Values,CSV),制表符分隔值(Tab-Separated Values,TSV)或任何分隔符分隔值(Delimiter Separated Values,DSV)文件非常相似。
每种关系数据库都提供其自己的命令,用于从平面文件导入数据。例如,MySQL 提供了 LOAD DATA INFILE 语句。你必须首先创建数据库和表,但是对于每个数据集只需创建一次。完成此操作后,使用 LOAD DATA INFILE 就可以快速导入数据!这是导入 CSV(逗号分隔值)文件的示例语句:
LOAD DATA INFILE 'c:/path/to/file.csv'
INTO TABLE discounts
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
使用 Navicat 导入
Navicat 强大的导入实用程序是一个向导驱动的过程,可以帮助您导入多种格式的文件:DSV、JSON、XML 等。
你可以选择记录分隔符、字段分隔符和文本识别符号:
随着导入的进行,你将获得一个完整的进度报告,包括已处理的表和行的数量,以及遇到的错误和花费的时间:
总结
在今天的文章中,我们了解了平面文件数据库,以及如何使用原生数据库命令和 Navicat 将它们导入到关系数据库中。
如果你想更深入地了解 Navicat 导入实用程序,可以看看我几年前写的一篇文章 Importing XML, CSV, Text, and MS Excel Files into MySQL,讲解了如何使用 Navicat for MySQL 导入各种格式的数据。
往期回顾
相关文章
- SQL Server 数据库清空ldf日志文件
- Java客户端通过Http发送POST请求上传文件到web服务器
- 利用PHP执行SQL文件,将SQL文件导入到数据库【转】
- 创建基于文件组的数据库SQL救命语句
- nodejs获取文件扩展名
- java 11 增加了一系列的字符串处理方法,Optional 加强 ,改进的文件API
- C# DLL资源文件打包(图片、JS、CSS)[WebResource]
- SQL Server 2008 R2 安装时提示“Reporting Services目录数据库文件存在”
- c++文件操作1之文本文件的写入操作
- SAP WebIDE里UI5应用的隐藏文件project.json
- Atitit 基于文件的数据库保存系统json文档数据库 目录 1.1. 一行数据一个文件,一个文件夹微数据表表1 1.2. 保存C:wampwwwtisyetisye.php1 1.3
- Atitit .h5文件上传
- Database之SQLSever:数据库管理人员国家职业资格证书中高级考试知识点(流式文件/封锁机制/三级模式(模式/内模式/外模式)/事务及其ACID特性/数据依赖/数据库的特点/安全/层次-网状
- 小型文件数据库 (a file database for small apps) SharpFileDB
- y37.第三章 Kubernetes从入门到精通 -- etcd运行机制和yaml文件及语法基础(十)
- LabVIEW如何修复或重置NI MAX数据库文件
- 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入
- 【诊断数据库文件-CDD】创建速成班-北汇信息小课堂(一)
- YAML 文件简介
- github下载的.ipynb文件报错unreadable Notebook NotJSONError
- 关于Oracle数据库审计、诊断文件及跟踪文件操作
- SQL Sever — 附加【如何导入外部文件数据库】
- 机器人控制算法三之urdf模型文件编写及rviz仿真可视化
- 【过程记录】ArcGIS Pro打开.osgb文件
- [ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 2:备份.sql文件方式)