1. 程式人生 > >SQL Server2012 學習之(十) :插入與修改SQL資料

SQL Server2012 學習之(十) :插入與修改SQL資料

插入資料是資料庫使用中的常用操作,在對資料庫進行操作時,更經常使用的是用T-SQL語句進行資料插入,視覺化介面的操作較少,因此這篇部落格在介紹資料插入的時候側重於使用T-SQL語句進行。其語法格式如下。
1.insert……value語句insert value是基本的新增資料語句,在新增時需要對錶中的每一列進行新增,資料格式不能出錯。在這裡以AdventureWorks2012中的Production.Culture為例,這個資料表如下左圖,新增時,輸入
insert into Production.Culture values ('bc','Fujian','2002-06-01 00:00:00.000')

即可,重新整理後可在表中看到新增的列,如下右圖所示
     注意,如果只需要插入部分列,如CultureID和Name,需要在insert into後進行限定,如下所示。
insert into Production.Culture(CultureID,Name) values ('cd','Fuzhou')
其中,沒有進行修改的列需要有一個預設值或者NULL值。否則會出錯。新增結果如下圖
2.insert……select語句第一種insert……value語句的方法需要我們對每個列資料進行手動輸入,而在實際情況中,在插入的資料中部分資料是從別的資料表進行計算得來的,這是採用insert……select將更為高效。語法格式如下
本節中,建立一個空表進行操作,表的格式與Production.Culture一樣。建立方法:Production.Culture右鍵——>編寫表指令碼為——>create到——>新查詢編輯器視窗將其中程式碼更改為USE
[AdventureWorks2012]GO/****** Object:  Table [Production].[Culture]    Script Date: 2017/11/24 20:48:37 ******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[Production].[Culture1](     //表名為Culture1[CultureID][nchar](6)NOTNULL,[Name][dbo].[Name]NOTNULL,[ModifiedDate][datetime]NOTNULL,)ON[PRIMARY]GO即可。這段程式碼與原始碼的差別就是刪除了約束條件。最終得到了一個與Culture格式一樣的空表,如下左圖。之後可以進行insert……select語句的操作,輸入
insert Production.Culture1
select * from Production.Culture
即可,此時Culture1中就新增進了Culture中的所有資料,如下右圖     3.select……into語句select……into語句是第三種插入資料的方法,語法格式如下。與insert相比,用select……into語句會新建一個數據表,而不是在原有資料表的基礎上進行插入。
例:對Culture表中Name為‘Fujian’的一行資料插入一個新表。輸入
select *
into #Culture_temporary     //如果不想新建一個真實存在的表,可以建立一個臨時表#Culture_temporary
from Production.Culture where Name='Fujian'     //即第二節中的右圖第三行資料
即可,可以在臨時表中查到該行資料,臨時表的建立見  建立和修改資料表
篩選資料儲存到臨時表是一個常見的方法,需要牢牢掌握。
4.update語句4.1基本的update語句update語句主要作用是對資料表中的資料進行修改,其語法格式如下
例:下左圖中需要將紅圈部分的內容進行修改,這時就需要用到update語句。輸入
select * from Production.Culture
update Production.Culture set CultureID='cc'     //將原先的'bb'修改為'cc'
where Name='Fujian'     //設定具體的行,否則會將所有的CultureID修改為cc
即可
4.2 update……from子句update……from子句可以在修改資料表中資料的時候使用其他資料表中的資料,使操作更為便捷。例:對Culture1中的'bb' 用Culture中剛剛修改過的‘cc’代替。輸入
update Production.Culture1 set Name=b.Name,ModifiedDate=b.ModifiedDate     //set後的語句作用是令除了需要修改的資料以外,別的資料都相等
from Production.Culture1 a join Production.Culture b on a.CultureID=b.CultureID     //用join語句把兩個資料庫連線起來,a代表要修改的資料庫,b是提供修改值的資料庫
where b.Name='Fujian'
即可5.Delete語句delete語句可以對資料進行刪除,語法格式如下
例:要刪除下左圖中Name='Fujian'的這行資料,輸入
delete from Production.Culture
where Name='Fujian'
即可,結果如下右圖所示