如何把sql数据库中所有表导出成txt文件

如何把sql数据库中所有表导出成txt文件,第1张

不能直接将数据导出成txt,可以间接导出正这个格式,不过导完不是表结构了。

1、将所有表直接导出execl格式的文件,再将execl文件内容拷贝到txt文件中,保存即可。

2、将表用select * from 表 查询出来,将结果拷贝到txt中。

打开数据库,找到需要导出的表,右击该表,选择所有任务,选择导出文件,点下一步,再点下一步,到导出文件选择,选择文本文件,写入文件名即可。

另外一种方法是,打开数据表之后,按shift选中需要导出的数据,右击,选择复制,然后再打开一个文本文件,选择粘贴就可以

数据导入的来源可以是其他应用程序的输出,也可以是指定的文本文件,这里采用指定的文本文件。

1. 首先,确定导入的数据源,这里是待导入的,按固定格式的文本文件。

2. 然后,依照导入的文件格式,确定想导入的目标数据表,这个数据表如果没有,可以依照待导入的文本文件格式,创建一个相对应的数据表。

3. 最后,执行.import命令,将文本文件中数据导入数据表中。

1. 数据源

在/home/ywx/yu/sqlite/下,创建一个名为data.txt的文本文件,并输入以下数据,数据之间采用逗号隔开

id,name,age,address,hobby

1,tom,24,beijing,football

2,liu,27,heibei,fotball

3,jim,26,shandong,football

4,han,28,beijing,football

5,meng,25,beijing,tennis

2. 目标数据表

这里创建一张目标数据表,通过分析文本格式,这里需要3个字段,分别是id,name,age。但在数据类型选择时存在一个问题,id和age在文本文件

中是按字符型存储的,而其实际在数据表中,最好要表示成整型,因此这里要涉及到一个字符型数据类型向整型数据类型转换的问题。

在创建表时,将id和age的类型定义为整型,进行强制转换,如果在数据导入时,发现转换失败,可以将id和age类型改为文本型。

ywx@ywx:~/yu/sqlite$ sqlite3 test.db

SQLite version 3.7.7.1 2011-06-28 17:39:05

Enter ".help" for instructions

Enter SQL statements terminated with a ""

sqlite>create table data_txt_table(id char(10),name char(10),age char(10),address varchar(15),hobby varchar (15))

sqlite>

3. 导入命令

sqlite>.separator ","

sqlite>.import data.txt data_txt_table

sqlite>select * from data_txt_table

id,name,age,address,hobby

1,tom,24,beijing,football

2,liu,27,heibei,fotball

3,jim,26,shandong,football

4,han,28,beijing,football

5,meng,25,beijing,tennis

sqlite>

这里需要注意一点,在数据导入之前,先要根据数据的具体分的格式,设置数据导入的间隔符,例如在文本数据中采用的是‘,’来间隔数据,因此应先调用.seperator 设置‘,’ 为间隔符。

2. 查看命令

.schema 命令来查看指定的数据表的结构

sqlite>.schema data_txt_table

CREATE TABLE data_txt_table(id char(10),name char(10),age char(10),address varchar(15),hobby varchar (15))

sqlite>

2. .tables 命令用来查看当前数据库的所有数据表

sqlite>.tables

data_txt_table

sqlite>

3. databases 命令用来查看当前所有数据库

sqlite>.databases

seq name file

--- --------------- ----------------------------------------------------------

0 main /home/ywx/yu/sqlite/test.db

1 temp

3. 数据导出

数据导出也是一个常用到的 *** 作,可以将指定表中的数据导出成SQL脚本,供其他数据库使用,还可以将指定的数据表中的数据完整定位到标准输出,也可以将指定数据库中的数据完整的导入到另一个指定数据库等,

1. 导出成指定的SQL脚本

将sqlite中指定的数据表以SQL创建脚本的形式导出,具体命令

ywx@ywx:~/yu/sqlite$ sqlite3 test.db

SQLite version 3.7.7.1 2011-06-28 17:39:05

Enter ".help" for instructions

Enter SQL statements terminated with a ""

sqlite>.output data.sql

sqlite>.dump

sqlite>

ywx@ywx:~/yu/sqlite$ ll

总计 16

drwxr-xr-x 2 ywx ywx 4096 2011-08-13 23:15 ./

drwxr-xr-x 7 ywx ywx 4096 2011-08-13 20:53 ../

-rw-r--r-- 1 ywx ywx 602 2011-08-13 23:17 data.sql

-rw-r--r-- 1 ywx ywx 2048 2011-08-13 22:44 test.db

2. 数据库导出

data.sql test.db

ywx@ywx:~/yu/sqlite$ sqlite3 test.db ".dump" | sqlite3 test2.db

ywx@ywx:~/yu/sqlite$ ll

总计 20

drwxr-xr-x 2 ywx ywx 4096 2011-08-13 23:20 ./

drwxr-xr-x 7 ywx ywx 4096 2011-08-13 20:53 ../

-rw-r--r-- 1 ywx ywx 602 2011-08-13 23:17 data.sql

-rw-r--r-- 1 ywx ywx 2048 2011-08-13 23:20 test2.db

-rw-r--r-- 1 ywx ywx 2048 2011-08-13 22:44 test.db

3. 其他格式,如:htm格式输出

ywx@ywx:~/yu/sqlite$ sqlite3 -html test.db "select * from data_txt_table" >liu.htm

ywx@ywx:~/yu/sqlite$ ls

data.sql liu.htm test2.db test.db


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10030562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存