表複製:
1. INSERT INTO SELECT語句
語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目標表Table2必須存在,由於目標表Table2已經存在,所以我們除了插入源表Table1的欄位外,還可以插入常量。
樣本如下:
複製代碼 代碼如下:--建立測試表
create TABLE Users1
(
UserID int identity (1,1) primary key not null,
UserName varchar(10),
UserAddress varchar(20)
)
GO
create TABLE Users2
(
ID int identity (1,1) primary key not null,
Name varchar(10),
Address varchar(20)
)
GO
--建立測試資料
Insert into Users1 values('趙','asds')
Insert into Users1 values('錢','asds')
Insert into Users1 values('孫','asds')
Insert into Users1 values('李','asds')
GO
select * from Users2
--INSERT INTO SELECT語句複製表資料
Insert into Users2(Name,Address) select UserName,UserAddress from Users1
GO
--顯示更新後的結果
select * from Users2
GO
--刪除測試表
drop TABLE Users1
drop TABLE Users2
2. SELECT INTO FROM語句
語句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標表Table2不存在,因為在插入時會自動建立表Table2,並將Table1中指定欄位資料複製到Table2
樣本如下: 複製代碼 代碼如下:--建立測試表
create TABLE Users1
(
UserID int identity (1,1) primary key not null,
UserName varchar(10),
UserAddress varchar(20)
)
GO
--建立測試資料
Insert into Users1 values('趙','asds')
Insert into Users1 values('錢','asds')
Insert into Users1 values('孫','asds')
Insert into Users1 values('李','asds')
GO
--SELECT INTO FROM語句建立表Users2並複製資料
select UserName,UserAddress INTO Users2 from Users1
GO
--顯示更新前後的結果
select * from Users1
select * from Users2
GO
--刪除測試表
drop TABLE Users1
drop TABLE Users2
表更改:
3.ALTER TABLE 語句
ALTER TABLE 語句用於在已有的表中添加、修改或刪除列。
語句形式為: 複製代碼 代碼如下:在表中添加列 :
ALTER TABLE table_name
ADD column_name datatype
刪除表中的列
ALTER TABLE table_name
DROP COLUMN column_name
改變表中列的資料類型
ALTER TABLE table_name
ALTER COLUMN column_name datatype
樣本如下: 複製代碼 代碼如下:--建立測試表
create TABLE Users
(
UserID int identity (1,1) primary key not null,
UserName varchar(10),
UserAddress varchar(20)
)
GO
--在Users表中添加一個名為 "Birthday" 的新列 資料類型為datetime
ALTER TABLE Users ADD Birthday datetime
GO
--在Users表中把 "Birthday" 列的資料類型改為nvarchar(20)
ALTER TABLE Users ALTER COLUMN Birthday nvarchar(20)
GO
--刪除 "Person" 表中的 "Birthday" 列:
ALTER TABLE Users DROP COLUMN Birthday
GO
--刪除測試表
drop TABLE Users
使用Sp_rename 預存程序[SQLCE不支援]
Sp_rename 預存程序可以修改當前資料庫中使用者物件的名稱,如表、列、索引、預存程序等待。但在SqlCe下面測試只能改表名
文法如下:
Sp_rename[@objname=]'object_name',
[@newname=]'new_name'
[,[@objtype=]'object_type']
其中[@objtype=]'object_type'是要改名的對象的類型,其值可以為
'Column' 列
'Database' 資料庫
'Index' 索引
'Userdatatype'使用者自訂類型
'Object' 對象
值'Object'指代了系統資料表sysobjects中所有對象,如表、視圖、預存程序、觸發器、規則、約束等。'object'值為預設值。
樣本如下: 複製代碼 代碼如下:例1:更改orders表的列p_id 名稱為 products_id
exec sp_rename 'orders.[p_id]','product_id','column'
例2: 更改orders表的名稱為p_orders
exec sp_rename 'orders','p_orders'