MS SQL基础教程:数据库更新-添加数据

一个数据库能否保持信息的正确性、及时性、很大程度上依赖于数据库的更新功能的强弱与实时。数据库的更新包括插入、删除、修改(也称为更新)三种操作。本章将分别讲述如何使用这些操作,以便有效地更新数据库。

在SQL Server 中可以在Enterprise Manager 中查看数据库表的数据时添加数据,但这种方式不能应付数据的大量插入,需要使用INSERT 语句来解决这个问题。

11.1.1 INSERT 语法

数据库的信息时常需要改变用户需要添加数据,INSERT 语句提供了此功能。INSERT语句通常有两种形式。一种是插入一条记录;另一种是插入子查询的结果。后者可以一次插入多条记录。

注意:当插入VARBINARY类型的数据时,其尾部的“0”将被去掉。

当插入VARCHAR或TEXT类型的数据时,其后的空格将被去掉,如果插入一个只含空格的字符串,则会被认为插入了一个长度为零的字符串。

IDENTITY列不能指定数据,在VALUES列表中应跳过此列。

对字符类型的列,当插入数据,特别是插入字符串中含有数字字符以外的字符时,最好用引号将其括起来,否则容易出错。

column_list中列的顺序可以与表结构中的顺序不同,但VALUES中的值必须与COLUMN_list中的列相对应。

11.1.2 插入单行

以下举例说明如何插入单行数据:

例11-1: 插入数据到订购商信息表中。

use pangu

insert firms

(firm_id, f_name, f_intro)

values(10070001, 'SQL', '制作数据库软件的公司')

运行结果如下:

(1 row(s) affected)

例11-2: 插入数据到订购商信息表中。

use pangu

insert firms

/* 当表中所有的列均被指定时可以省略column_list */

values(10070001, 'SQL', '制作数据库软件的公司', 100700010007, '00-12345678', 234325, 'chengdu')

11.1.3 插入子查询结果

子查询不仅可以嵌套在SELECT 语句中,用以构造父查询的条件,也可以嵌套在

INSERT 语句中,用以生成要插入的数据。插入子查询的INSERT 语句语法如下:

INSERT [INTO]

{ table_name WITH ( <table_hint_limited> [...n])

| view_name

| rowset_function_limited }

{ [(column_list)]

subquery }

其功能是以批量插入,一次将子查询的结果全部插入指定表中。

11.1.4 用存储过程插入数据

在INSERT 语句中可以通过执行存储过程来取得要插入的数据。所插入的数据是存储

过程中SELECT 语句所检索的结果集。使用存储过程插入数据的语法如下:

INSERT [INTO]

{ table_name WITH ( <table_hint_limited> [...n])

| view_name

| rowset_function_limited }

