當前位置:首頁 » 數據倉庫 » 資料庫指定欄位復製表結構
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫指定欄位復製表結構

發布時間: 2022-11-21 07:41:45

① 在ACCESS資料庫中,怎樣把一個表的某些欄位的某些記錄復制到另一個表

用追加查詢就OK啦!!(假設要把表A中的某條記錄復制到表B中)
1、在設計視圖中打開表A,並選擇要復制的記錄
2、單擊工具欄中的「查詢類型」選擇「追加查詢」彈出生成表對話框。
表名稱選B、選「當前資料庫」
基本上就OK了!!
快去試試吧!!

② 如何將oracle資料庫中的表導出指定結構的表

無法直接導出的。但是可以通過復製表結構,然後在導出新生成的表方式實現。
第一步執行sql:create table table2 as select t.id.t.name,t.age from usertable t where 1=2;
解釋:先把要復制的表結構通過「select t.id.t.name,t.age from usertable t where 1=2」讀取出來表欄位,然後創建一個新表,新表的欄位來自剛才的查詢結果。
第二步執行sql:exp user/pasword@dbServerName tables=(table2 ) file=c:\1.dmp;導出到「c:\1.dmp」。

③ 如何用SQL語句復製表的結構,復制整個資料庫

1.復製表結構:只能復製表的欄位,不能復制主鍵、索引等

select top 0 * into 新表名 from 原表名

2.復制整個資料庫結構及數據:

create datebase Test --創建目標資料庫
exec P_CopyDB @Source_DB='aspnet',@Des_DB='test' --把源資料庫整個復制到目標資料庫

P_CopyDB存儲過程創建過程如下

-----------------------創建存儲過程開始--------------------

create proc P_CopyDB
@Des_DB sysname, --目標資料庫
@Obj_Type nvarchar(4000)=N'',--復制的對象類型,可以是下列字元串列表:
-- O 所有對象,D 默認值,R 規則,P 存儲過程
-- T 表,TR 觸發器,DT 用戶定義數據類型
-- V 視圖,DATA 數據,DEL 刪除目標對象
@Source_DB sysname=N'', --源資料庫
@ServerName sysname=N'', --伺服器名
@UserName sysname=N'', --用戶名,不指定則表示使用 Windows 身份登錄
@pwd sysname=N'' --密碼
AS
SET NOCOUNT ON
DECLARE @srvid int,@Dbid int,@S_dbid int,@D_dbid int,@TransferID int,
@err int,@src varchar(255), @desc varchar(255)

IF ISNULL(@ServerName,N'')=N'' SET @ServerName='.'--默認為本地資料庫
IF ISNULL(@Source_DB,N'')=N'' SET @Source_DB=DB_NAME()

--創建sqldmo對象·
EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT
IF @err<>0 GOTO lb_Err

--連接伺服器
IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登錄
BEGIN
EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1
IF @err<>0 GOTO lb_Err

EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername
END
ELSE
EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername,@UserName,@pwd

IF @err<>0 GOTO lb_Err

--獲取資料庫集
EXEC @err=sp_oagetproperty @srvid,'databases',@Dbid OUT
IF @err<>0 GOTO lb_Err

--選擇源資料庫
EXEC @err=sp_oamethod @Dbid,'item',@S_dbid OUT,@Source_DB
IF @err<>0 GOTO lb_Err

--選擇目標資料庫
EXEC @err=sp_oamethod @Dbid,'item',@D_dbid OUT,@Des_DB
IF @err<>0 GOTO lb_Err

--設置復制的對象
EXEC @err=sp_oacreate 'SQLDMO.Transfer',@TransferID OUT
IF @err<>0 GOTO lb_Err

--設置目標伺服器信息
EXEC @err=sp_oasetproperty @TransferID,'DestServer',@ServerName
IF @err<>0 GOTO lb_Err

--設置連接用戶
IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登錄
BEGIN
EXEC @err=sp_oasetproperty @TransferID,'DestUseTrustedConnection',1
IF @err<>0 GOTO lb_Err
END
ELSE
BEGIN
EXEC @err=sp_oasetproperty @TransferID,'DestLogin',@UserName
IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @TransferID,'DestPassword',@pwd
IF @err<>0 GOTO lb_Err
END

--設置復制對象信息
EXEC @err=sp_oasetproperty @TransferID,'DestDatabase',@Des_DB
IF @err<>0 GOTO lb_Err

DECLARE tb CURSOR FAST_FORWARD LOCAL
FOR
SELECT Name FROM(
SELECT KeyWord=N',D,', Name=N'CopyAllDefaults' UNION ALL
SELECT KeyWord=N',O,', Name=N'CopyAllObjects' UNION ALL
SELECT KeyWord=N',R,', Name=N'CopyAllRules' UNION ALL
SELECT KeyWord=N',P,', Name=N'CopyAllStoredProceres' UNION ALL
SELECT KeyWord=N',T,', Name=N'CopyAllTables' UNION ALL
SELECT KeyWord=N',TR,', Name=N'CopyAllTriggers' UNION ALL
SELECT KeyWord=N',DT,', Name=N'CopyAllUserDefinedDatatypes' UNION ALL
SELECT KeyWord=N',V,', Name=N'CopyAllViews' UNION ALL
SELECT KeyWord=N',DATA,',Name=N'CopyData' UNION ALL
SELECT KeyWord=N',DEL,', Name=N'DropDestObjectsFirst'
)A WHERE CHARINDEX(KeyWord,
CASE WHEN ISNULL(@Obj_Type,N'')='' THEN ',O,DATA,' ELSE @Obj_Type END)>0
OPEN tb
FETCH tb INTO @src
WHILE @@FETCH_STATUS=0
BEGIN
EXEC @err=sp_oasetproperty @TransferID,@src,1
IF @err<>0 GOTO lb_Err
FETCH tb INTO @src
END
CLOSE tb
DEALLOCATE tb

