sql跨表復制
1. 在sql資料庫中如何把一個表的同一個欄位復制到同一個表的另一個欄位
1、復製表結構及數據到新表select*into目標表名from源表名(要求目標表不存在,因為在插入時會自動創建)。
2. sql語句怎麼從一個表復制到另一個表中
由於表111和222
兩張表的結構不同,要將表222復制到表111裡面,編寫一個能成功運行的sql語句須要考慮很多因素:
1)欄位數要匹配。插入和被插入的欄位數要相同,例如表111
只5個欄位而表222卻有6個
欄位,全部復制就會失敗;
2)對應欄位的類型要相同或者兼容。假如表111
欄位a的類型為數值,表222
欄位f的類型為文本,當欄位f下有不兼容的值如"a3「插入欄位a時系統就會報錯;
3)被插入的欄位是否允許空值。例如表111
欄位b不允許空值且未設定默認值,當碰到表222
欄位f下有空值插入表111
欄位a時,系統就會報錯;
4)插入的值必須符合被插入欄位的有效性規則。例如表111
欄位b只允許插入1到1000之間的整數,而當表222
的對應欄位含有不在該范圍的記錄時,插入就會失敗;
5)當然還有其他很多因素,比如欄位的大小是否足夠容納被插入的值否則可能遭受截斷、觸發器限制、運行許可權等等這里不再一一列舉。
如果你能提供那兩張表的詳細結構、有效性規則,我可以為你編寫出正確的sql代碼
3. sql語句如何將一個表中符合條件的數據復制到另一個表中
先把表Gouwu_Content
的
ClassID=8
內容刪除
delete
from
Gouwu_Content
where
ClassID=8
再插入
insert
Gouwu_Content
(select
8,欄位1,欄位2.....from
Wayinfo_Content
where
ClassID=23
)
--8所佔的是ClassID欄位,就是後面的查詢把ClassID欄位直接寫8
4. sql中怎麼把一個表的數據復制到另一個表中
不同的資料庫語法不同(SQL Server和Oracle為例),且復制包括目標表已存在和目標表不存在的情況,分別回答:
SQL Server中,如果目標表存在:
1
insert into 目標表 select * from 原表;
SQL Server中,,如果目標表不存在:
1
select * into 目標表 from 原表;
Oracle中,如果目標表存在:
1
2
insert into 目標表 select * from 原表;
commit;
Oracle中,如果目標表不存在:
1
create table 目標表 as select * from 原表;
5. SQL server 資料庫 如何把一張表復制到另一個資料庫表中
SQLserver資料庫如何把一張表復制到另一個資料庫表中的方法。
如下參考:
1.首先,在桌面上單擊「ManagementStudio」圖標。
6. sql語句兩個資料庫中表復制
假設當前資料庫為aaa,另一個資料庫為bbb。現在將資料庫aaa中的tba的數據復制到資料庫bbb中,就給它命名為tbb。
select * into bbb.dbo.tbb
from aaa
實際上就是into子句後面的新表名字前面加上另外一個資料庫的名稱、所有者。
7. SQL跨表復制列,但兩個表的列名一樣
1.INSERT INTO SELECT語句
語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目標表Table2必須存在,由於目標表Table2已經存在,所以我們除了插入源表Table1的欄位外,還可以插入常量。示例如下:
INSERT INTO SELECT語句復製表數據
--1.創建測試表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
create TABLE Table2
(
a varchar(10),
c varchar(10),
d int,
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
--2.創建測試數據
Insert into Table1 values('趙','asds','90')
Insert into Table1 values('錢','asds','100')
Insert into Table1 values('孫','asds','80')
Insert into Table1 values('李','asds',null)
GO
select * from Table2
--3.INSERT INTO SELECT語句復製表數據
Insert into Table2(a, c, d) select a,c,5 from Table1
GO
--4.顯示更新後的結果
select * from Table2
GO
--5.刪除測試表
drop TABLE Table1
drop TABLE Table2
2.SELECT INTO FROM語句
語句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標表Table2不存在,因為在插入時會自動創建表Table2,並將Table1中指定欄位數據復制到Table2中。示例如下:
SELECT INTO FROM創建表並復製表數據
--1.創建測試表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
--2.創建測試數據
Insert into Table1 values('趙','asds','90')
Insert into Table1 values('錢','asds','100')
Insert into Table1 values('孫','asds','80')
Insert into Table1 values('李','asds',null)
GO
--3.SELECT INTO FROM語句創建表Table2並復制數據
select a,c INTO Table2 from Table1
GO
--4.顯示更新後的結果
select * from Table2
GO
--5.刪除測試表
drop TABLE Table1
drop TABLE Table2
8. SQL語句 怎麼把一個表的數據復制到另外一個表裡面
1、復制舊表的數據到新表(假設兩個表結構一樣)
INSERT
INTO
新表
SELECT
*
FROM
舊表
2、復制舊表的數據到新表(假設兩個表結構不一樣)
INSERT
INTO
新表(欄位1,欄位2,.......)
SELECT
欄位1,欄位2,......
FROM
舊表
3、復製表結構及數據到新表
select
*
into
目標表名
from
源表名(要求目標表不存在,因為在插入時會自動創建)
4、只復製表結構到新表
CREATE
TABLE
新表
SELECT
*
FROM
舊表
WHERE
1=2
即:讓WHERE條件不成立.
(8)sql跨表復制擴展閱讀
基本SQL語句
1、數據表的建立
CREATE
TABLE
數據表名稱(欄位1
類型1(長度),欄位2
類型2(長度)
……
)
2、
數據記錄篩選
sql="select
*
from
數據表
where欄位名=欄位值
order
by欄位名[desc]"
3、更新數據記錄
sql="update
數據表
set欄位名=欄位值
where
條件表達式"
4、刪除數據記錄
sql="delete
from
數據表
where
條件表達式"
5、
添加數據記錄
sql="insert
into
數據表
(欄位1,欄位2,欄位3
…)
values
(值1,值2,值3
…)"
參考資料來源:網路-SQL
9. sql表復制,怎麼把一個表中的數據復制到另一個表中
Insert into 目標表(欄位列表) select 欄位列表 from 原始表
10. sql語言,從一個資料庫中,復制所有表,到另一個資料庫中
1、在第一個資料庫中對所有表進行一次復制
,(點中所要復制的表table_a,ctrl+c
,ctrl+v,
就會生成table_a_);
2、對第二個資料庫的表(包含數據)生成sql文件new.sql
3、在第一個資料庫中運行new.sql
4、然後逐個對含有表的進行操作:(例如a表)
(1)update
table_a
as
a,table_a_
as
b
set
a.c1=b.c1,a.c2=b.c2,a.c3=b.c3
where
a.id=b.id
(2)insert
into
table_a(c1,c2,c3)
select
c1,c2,c3
from
table_a_
where
id
not
in
(select
id
from
table_a)
不知道是否可行,呵呵