『壹』 不同資料庫之間怎麼轉換,有沒有好的工具比如我在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的資料庫
點弊侍者擊下租薯步-<從源資料庫復製表和視圖-<下步-<全選-<下步-<下步-<完成