--復制對象
EXEC @err=sp_oamethod @S_dbid,'Transfer',null,@TransferID
IF @err<>0 GOTO lb_Err

--結束
SET @err=0
GOTO lb_Exit

--錯誤處理
lb_Err:
EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT
RAISERROR(N'錯誤編號 %#x, 錯誤源 "%s", 錯誤描述 "%s"',16,1,@err,@src,@desc)
RETURN -1

lb_Exit:
EXEC sp_OADestroy @Dbid
EXEC sp_OADestroy @srvid
EXEC sp_OADestroy @TransferID
RETURN @err
GO

-----------------------創建存儲過程結束--------------------

④ 如何將資料庫中的表結構和數據復制到另一個資料庫

首先,打開並連接Sql
Server,在源資料庫Source_db(源資料庫名稱)上右鍵,然後依次點擊「編寫表腳本為」→「CREATE到」→「新查詢編輯器窗口」。
在第1步產生的編輯器中按」crtl+a「組合鍵全選內容,然後右鍵「復制「(或按"crtl+c"鍵)。
新建查詢,然後右鍵」粘貼「(或ctrl+v);如圖所示,將代碼中Source_db(源資料庫名)改為target_db(目標資料庫名)。接著右鍵單擊」執行「執行代碼。
然後,在目標資料庫的表結構中就可以看到被復制過來的表了。

⑤ SQL語句 怎麼把一個表的數據復制到另外一個表裡面

SQL語句把一個表的數據復制到另外一個表裡面的步驟:

1、打開SQL,登錄到一個資料庫中,依次點擊「工具」——「導出表」,在彈出的界面中選擇一個用戶,列出這個用戶下面的所有表。

⑥ mysql資料庫如何將相同資料庫中的一個表的數據復制到另一個表中

你建表復制就可以了,例如CREATE TABLE aa AS SELECT * FROM tree;這是完全復制tree表的數據及表結構到aa表中。假如要復制某些欄位的話,如:insert into 表名user(表中欄位sal) select sal from emp;插入某一列sal到user表中,從emp表中獲取sal的數據信息。最後提醒下,Oracle和MySql復製表建表 一樣,可以自己建表結構,再復制數據;也可以復制部分列和部分數據,分開操作。 但要保證數據類型一致,插入指定列數,列數要相同,列的長度空間大就可以了。

⑦ 在SQL資料庫中如何把一個表的同一個欄位復制到同一個表的另一個欄位

1、復製表結構及數據到新表select*into目標表名from源表名(要求目標表不存在,因為在插入時會自動創建)。

⑧ 如何把資料庫中某個表中的數據與結構(包括主外鍵,索引)全部復制到另一張表中

不能一步到位。這樣復制後,主鍵,索引只能是後期處理。

ALTER TABLE 表名 ADD Constraint PK_表名 Primary key(列名)
CREATE INDEX [tid_index] ON [dbo].[tb_test]([tid])

⑨ SQL如何復製表結構

1、既復製表結構也復製表內容的SQL語句:

CREATE TABLE tab_new AS SELECT * FROM tab_old;

2、只復製表結構不復製表內容的SQL語句:

CREATE TABLE tab_new AS SELECT * FROM tab_old WHERE 1=2;

3、不復製表結構,只復制內容的sql語句:

SELECT vale1, value2 into Table2 from Table1

(9)資料庫指定欄位復製表結構擴展閱讀:

SQL中常用的語句:

1、說明:創建資料庫

CREATE DATABASE database-name

2、說明:刪除資料庫

drop database dbname

3、說明:創建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根據已有的表創建新表:

A:create table tab_new like tab_old (使用舊表創建新表)

B:create table tab_new as select col1,col2… from tab_old definition only

4、說明:刪除新表

drop table tabname

5、說明:增加一個列

Alter table tabname add column col type

6、說明:添加主鍵

Alter table tabname add primary key(col)

7、說明:刪除主鍵

Alter table tabname drop primary key(col)

8、說明:創建索引

create [unique] index idxname on tabname(col….)

9、刪除索引

drop index idxname

⑩ MySQL如何復製表結構時聯通復制完整性約束

1、復製表結構(語法 creata table 舊表 select * from 新表)
create table t1(
id int unsigned auto_increment primary key,
name varchar(32) not null default '',
pass int not null default 0 );
desc 查看錶結構

創建表 t2 同時復製表 t1 表結構 create table t2 select * from t1;
desc t2 查看錶結構

注意:兩張的表欄位結構一樣,但是 主鍵 primary key 和 自增 auto_increment 沒有了,所以這種方法不推薦大家使用,那如何才能創建出兩張完全一樣的表呢,辦法肯定有的,如下面語句。
create table t2 like t1;
這就可以創建一張 t2 和 t1 完全一樣的表了。
2、指定欄位復製表結構
語法: create table 新表 select 欄位1,欄位2 … from 舊表
3、復製表中數據
假設要把表 t1 中的數據全部復制到表 t2中
insert into t2 select *from t1;
如果只想復制某個欄位
insert into t2(欄位1,欄位2) select 欄位1,欄位2from t1;