在 CentOS 系统中,可以使用 SQL*Plus 工具来导入和导出 Oracle 数据库的数据。以下是具体的步骤和示例:
使用 SQL*Plus 导入 CSV 文件
sqlplus username/password@database_name @/path/to/your/file.sql
其中,username
是数据库用户名,password
是密码,database_name
是数据库名称,/path/to/your/file.sql
是导入文件的路径和文件名。
使用 SQL*Plus 导入文本文件
sqlplus username/password@database_name @/path/to/your/datafile.ctl
控制文件 datafile.ctl
的内容示例:
text LOAD DATA INFILE 'datafile.txt' INTO TABLE tablename FIELDS TERMINATED BY ',' (column1, column2, column3)
其中,tablename
是目标表的名称,column1, column2, column3
是要导入的列。
使用 SQL*Plus 导入 Excel 文件
首先将 Excel 文件转换为 CSV 格式,然后使用上述导入 CSV 文件的命令。
使用 SQL*Plus 导入 XML 文件
创建一个外部表,然后使用 SQL*Plus 导入 XML 文件:
CREATE TABLE xml_tab OF XMLTYPE EXTERNAL (XMLTYPE STORE AS SECUREFILE BINARY XML (TABLESPACE users)) XMLTYPE COLUMN path IS ‘doc’ ELEMENT ‘doc’;
然后使用 sqlldr
命令导入 XML 文件:
sqlldr username/password@database_name control=datafile.ctl
使用 SPOOL 命令导出数据到文件
sqlplus username/password@database_name
SPOOL output_file.sql
SELECT * FROM table_name;
SPOOL OFF
其中,output_file.sql
是导出文件的路径和文件名,table_name
是要导出的表的名称。
使用 Oracle Data Pump 导出数据
expdp username/password@database_name TABLES=table_name DIRECTORY=export_directory DUMPFILE=export_file_name
其中,table_name
是要导出的表的名称,export_directory
是导出文件的目录,export_file_name
是导出文件的名称。
使用 SQL*Plus 导出为 CSV 文件
sqlplus username/password@database_name
SET COLSEP ','
SET PAGESIZE 0
SET LINESIZE 1000
SET FEEDBACK OFF
SET HEADING OFF
SPOOL output_file.csv
SELECT column1, column2 FROM table_name;
SPOOL OFF
其中,output_file.csv
是导出文件的路径和文件名,table_name
是要导出的表的名称。
以上就是在 CentOS 系统中使用 SQL*Plus 进行数据导入和导出的方法。根据具体的需求和文件格式,可以选择相应的导入导出方法。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何在CentOS中利用sqlplus进行数据迁移