資料庫表怎麼復制
MySQL 復製表
如果我們需要完全的復制MySQL的數據表,包括表的結構,索引,默認值等。 如果僅僅使用CREATE TABLE … SELECT 命令,是無法實現的。
本章節將為大家介紹如何完整的復制MySQL數據表,步驟如下:
使用 SHOW CREATE TABLE 命令獲取創建數據表(CREATE TABLE) 語句,該語句包含了原數據表的結構,索引等。
復制以下命令顯示的SQL語句,修改數據表名,並執行SQL語句,通過以上命令 將完全的復制數據表結構。
如果你想復製表的內容,你就可以使用 INSERT INTO … SELECT 語句來實現。
-from 樹懶學堂 - 一站式數據知識平台
㈡ 如何實現MS SQL中同一資料庫中表與表之間的數據復制
分類: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
MS SQL中如何添加大量資料庫?希望你能幫我想想!
解析:
1. 通過工具DTS的設計器進行導入或導出
DTS的設計器功能強大,支持多任務,也是可視化界面,容易操作,但知道的人一般不多,如果只是進行SQL Server資料庫中部分表的移動,用這種方法最好,當然,也可以進行全部表的移動。在SQL Server Enterprise Manager中,展判飢返開伺服器左邊的+,選擇資料庫,右擊,選擇All tasks/Import Data...(或All tasks/Export Data...),進入向導模式,按提示一步一步走就行了,裡面分得很細,可以靈活的在不同數據源之間復制數據,很方便的。而且可以另存成DTS包,如果以後還有相同的復制任務,直接運行DTS包就行,省時省力。也可以直接打肢迅開DTS設計器,方法是展開伺服器名稱下面的Data Transformation Services,選Local Packages,在右邊的窗口中右擊,選New Package,就打開了DTS設計器。值得注意的是:如果源資料庫要拷貝的表有外鍵,注意移動的順序,有時要分批移動,否則外鍵主鍵,索引可能丟失,移動的時候選項旁邊的提示說的很明白,或者一次性的復制到目標資料庫中,再重新建立外鍵,主鍵,索引。
其實建立資料庫時,建立外鍵,主鍵,索引的文件應該和建表文件分開,而且用的數據文件也分開,並分別放在不同的驅動器上,有利於資料庫的優化。
2. 利用Bcp工具
這種工具雖然在SQL Server7的版本中不推薦使用,但許多資料庫管理員仍很喜歡用它,尤其是用過SQL Server早期版本的人。Bcp有局限性,首先它的界面不是圖形化的,其次它只是在SQL Server的表(視圖)與文本文件之間進行復制,但它的優點是性能好,開銷小,佔用內存少,速度快。有興趣的朋友可以查參考手冊。
3. 利用備份和恢復
先對源資料庫進行完全備份,備份到一個設備(device)上,然後把備份文件復制到目的伺服器上(恢復的速度快),進行資料庫的恢復操作,在恢復的資料庫名中填上源資料庫的名字(名字必須相同),選擇強制型恢復(可以覆蓋以前資料庫的選項),在選擇從設備中進行恢復,瀏覽時選中備份的文件就行了。這種方法可以完全恢復資料庫,包括外鍵,主鍵,索引。
4. 直接拷貝數據文件
把資料庫的數據文件(*.mdf)和日誌文件(*.ldf)都拷貝到目的伺服器,在SQL Server Query Analyzer中用語句進行恢復:
EXEC sp_attach_db @dbname = 'test',
@filename1 = 'd:\mssql7\data\test_data.mdf',
@filename2 = 'd:\mssql7\data\test_log.ldf'
這樣就把test資料庫附加到SQL Server中,可以照常使用。如果不想用原來的日誌文件,可以用如下的命令:
EXEC sp_detach_db @dbname = 'test'
EXEC sp_attach_single_file_db @dbname = 'test',
@physname = 'd:\mssql7\data\test_data.mdf'
這個語句的作用是僅僅載入數據文件,日誌文件可以由SQL Server資料庫自動掘飢添加,但是原來的日誌文件中記錄的數據就丟失了。
5. 在應用程序中定製
可以在應用程序(PB、VB)中執行自己編寫的程序,也可以在Query Analyzer中執行,這種方法比較靈活,其實是利用一個平台連接到資料庫,在平台中用的主要時SQL語句,這種方法對資料庫的影響小,但是如果用到遠程鏈接伺服器,要求網路之間的傳輸性能好,一般有兩種語句:
1> select ... into new_tablename where ...
2> insert (into) old_tablename select ... from ... where ...
區別是前者把數據插入一個新表(先建立表,再插入數據),後者是把數據插入已經存在的一個表中,我個人喜歡後者,因為在編程的結構上,應用的范圍上,第二條語句強於前者。
6. SQL Server的復制功能
SQL Server提供了強大的數據復制功能,也是最不易掌握的,具體應用請參考相關資料,值得注意的是要想成功進行數據的復制工作,有些條件是必不可少的:
1>SQL Server Agent必須啟動,MSDTC必須啟動。
2>所有要復制的表必須有主鍵。
3>如果表中有text或image數據類型,必須使用with log選項,不能使用with no_log選項。
另外max text repl size選項控制可以復制的文本和圖像數據的最大規模,超過這個限制的操作將失敗。
4>在要進行復制的計算機上,應該至少是隱含共享,即共享名是C$或D$…。
5>為SQL Server代理使用的Windows NT帳號不能是一個本地的系統帳號,因為本地的系統帳號不允許網路存取。
6>如果參與復制的伺服器在另外的計算機域中,必須在這些域之間建立信任關系。本人從事的工作是資料庫管理員,要維護多台伺服器中的資料庫,經常把某台伺服器中的某個資料庫移動到另外一台伺服器,對數據的移動有些心得體會,希望和大家共同交流。
㈢ 如何將一個資料庫中的一個表復制到另一個資料庫中的表中
SQL SELECT INTO 語句可用於創建表的備份復件
SELECT INTO 語句
SELECT INTO 語句從一個表中選取數據,然後把數據插入另一個表中。
SELECT INTO 語句常用於創建表的備份復件或者用於對記錄進行存檔
語法
可以把所有的列插入新表:
SELECT*
INTOnew_table_name[INexternaldatabase]
FROMold_tablename--或者只把希望的列插入新表:
SELECTcolumn_name(s)
INTOnew_table_name[INexternaldatabase]
FROMold_tablename
註:如果新表存在,新表與舊表列最好是一致的,不然最好是選擇對應的列插入
㈣ 在sqlserver資料庫中怎麼復制相同的表結構的方法
12--------------新表 ↓ 要復制的源表↓Select * Into newTable From sourceTable
這個語句會將sourceTable結構包括數據全部復制一份放到新表中newTable 是新表的名字,在執行前newTable 表不能已存在,如果只復制結構不要數據
12Select top 1 * Into newTable From sourceTable --少要點只要一行truncate table newTable --清除掉數據
關於
select
into
語句:
SQL
SELECT
INTO
語句可用於創建表的備份復件。
SELECT
INTO
語句
SELECT
INTO
語句從一個表中選取數據,然後把數據插入另一個表中。
SELECT
INTO
語句常用於創建表的備份復件或者用於對記錄進行存檔。
SQL
SELECT
INTO
語法
您可以把所有的列插入新表:
SELECT
*
INTO
new_table_name
[IN
externaldatabase]
FROM
old_tablename
或者只把希望的列插入新表:
SELECT
column_name(s)
INTO
new_table_name
[IN
externaldatabase]
FROM
old_tablename
SQL
SELECT
INTO
實例
-
製作備份復件
下面的例子會製作
"Persons"
表的備份復件:
SELECT
*
INTO
Persons_backup
FROM
Persons
IN
子句可用於向另一個資料庫中拷貝表:
SELECT
*
INTO
Persons
IN
'Backup.mdb'
FROM
Persons
如果我們希望拷貝某些域,可以在
SELECT
語句後列出這些域:
SELECT
LastName,FirstName
INTO
Persons_backup
FROM
Persons
SQL
SELECT
INTO
實例
-
帶有
WHERE
子句
我們也可以添加
WHERE
子句。
下面的例子通過從
"Persons"
表中提取居住在
"Beijing"
的人的信息,創建了一個帶有兩個列的名為
"Persons_backup"
的表:
SELECT
LastName,Firstname
INTO
Persons_backup
FROM
Persons
WHERE
City='Beijing'
SQL
SELECT
INTO
實例
-
被連接的表
從一個以上的表中選取數據也是可以做到的。
下面的例子會創建一個名為
"Persons_Order_Backup"
的新表,其中包含了從
Persons
和
Orders
兩個表中取得的信息:
SELECT
Persons.LastName,Orders.OrderNo
INTO
Persons_Order_Backup
FROM
Persons
INNER
JOIN
Orders
ON
Persons.Id_P=Orders.Id_P
㈤ SQL server 資料庫 如何把一張表復制到另一個資料庫表中
SQLserver資料庫如何把一張表復制到另一個資料庫表中的方法。
如下參考:
1.首先,在桌面上單擊「ManagementStudio」圖標。
㈥ 在oracle中怎樣把一個資料庫中的一張表的數據復制到另一個資料庫中的一張表中
1、使用plsql連接上資料庫,展開【Tables】菜單項,下面出現的就是資料庫表。
㈦ 怎麼快速復制資料庫的表 克隆其他資料庫的方法
怎麼復制其他資料庫的部分表或全部表呢。有時,資料庫中需要相同的表,如省份表。可以從已有的資料庫中拷貝。可復制部分或者全部的數據表,甚至直接復制整個資料庫來新建一個資料庫
工具/原料
SQL Server
提供復制的源資料庫
方法/步驟
打開資料庫管理器,在被復制的資料庫上右擊,選擇【任務】→【導出數據】
在導入導出歡迎界面中,點擊下一步
數據源選擇界面中,保持默認即可,點擊下一步
在選擇目標對話框中,選擇你要拷貝到哪個資料庫里去
如果想克隆整個資料庫到新的資料庫中,可以點擊【新建】,將會把選中的表或全部表拷貝到新建的資料庫中
在指定表或查詢中,選擇你要復制的范圍,通常選擇上面即可
如果你是有特殊的需要,只想拷貝部分或特定條件的記錄,請選擇下面的選項
選擇你想復制的一個或多個表,然後下一步
在運行包對話框中,點擊下一步
完成該向導對話框中,顯示了你選擇的信息,檢查無誤後,點擊完成
執行完成後,在目的資料庫中,已經復制好了你選擇的數據表