成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL點滴之如何編輯數據

數據庫 SQL Server
數據庫中的數據編輯是我們遇到的最頻繁的工作,這一個隨筆中我來總結一下最常用的數據編輯。

數據庫中的數據編輯是我們遇到的最頻繁的工作,這一個隨筆中我來總結一下最常用的數據編輯。

select into

經常遇到一種情況是,我們希望創建一個新表,表中的數據來源于原有的一個表;原有一個表,但是這個表中的數據已經很混亂,我們希望把這些數據備份出來,然后把原有的表中的數據清除,重新導入;在這些情況下我們可以使用select into語句。

如果當前用戶擁有建表權限,在select語句使用關鍵字into可以在數據庫中創建新的 表。這個語句只需要把into new_table_name加到選擇出的列名之后,from關鍵字之前,當然數據可以來源于一個或多個表中。需要說明的是在新表中只包含select字句中查詢的到的數據,沒有任何鍵,約束,關系。下面實例:

  1. select top(10) *  
  2. into new_intervalwaitssample  
  3. from IntervalWaitsSample  
  4. select * from new_intervalwaitssample 

 

這個語句就將IntervalWaitsSample表中的前10行數據放在一個新建的表new_intervalwaitssample中。

insert into select

現在已經有這個新表了,如果我們想再從原表IntervalWaitsSample中選擇一些數據插入到這個新表中呢,這時候就需要使用insert into select語句了,下面實例:

  1. insert into new_intervalwaitssample  
  2. select * from IntervalWaitsSample where wait_type='ASSEMBLY_LOAD' 

這個語句就將原表IntervalWaitsSample中的所有wait_type='ASSEMBLY_LOAD'的數據插入到新表中了。

insert into select union

現在如果我們有一些已知的數據想把這些數據一次性寫入到目標表里面,應該怎么辦呢,這時候union語句就很有用了,可以使用insert into select union語句,注意這個語句和insert into select很相似,差別就在于后面的select語句使用了union把多個select連接起來。

  1. insert into select value11 , value12 , value13   
  2. union select value21 , value22 , value23   
  3. union select  value31 , value32 , value33   
  4. … … 

下面是實例:

  1. insert into new_intervalwaitssample  
  2. select 'ASYNC_NETWORK_IO','2011-05-09 16:50:00.973','0.00' union 
  3. select 'ASYNC_NETWORK_IO','2011-05-09 17:00:00.020','0.00' union 
  4. select 'ASYNC_NETWORK_IO','2011-05-09 17:15:00.123','0.00' union 
  5. select 'ASYNC_NETWORK_IO','2011-05-09 17:25:00.190','0.00' 

使用表值構造函數

