关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL语言 »SQL点滴之如何编辑数据

    SQL点滴之如何编辑数据

    2011-06-23 14:00:00 出处:ITJS
    分享

    数据库中的数据编辑是我们遇到的最频繁的工作,这一个随笔中我来总结一下最常用的数据编辑。

    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' 

    可见即可得的编辑

    假如我们是应用程序开发,我相信大多数人还是更愿意使用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

    这时候在上面的文字区就可以编写自己想要修改的数据的查询语句如下列:

    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

     

    2.然后右击想要插入数据的第二个表,鼠标拖动滚动条到最后,直到显示一行全部都是空值的一行,然后右击paste,按回车键,这样一条数据就插入进去了。如图3

     

    这些都是在平时工作中见到的,觉得很有意思在这里记录下来。这些雕虫小技对于数据库技术大牛来时不值得一提,还望大牛们看到了不要笑我班门弄斧啊。

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

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    小米路由器买哪款?Miwifi热门路由器型号对比分析

    IT头条

    Synology 对 Office 套件进行重大 AI 更新,增强私有云的生产力和安全性

    01:43

    StorONE 的高效平台将 Storage Guardian 数据中心占用空间减少 80%

    11:03

    年赚千亿的印度能源巨头Nayara 云服务瘫痪,被微软卡了一下脖子

    12:54

    国产6nm GPU新突破!砺算科技官宣:自研TrueGPU架构7月26日发布

    01:57

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    技术热点

    最全面的前端开发指南

    Windows7任务栏桌面下角的一些正在运行的图标不见了

    sql server快速删除记录方法

    SQL Server 7移动数据的6种方法

    SQL Server 2008的新压缩特性

    每个Java程序员必须知道的5个JVM命令行标志

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。