數(shù)據(jù)庫更新Sqlserver腳本總結(jié)
更新時(shí)間:2011年06月27日 21:30:53 作者:
數(shù)據(jù)庫更新Sqlserver腳本總結(jié),需要的朋友可以參考下。
表復(fù)制:
1. INSERT INTO SELECT語句
語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目標(biāo)表Table2必須存在,由于目標(biāo)表Table2已經(jīng)存在,所以我們除了插入源表Table1的字段外,還可以插入常量。
示例如下:
--創(chuàng)建測(cè)試表
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
--創(chuàng)建測(cè)試數(shù)據(jù)
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語句復(fù)制表數(shù)據(jù)
Insert into Users2(Name,Address) select UserName,UserAddress from Users1
GO
--顯示更新后的結(jié)果
select * from Users2
GO
--刪除測(cè)試表
drop TABLE Users1
drop TABLE Users2
2. SELECT INTO FROM語句
語句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標(biāo)表Table2不存在,因?yàn)樵诓迦霑r(shí)會(huì)自動(dòng)創(chuàng)建表Table2,并將Table1中指定字段數(shù)據(jù)復(fù)制到Table2
示例如下:
--創(chuàng)建測(cè)試表
create TABLE Users1
(
UserID int identity (1,1) primary key not null,
UserName varchar(10),
UserAddress varchar(20)
)
GO
--創(chuàng)建測(cè)試數(shù)據(jù)
Insert into Users1 values('趙','asds')
Insert into Users1 values('錢','asds')
Insert into Users1 values('孫','asds')
Insert into Users1 values('李','asds')
GO
--SELECT INTO FROM語句創(chuàng)建表Users2并復(fù)制數(shù)據(jù)
select UserName,UserAddress INTO Users2 from Users1
GO
--顯示更新前后的結(jié)果
select * from Users1
select * from Users2
GO
--刪除測(cè)試表
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
改變表中列的數(shù)據(jù)類型
ALTER TABLE table_name
ALTER COLUMN column_name datatype
示例如下:
--創(chuàng)建測(cè)試表
create TABLE Users
(
UserID int identity (1,1) primary key not null,
UserName varchar(10),
UserAddress varchar(20)
)
GO
--在Users表中添加一個(gè)名為 "Birthday" 的新列 數(shù)據(jù)類型為datetime
ALTER TABLE Users ADD Birthday datetime
GO
--在Users表中把 "Birthday" 列的數(shù)據(jù)類型改為nvarchar(20)
ALTER TABLE Users ALTER COLUMN Birthday nvarchar(20)
GO
--刪除 "Person" 表中的 "Birthday" 列:
ALTER TABLE Users DROP COLUMN Birthday
GO
--刪除測(cè)試表
drop TABLE Users
使用Sp_rename 存儲(chǔ)過程[SQLCE不支持]
Sp_rename 存儲(chǔ)過程可以修改當(dāng)前數(shù)據(jù)庫中用戶對(duì)象的名稱,如表、列、索引、存儲(chǔ)過程等待。但在SqlCe下面測(cè)試只能改表名
語法如下:
Sp_rename[@objname=]'object_name',
[@newname=]'new_name'
[,[@objtype=]'object_type']
其中[@objtype=]'object_type'是要改名的對(duì)象的類型,其值可以為
'Column' 列
'Database' 數(shù)據(jù)庫
'Index' 索引
'Userdatatype'用戶自定義類型
'Object' 對(duì)象
值'Object'指代了系統(tǒng)表sysobjects中所有對(duì)象,如表、視圖、存儲(chǔ)過程、觸發(fā)器、規(guī)則、約束等。'object'值為默認(rèn)值。
示例如下:
例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'
1. INSERT INTO SELECT語句
語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目標(biāo)表Table2必須存在,由于目標(biāo)表Table2已經(jīng)存在,所以我們除了插入源表Table1的字段外,還可以插入常量。
示例如下:
復(fù)制代碼 代碼如下:
--創(chuàng)建測(cè)試表
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
--創(chuàng)建測(cè)試數(shù)據(jù)
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語句復(fù)制表數(shù)據(jù)
Insert into Users2(Name,Address) select UserName,UserAddress from Users1
GO
--顯示更新后的結(jié)果
select * from Users2
GO
--刪除測(cè)試表
drop TABLE Users1
drop TABLE Users2
2. SELECT INTO FROM語句
語句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標(biāo)表Table2不存在,因?yàn)樵诓迦霑r(shí)會(huì)自動(dòng)創(chuàng)建表Table2,并將Table1中指定字段數(shù)據(jù)復(fù)制到Table2
示例如下:
復(fù)制代碼 代碼如下:
--創(chuàng)建測(cè)試表
create TABLE Users1
(
UserID int identity (1,1) primary key not null,
UserName varchar(10),
UserAddress varchar(20)
)
GO
--創(chuàng)建測(cè)試數(shù)據(jù)
Insert into Users1 values('趙','asds')
Insert into Users1 values('錢','asds')
Insert into Users1 values('孫','asds')
Insert into Users1 values('李','asds')
GO
--SELECT INTO FROM語句創(chuàng)建表Users2并復(fù)制數(shù)據(jù)
select UserName,UserAddress INTO Users2 from Users1
GO
--顯示更新前后的結(jié)果
select * from Users1
select * from Users2
GO
--刪除測(cè)試表
drop TABLE Users1
drop TABLE Users2
表更改:
3.ALTER TABLE 語句
ALTER TABLE 語句用于在已有的表中添加、修改或刪除列。
語句形式為:
復(fù)制代碼 代碼如下:
在表中添加列 :
ALTER TABLE table_name
ADD column_name datatype
刪除表中的列
ALTER TABLE table_name
DROP COLUMN column_name
改變表中列的數(shù)據(jù)類型
ALTER TABLE table_name
ALTER COLUMN column_name datatype
示例如下:
復(fù)制代碼 代碼如下:
--創(chuàng)建測(cè)試表
create TABLE Users
(
UserID int identity (1,1) primary key not null,
UserName varchar(10),
UserAddress varchar(20)
)
GO
--在Users表中添加一個(gè)名為 "Birthday" 的新列 數(shù)據(jù)類型為datetime
ALTER TABLE Users ADD Birthday datetime
GO
--在Users表中把 "Birthday" 列的數(shù)據(jù)類型改為nvarchar(20)
ALTER TABLE Users ALTER COLUMN Birthday nvarchar(20)
GO
--刪除 "Person" 表中的 "Birthday" 列:
ALTER TABLE Users DROP COLUMN Birthday
GO
--刪除測(cè)試表
drop TABLE Users
使用Sp_rename 存儲(chǔ)過程[SQLCE不支持]
Sp_rename 存儲(chǔ)過程可以修改當(dāng)前數(shù)據(jù)庫中用戶對(duì)象的名稱,如表、列、索引、存儲(chǔ)過程等待。但在SqlCe下面測(cè)試只能改表名
語法如下:
Sp_rename[@objname=]'object_name',
[@newname=]'new_name'
[,[@objtype=]'object_type']
其中[@objtype=]'object_type'是要改名的對(duì)象的類型,其值可以為
'Column' 列
'Database' 數(shù)據(jù)庫
'Index' 索引
'Userdatatype'用戶自定義類型
'Object' 對(duì)象
值'Object'指代了系統(tǒng)表sysobjects中所有對(duì)象,如表、視圖、存儲(chǔ)過程、觸發(fā)器、規(guī)則、約束等。'object'值為默認(rèn)值。
示例如下:
復(fù)制代碼 代碼如下:
例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'
您可能感興趣的文章:
- SQLServer批量更新兩個(gè)關(guān)聯(lián)表數(shù)據(jù)的方法
- SQLServer用存儲(chǔ)過程實(shí)現(xiàn)插入更新數(shù)據(jù)示例
- SQLSERVER 本地查詢更新操作遠(yuǎn)程數(shù)據(jù)庫的代碼
- sql server中批量插入與更新兩種解決方案分享(asp.net)
- sql server中批量插入與更新兩種解決方案分享(存儲(chǔ)過程)
- Sqlserver 2005使用XML一次更新多條記錄的方法
- SQL Server自動(dòng)更新統(tǒng)計(jì)信息的基本算法
- SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法
- SQL Server實(shí)現(xiàn)顯示每個(gè)類別最新更新數(shù)據(jù)的方法
相關(guān)文章
mssql server 數(shù)據(jù)庫附加不上解決辦法分享
在我們做開發(fā)中經(jīng)常會(huì)對(duì)數(shù)據(jù)庫進(jìn)行備份,但有時(shí)假就會(huì)出現(xiàn)數(shù)據(jù)庫附加不上問題,下面我們來看看一個(gè)朋友的解決辦法2011-09-09SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法
這篇文章主要介紹了SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法,需要的朋友可以參考下2017-05-05在SQL Server中查詢資料庫的TABLE數(shù)量與名稱的sql語句
這篇文章主要介紹了在SQL Server中查詢資料庫的TABLE數(shù)量與名稱的sql語句,需要的朋友可以參考下2014-04-04SQL Server中判斷和處理NULL值的多種方法和解決方案
在SQL Server數(shù)據(jù)庫中,NULL是表示缺少數(shù)據(jù)或未知值的特殊標(biāo)記,處理NULL值是SQL開發(fā)人員經(jīng)常遇到的問題之一,本文將介紹SQL Server中判斷和處理NULL值的不同方法,以及一些解決方案,幫助您更好地處理數(shù)據(jù)庫中的NULL值情況,需要的朋友可以參考下2024-01-01sql 2000清空后讓表的id從1開始等數(shù)據(jù)庫操作
近來發(fā)現(xiàn)數(shù)據(jù)庫過大,空間不足,因此打算將數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行全面的清理,但表非常多,一張一張的清空,實(shí)在麻煩,因此就想利用SQL語句一次清空所有數(shù)據(jù).找到了三種方法進(jìn)行清空2012-12-12sql 判斷數(shù)據(jù)庫,表,存儲(chǔ)過程等是否存在的代碼
sql下用了判斷各種資源是否存在的代碼,很實(shí)用。需要的朋友可以參考下。2009-12-12