{ [(column_list)]

EXECUTE procedure

其中procedure 既可以是一个已经存在的系统存储过程或用户自定义的存储过程,也

可以在INSERT 语句中直接编写存储过程。

查看全套"MS SQL入门基础教程"

时间: 2024-10-29 19:25:02

MS SQL基础教程:数据库更新-添加数据的相关文章

MS SQL基础教程:更新数据

11.3.1 UPDATE 语法 用户可以用UPDATE 语句来更新表中一列或多列数据值,其语法如下: 各参数说明如下: SET SET 子句用于指定更新的方法,即用的值取代相应的列的值.如果省略 WHERE 子句,那么表中的所有数据均会受到影响.在FROM 子句中指定的表或列的别名不能用于SET 子句中. column_name 指定要更新数据的列.IDENTITY 列不能被更新. expression 可以是常量.变量.表达式或返回单个值的子查询. DEFAULT 指定使用已经定义的缺省值作

MS SQL基础教程:备份和恢复系统数据库

系统数据库保存了有关SQL Server 的许多重要数据信息,这些数据的丢失将给系统带来极为严重的后果,所以我们也必须对系统数据库进行备份.这样一旦系统或数据库失败,则可以通过恢复来重建系统数据库.在SQL Server 中重要的系统数据库主要有master. msdb. distribution. model. 虽然tempdb 也是系统数据库但没有必要对其进行备份,因为SQL Server 每次启动都会重新创建该数据库,而当SQL Server 停止运行时,tempdb 数据库中所有数据都会

MS SQL基础教程:备份和恢复概述

原理主要是为防止非法登录者或非授权用户对SQL Server 数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从心.例如合法用户不小心对数据库数据做了不正确的操作或者保存数据库文件的磁盘遭到损坏或者运行SQL Server 的服务器因某种不可预见的事情而导致崩溃.所以我们需要提出另外的方案即数据库的备份和恢复来解决这种问题.本章的主要目的就是介绍备份.恢复的含义,数据库备份的种类以及备份设备等基本的概念,以及如何创建备份和恢复数据库,使读者对其有全面的了解和认识,能够自主制定自己的备

MS SQL基础教程:存储过程概述

在大型数据库系统中,存储过程和触发器具有很重要的作用.无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合.就 本质而言,触发器也是一种存储过程.存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快.SQL Server 2000 不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程. 12.1.1 存储过程的概念 存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库.中用户通过指定存储过程的

MS SQL基础教程:系统存储过程

系统存储过程就是系统创建的存储过程,目的在于能够方便地从系统表中查询信息或完成与更新数据库表相关的管理任务或其它的系统管理任务.系统过程以"sp_"_ 为开头,在Master 数据库中创建并保存在该数据库中,为数据库管理者所有.一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其它用户所使用. 系统存储过程主要包括以下几类:(这里主要给出每类系统过程中经常使用的系统过程) 查看全套"MS SQL基础教程"

MS SQL基础教程:用户和安全性管理--SQL Server的登录认证

对任何企业组织来说,数据的安全性最为重要.安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQL Server 并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作.因此,安全性管理与用户管理是密不可分的.SQL Server 2000 提供了内置的安全性和数据保护,并且这种管理有效而又容易. 本章主要讨论如何创建和管理用户账号,以及如何实现和管理安全性,同时包括很多技巧和注意事项,这些技巧和注意事项将使您的工作更轻松,高效. SQL Server

MS SQL基础教程:SQL Server安全性管理的途径

当在服务器上运行SQL Server 时,我们总是要想方设法去使SQL Server 免遭非法用户的侵入,拒绝其访问数据库,保证数据的安全性.SQL Server 提供了强大的内置的安全性和数据保护,来帮助实现这种理所当然的要求.从前面的介绍中我们可以看出SQL Server 提供了从操作系统,SQL ServerE, 数据库到对象的多级别的安全保护.其中也涉及到角色.数据库用户.权限等多个与安全性有关的概念.在本书前面我们也暗示过存储过程和触发器在保护数据安全性上不可小视的作用.现在我们面临的

MS SQL基础教程:备份向导

我们知道备份和恢复数据库是DBA 的主要工作,但是如果您是一名DBA 新手,我们建议您在没有搞清楚到底如何进行之前,不妨使用备份向导.它能告诉您在备份时应该干些什么使用备份向导的步骤如下: (1) 启动SQL Server Enterprise Manager, 单击要登录的服务器,此时在主菜单上选择Tools, 在弹出菜单上选择Wizards 后弹出Select Wizard 对话框,如图15-7 所示. 图15-7 Select Wizard 对话框 (2) 单击Management 左边的

MS SQL基础教程:创建备份设备

在进行备份以前首先必须创建备份设备.备份设备是用来存储数据库.事务日志或文件和文件组备份的存储介质.备份设备可以是硬盘.磁带或管道.SQL Server 只支持将数据库备份到本地磁带机,而不是网络上的远程磁带机.当使用磁盘时,SQL Server 允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的. 15.2.1 用SQL Server Enterprise Manager 管理备份设备 1 使用SQL Server Enterprise Manager 创建