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 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Production] . [Culture1] (     //表名为 Culture1
        [CultureID] [nchar] ( 6 ) NOT NULL,
        [Name] [dbo] . [Name] NOT NULL,
        [ModifiedDate] [datetime] NOT NULL,
) 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'

即可,结果如下右图所示


  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值