亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL點滴14—編輯數據

系統 1964 0
原文: SQL點滴14—編輯數據

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

select into

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

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

      
select top ( 10 ) *
into new_intervalwaitssample
from IntervalWaitsSample
select * from new_intervalwaitssample

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

?  

insert into select

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

      
insert into new_intervalwaitssample
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連接起來。

      
insert into select value11 , value12 , value13

union select value21 , value22 , value23

union select value31 , value32 , value33

… …

下面是實例:

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

使用表值構造函數

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

      
insert into new_intervalwaitssample
values
(
' ASYNC_NETWORK_IO ' , ' 2011-05-09 16:50:00.973 ' , ' 0.00 ' ),
(
' ASYNC_NETWORK_IO ' , ' 2011-05-09 17:00:00.020 ' , ' 0.00 ' ),
(
' ASYNC_NETWORK_IO ' , ' 2011-05-09 17:15:00.123 ' , ' 0.00 ' ),
(
' ASYNC_NETWORK_IO ' , ' 2011-05-09 17:25:00.190 ' , ' 0.00 ' )

從表中“剪切”數據

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

      
Delete sourcetable
output deleted.value1,deleted.value2,deleted.value3
into targettable
from targettable where … …

下面是實例

      
delete WaitStats
output
deleted.dt,
deleted.wait_type,
deleted.waiting_tasks_count,
deleted.wait_time_ms,
deleted.max_wait_time_ms,
deleted.signal_wait_time_ms
into new_waitestats
where WaitStats.wait_type = ' ABR '

要注意的是這里有一個很少見的關鍵字deleted,它是當前要刪除的表的別名,這個有點像類中的this關鍵字。

可見即可得的編輯

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

  1. 點擊要修改的表右擊選擇Edit top 200 rows
  2. 當打開編輯界面的時候,SQL server上面會多出一個標簽 ,鼠標滑到這個標簽上,再滑到Panel上,再滑到SQL上,點擊SQL,或者在編輯界面右擊也能看到。如圖1
    SQL點滴14—編輯數據
    圖1
    這時候在上面的文字區就可以編寫自己想要修改的數據的查詢語句如下列:
              
    SELECT TOP ( 1000 ) dt, wait_type, waiting_tasks_count, wait_time_ms, max_wait_time_ms, signal_wait_time_ms
    FROM new_waitestats
    WHERE (wait_type = ' ABR ' )
  3. 這里我們想要修改wait_type=’ABR’的數據,點擊查詢按鈕 ,在下面的表格內就可以看到所有符合條件的數據,這時候就可以修改這些數據了,注意改好之后按回車鍵才會寫到數據庫里面。這樣做是不是很偷懶呢呵呵,不用寫update語句,直接在里面修改。

使用編輯器復制粘貼數據

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

  1. 首先點擊數據行的開頭,選中整行,然后點擊copy如圖2
    SQL點滴14—編輯數據
  2. 然后右擊想要插入數據的第二個表,鼠標拖動滾動條到最后,直到顯示一行全部都是空值的一行,然后右擊paste,按回車鍵,這樣一條數據就插入進去了。如圖3
    SQL點滴14—編輯數據

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

SQL點滴14—編輯數據


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九精品视频在线播放8 | 深夜你懂的在线网址入口 | 国内精品免费 | 成人国产精品免费视频不卡 | 香蕉视频成人在线观看 | 91精品成人免费国产片 | 亚洲免费视频一区 | 性做久久久久久免费观看 | 久久精品国产久精国产果冻传媒 | 色之综综 | 亚洲码欧美码一区二区三区 | 男人在线影院 | 精品久久国产老人久久综合 | 欧美另类亚洲一区二区 | 亚洲国产日产韩国欧美综合 | 毛片黄片视频 | 国产精品情侣久久婷婷文字 | 精品久久久久久国产 | 国产精品久久久久秋霞影视 | 免费看色片 | 久青草国产在线 | 四虎影视免费永久在线观看 | 超清波多野结衣精品一区 | 亚洲欧美日韩中文高清一 | 成人午夜亚洲影视在线观看 | 亚洲国产高清精品线久久 | 国内主播大秀福利视频在线看 | 在线亚洲欧美日韩 | 日韩欧美视频在线一区二区 | 国产三级做爰高清视频a | 国产福利91 | 亚洲综合久久久久久888 | 德国女人一级毛片免费 | 色妞在线 | 亚洲国产成人在线 | 最新国产午夜精品视频不卡 | 久久国产精品亚洲va麻豆 | 久久综合精品国产一区二区三区无 | 日韩欧美中文字幕在线视频 | 狠狠操大逼 | 精品久久免费视频 |