『壹』 不同数据库之间怎么转换,有没有好的工具比如我在SQLServer上建了一个数据库,并写入了数据,
数据迁移我只用过datamanager,不知道还有没有其他更简单方便的数据迁移的工具。
1、一般先要在准备后从源数据库中抽取数据的SQL:如果两个库表结构完全一致就没什么说的,只要注意两个不同库表间字段的兼容性(比如同长度的varchar字段,SQLserver与DB2可存储的实际汉字字符数是不一样的);如果表结构不一样,抽取SQL就麻烦一点。——我的话是按目标表结构来准备SQL的。就是比如目标库中有表A,那么表A有哪些字段分别存放什么数据,这些数据怎么从源库表获取,这就是所要准备的抽取SQL。
2、在datamanager上配置好源库跟目标库的连接。
3、将准备好的抽取SQL拷到datamanager编辑器中,并将select到的字段设置对应到目标库表的各个列字段中,然后点开始执行就好了。
4、要注意的是,执行方式那里有insert、update、update/insert,一般选update/insert,根据实际情况决定。
5、具体操作可查看datamanager使用说明及帮助文档。
说白了就是从源库表中抽取数据出来放到一个中间表中,然后再导入到目标库表中,只不过datamanager帮你做了导出导入的事,用户只需关心抽取SQL跟目标表字段的对应关系。
写了这么多,如果有更好的方法也请告诉我,谢谢!
『贰』 怎么把postgresql的数据导出成sql,我有pgAdmin3
.2.1 pgAdmin3的启动
您可以在应用程序---系统工具中找到pgAdmin3的启动项;
也可以在命令行下输入:
xiaop@xiaop-laptop:~$ /usr/bin/pgadmin3 start
6.2.2 连接已创建的数据库mydb ;
点击档案-----新增服务器,然后在跳出的窗口下输入:
地址:localhost
描述:服务器名称(随意填写)
维护数据库:postgres
用户名:自己创建一个(详情参见创建用户)
密码:和用户名对应(创建用户时自己创建)
点击确定后大家便可以查看postsql已有的数据库了;
注:pgAdmin3的数据库和终端下创建的数据库是完全同步的(可以用刷新查看效果), pgAdmin3是比较方便的图形化管理工具,它可以创建图表,管理数据库等,有关pgAdmin3的详细介绍我们在以后讨论,本文主要介绍命令行下的操作。图形化管理工具能做到的命令行都可以做到,您可以在命令行下创建表,在pgAdmin3上查看是否同步:
7. 创建和删除表;
7.1 创建新表;
创建完数据库之后,您就可以创建新表了,可以通过声明表的名字和所有字段的名字及其类型来创建表,例如:
mydb#CREATE TABLE weather (
city varchar(80),
temp_lo int, -- 最低气温
temp_hi int, -- 最高气温
prcp real, -- 降水量
date date
);
注:您可以在 psql 里连换行符一起键入这些东西。 psql 可以识别该命令直到分号才结束,不要忘记“;”
您可以在 SQL 命令中自由使用空白(也就是空格,tab,和换行符)。 这就意味着您可以用和上面不同的对齐方式键入命令。 两个划线("--") 引入注释。 任何跟在它后面的东西直到该行的结尾都被忽略。 SQL 是对关键字和标识符大小写不敏感的语言,只有在标识符用双引号包围时才能保留它们的大小写属性。
7.2 数据类型;
上面例子中的varchar(80) 声明一个可以存储最长 80 个字符的任意字符串的数据类型。 int 是普通的整数类型。 real 是一种用于存储单精度浮点数的类型。 date 类型应该可以自解释。
PostgresSQL 支持标准的 SQL 类型 int,smallint, real,double precision, char(N), varchar(N),date, time,timestamp 和 interval,还支持其他的通用类型和丰富的几何类型。 PostgreSQL 可以客户化为定制任意的用户定义的数据类型,您可以参考PostgreSQL的中文文档来查询;
7.3 删除表;
如果您不再需要某个表,或者您想创建一个不同的表,那么您可以用下面的命令删除它:
mydb#DROP TABLE tablename
8. 向表中添加行;
8.1 INSERT;
INSERT 用于向表中添加行,您可以输入(在数据库中操作):
mydb#INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
注:所有数据类型都使用了相当明了的输入格式。 那些不是简单数字值的常量必需用单引号(')包围, 就象在例子里一样。
8.2 point类型输入;
point 类型要求一个座标对作为输入,如下:
mydb#INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');
8.3 COPY;
您还可以使用 COPY 从文本文件中装载大量数据。 这么干通常更快,因为 COPY 命令就是为这类应用优化的, 只是比 INSERT 少一些灵活性.比如:
mydb#COPY weather FROM '/home/user/weather.txt';
注:weather.txt是您提前写好的符合格式标准的表格内容文档;
9. 查询一个表;
9.1 SELECT;
要从一个表中检索数据就是查询这个表。 SQL 的 SELECT 就是做这个用途的。 该语句分为选择列表(列出要返回的字段部分),表列表(列出从中检索数据的表的部分), 以及可选的条件(声明任意限制的部分)。比如,要检索表 weather 的所有行,键入:
SELECT * FROM weather;
<code>
输出结果:
<code>
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 46 | 50 | 0.25 | 1994-11-27
San Francisco | 43 | 57 | 0 | 1994-11-29
Hayward | 37 | 54 | | 1994-11-29
(3 rows)
您可以在选择列表中写任意表达式,而不仅仅是字段列表。比如,您可以:
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;
这样应该得出:
city | temp_avg | date
---------------+----------+------------
San Francisco | 48 | 1994-11-27
San Francisco | 50 | 1994-11-29
Hayward | 45 | 1994-11-29
(3 rows)
请注意这里的 AS 子句是如何给输出字段重新命名的。(AS 子句是可选的。)
9.2 WHERE;
一个查询可以使用 WHERE 子句"修饰",声明需要哪些行。 WHERE 子句包含一个布尔(真值)表达式,只有那些布尔表达式为真的行才会被返回。 允许您在条件中使用常用的布尔操作符(AND,OR, 和 NOT)。 比如,下面的查询检索旧金山的下雨天的天气:
mydb#SELECT * FROM weather
WHERE city = 'San Francisco' AND prcp > 0.0;
结果:
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 46 | 50 | 0.25 | 1994-11-27
(1 row)
9.3 排序;
您可以要求返回的查询是排好序的:
mydb#SELECT * FROM weather
ORDER BY city;
得出结果:
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
Hayward | 37 | 54 | | 1994-11-29
San Francisco | 43 | 57 | 0 | 1994-11-29
San Francisco | 46 | 50 | 0.25 | 1994-11-27
在这个例子里,排序的顺序并非绝对清晰的,因此您可能看到 San Francisco 行随机的排序。 但是如果您使用下面的语句,那么就总是会得到上面的结果
SELECT * FROM weather
ORDER BY city, temp_lo;
您可以要求查询的结果按照某种顺序排序, 并且消除重复的行输出:
mydb#SELECT DISTINCT city
FROM weather;
得出结果:
city
---------------
Hayward
San Francisco
(2 rows)
『叁』 db文件怎么转换成sql数据库文件(db文件转换excel)
SQL企业管理器——选择数据库——工具——数据导出——dts模式——选择ACCESS——(下一步)——ok!
反向:
1、控制面版-<管理工具-<数据源-<添加-<选择Driverdomicrosoftaess(*.mdb)-<点击完成-<选择数据库地址-<输入数据源名称-<点击确定.完成ODBC数据源添加.
2、打开SQL企业管理器-<右键数据库-<所有任务-<导入数据-<下步-<
数据谈培源选择:其他(ODBC数据源)
用户/系统DSN(M):选择第一步您输入的数据源名称
-<点击下步-<目的
目的:选择用于SQLSERVER的MICROSOFTOLEDB提供程序
服务器:选择你的SQL服务器
数据库:选择你要把ACCESS数据库导进SQL的数据库
点弊侍者击下租薯步-<从源数据库复制表和视图-<下步-<全选-<下步-<下步-<完成