软件测试条记|数据库基础|数据库中如何导入大批量数据,好比十万条? ...

打印 上一主题 下一主题

主题 1035|帖子 1035|积分 3105

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
VX公众Hao:阳哥整理软件测试条记

 
差别的数据库导入大量数据的方法有一些差异。
MySQL

1. 使用LOAD DATA INFILE语句

• 准备好数据文件,要求数据格式与表结构相匹配,数据文件中的列顺序和范例要和表中的列同等。
• 假设数据文件是data.csv,表名为your_table,语句可以是
LOAD DATA INFILE 'data.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';。
这里的FIELDS TERMINATED BY ','表现数据文件中的列是以逗号分隔的,LINES TERMINATED BY '\n'表现每行数据以换行符结束。
2. 使用下令行工具(如mysqlimport)

• 数据文件格式同样要符合要求,在下令行执行类似mysqlimport -u username -p database_name data.csv的下令,其中username是数据库用户名,database_name是数据库名,data.csv是数据文件。
Oracle

1. 使用SQL*Loader工具

• 首先要创建一个控制文件(.ctl),在控制文件中界说数据的格式、表名和列的对应关系等内容。例如:

LOAD DATA
INFILE 'data.csv'
INTO TABLE your_table
FIELDS TERMINATED BY ','
(column1, column2, column3)

• 然后在下令行执行sqlldr userid=username/password control=data.ctl来导入数据,其中username和password是数据库登录信息,data.ctl是控制文件。
SQL Server

1. 使用BULK INSERT语句

• 假设数据在data.csv文件中,表名为your_table,语句可以是
BULK INSERT your_table FROM 'data.csv' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');,
这里FIELDTERMINATOR和ROWTERMINATOR的作用与MySQL中的类似,用于指定列分隔符和行分隔符。
2. 使用SQL Server Integration Services(SSIS)

• 它提供了图形化界面来计划数据导入流程,通过创建包,设置数据源(如文件路径)和目的(数据库表),以及数据转换等操作来实现大批量数据的导入。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

卖不甜枣

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表