表復制:
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'