我們還可以直接使用表值構造函數,這個更加簡單直接,代碼如下:

  1. insert into new_intervalwaitssample  
  2. values   
  3. ('ASYNC_NETWORK_IO','2011-05-09 16:50:00.973','0.00'),  
  4. ('ASYNC_NETWORK_IO','2011-05-09 17:00:00.020','0.00'),  
  5. ('ASYNC_NETWORK_IO','2011-05-09 17:15:00.123','0.00'),  
  6. ('ASYNC_NETWORK_IO','2011-05-09 17:25:00.190','0.00'

從表中“剪切”數據

還有一種情況,假設我們想從一個表中的數據刪除幾條數據,然后把這些刪除的數據放到另外一個表中。這個動作就像使用剪切,粘貼一樣。不過這種情況要注意,他只能從用戶表中剪切數據,不能從視圖中剪切數據。它的語法如下

  1. Delete sourcetable  
  2. output deleted.value1,deleted.value2,deleted.value3  
  3. into targettable  
  4. from targettable where … … 

下面是實例
 

  1. delete WaitStats  
  2. output deleted.dt,  
  3. deleted.wait_type,  
  4. deleted.waiting_tasks_count,  
  5. deleted.wait_time_ms,  
  6. deleted.max_wait_time_ms,  
  7. deleted.signal_wait_time_ms  
  8. into new_waitestats  
  9. where WaitStats.wait_type='ABR' 

可見即可得的編輯

如果我們是應用程序開發,我相信大多數人還是更愿意使用SQL Server Management Studio中的圖像化界面來操作數據,畢竟提供了這么多強大的功能,為什么不用呢。記得我曾經提到過Oracle中可以直接修改sql語句選擇得到的數據,當時質問Microsoft SQL Server為何沒有提供這樣強大的功能。呵呵,今天發現SQL Server還是提供了這樣的功能。不過這種修改只能是單獨一個表,如果在這個查詢語句中有內連接之類的估計就不行了。廢話不說,上圖:

1.點擊要修改的表右擊選擇Edit top 200 rows

2.當打開編輯界面的時候,SQL server上面會多出一個標簽 ,鼠標滑到這個標簽"Query Designer"上,再滑到Panel上,再滑到SQL上,點擊SQL,或者在編輯界面右擊也能看到。如圖1

 

圖1

這時候在上面的文字區就可以編寫自己想要修改的數據的查詢語句如下列:

  1. SELECT     TOP (1000) dt, wait_type, waiting_tasks_count, wait_time_ms, max_wait_time_ms, signal_wait_time_ms  
  2. FROM         new_waitestats  
  3. WHERE     (wait_type = 'ABR'

3.這里我們想要修改wait_type=’ABR’的數據,點擊查詢按鈕 ,在下面的表格內就可以看到所有符合條件的數據,這時候就可以修改這些數據了,注意改好之后按回車鍵才會寫到數據庫里面。這樣做是不是很偷懶呢呵呵,不用寫update語句,直接在里面修改。

使用編輯器復制粘貼數據

還有一種情況可以使用編輯器代替上面的insert into select語句, 如果兩個表的字段完全一樣,我們從一個表中查詢得到數據,然后復制到另外一個表中。

1.首先點擊數據行的開頭,選中整行,然后點擊copy如圖2

 

2.然后右擊想要插入數據的第二個表,鼠標拖動滾動條到最后,直到顯示一行全部都是空值的一行,然后右擊paste,按回車鍵,這樣一條數據就插入進去了。如圖3

 

這些都是在平時工作中見到的,覺得很有意思在這里記錄下來。這些雕蟲小技對于數據庫技術大牛來時不值得一提,還望大牛們看到了不要笑我班門弄斧啊。

原文鏈接:http://www.cnblogs.com/tylerdonet/archive/2011/05/13/2045831.html

 

【編輯推薦】

  1. 淺述遠程Service Broker的實現
  2. Service Broker基礎應用(下)
  3. Service Broker基礎應用(上)
  4. SQL點滴之備份還原數據庫中的小把戲
  5. SQL使用中的點滴回憶
責任編輯:艾婧 來源: Tyler‘s DoNet
相關推薦

2011-04-21 10:06:40

SQL篩選

2011-09-13 10:25:05

數據庫點滴

2011-09-09 10:10:13

SQL數據庫點滴

2011-05-11 09:49:32

線程等待SQL Server

2011-08-02 13:04:40

SQL Server

2011-05-06 16:36:48

SQL備份還原

2011-10-09 16:40:50

T-SQL

2011-08-03 13:32:00

SQL Server優化

2011-02-25 17:00:25

SQL閏年

2011-04-21 13:49:29

dementionSQL

2011-04-27 16:09:48

SQL ServerSSIS

2011-04-27 14:27:11

SQL Server

2011-04-27 16:34:06

withSQL Server

2011-04-28 09:49:56

SQLwith子查詢

2011-04-20 11:11:33

SQLSET QUOTED_

2011-04-22 15:00:22

SQLwin7登錄

2011-04-27 13:21:59

SQL Serverattach

2011-04-27 15:55:16

2011-07-28 15:11:23

iOS Objective-

2011-08-01 17:50:28

Xcode
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美大片在线观看 | 欧美日韩国产高清 | 黄色一级免费看 | 超碰在线人人干 | 成人欧美一区二区三区黑人孕妇 | 久久久久久国产精品 | 密桃av | 成人国产精品色哟哟 | 亚洲性在线 | 国产综合精品 | 欧美在线高清 | 午夜天堂精品久久久久 | 91国在线高清视频 | 免费一区 | 亚洲国产精品一区二区三区 | 成人精品视频在线 | 亚洲一区二区欧美 | 久久国产精品72免费观看 | 欧美成人精品一区二区男人看 | 美女视频网站久久 | 成人天堂 | www.xxxx欧美 | 日日干日日射 | 99久久久无码国产精品 | 日韩高清国产一区在线 | 免费精品视频在线观看 | 欧美综合国产精品久久丁香 | 精品久久久久久久久久久 | 久久国产美女视频 | av中文字幕在线播放 | 久久久久久久久久久久久九 | 色偷偷人人澡人人爽人人模 | 久久久www成人免费无遮挡大片 | 久久久精品 | av中文字幕网 | 欧美精品乱码99久久影院 | 欧美日韩在线播放 | 欧美激情视频一区二区三区在线播放 | 久久er99热精品一区二区 | 一区视频在线播放 | 人人澡人人射 |