电子商务数据库指导书_第1页
电子商务数据库指导书_第2页
电子商务数据库指导书_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、安装 SQL ServerSQL Server 环境需求?SQL Server 2000 常见的版本?企业版( Enterprise Edition )?标准版( Standard Edition )?个人版( Personal Edition )?开发者版( Developer Edition ) 安装、运行 SQL Server 2000 的硬件需求(1) 计算机Inter 及其兼容计算机, Pentium 166Mz 或者更高处理器或 DEC Alpha 和其兼容系统。(2) 内存( RAM ) 企业版最少 64MB 内存,其他版本最少需要 32MB 内存,建议使用更多的内存。(3)

2、 硬盘空间完全安装( Full )需要 180MB 的空间,典型安装( Typical )需要 170MB 的空间,最小安装( Minimum ) 需要 65MB 的空间 安装、运行 SQL Server 2000 的软件需求?SQL Server 2000 企业版必须运行于安装 Windows NT Server Enterprise Edition 4.0 或者 Windows2000 Advanced Server 以及更高版本的操作系统下。?SQL Server 2000 标准版必须运行于安装 Windows NT Server Enterprise Edition 4.0 、 Win

3、dows NT Server 4.0、 Windows 2000 Server 以及更高版本的操作系统下。?SQL Server 2000 个人版可在多种操作系统下运行,如可运行于 Windows 9x , Windows NT 4.0 或 Windows 2000 的服务器版或工作站版的操作系统下。?SQL Server 2000 开发者版可运行于上述 Windows 9x 以外的所有操作系统下。SQL Server 2000 的安装SQL Server 2000 的安装过程与其它 Microsoft Windows 系列产品类似。 用户可根据向导提示,选择需 要的选项一步一步地完成。SQL

4、 Server 工具:企业管理器 :?企业管理器是基于一种新的被称为微软管理控制台(Microsoft Management Console )的公共服务器管理环境, 它是 SQL Server 中最重要的一个管理工具。 企业管理器不仅能够配置系统环境和管理SQL Server,而且由于它能够以层叠列表的形式来显示所有的SQL Server对象,因而所有 SQL Server对象的建立与管理都可以通过它来完成。利用企业管理器可以完成的操作有 :管理 SQL Server 服务器;建立与管理数据库;建立与管理表、视图、存储过程、触发程序、角色、规则、 默认值等数据库对象,以及用户定义的数据类型;

5、备份数据库和事务日志、恢复数据库;复制数据库; 设置任务调度;设置警报;提供跨服务器的拖放控制操作;管理用户帐户;建立Transact-SQL 命令语句以及管理和控制 SQL Mail图:SQL Server 企业管理器(Enterprise Manager)界面服务管理器(Service Manager)SQL Server服务管理器是在服务器端实际工作时最有用的实用程序,其界面如图1-21所示。服务管理器用来启动、暂停、继续和停止数据库服务器的实时服务,其提供的服务包括:SQL Server、SQL Server Age nt、MSDTC ( Microsoft Distributed T

6、ransaction Coordinator,微软分布式事务协调器)图:SQL Server 服务管理器(Service Manager)界面查询分析器(Query Analyzer)SQL Server 2000新的图形化查询分析器用于输入和执行Transaction-SQL语句,并且迅速查看这些语句的结果,以分析和处理数据库中的数据。这是一个非常实用的工具,对掌握SQL语言,深入理解SQL Server的管理工作有很大帮助导入和导出数据(Imput and Export Data )导入和导出数据采用DTC导入/导出向导来完成。此向导包含了所有的 DTC (Data Transformat

7、ionServices)工具,提供了在 OLE DB数据源之间复制数据的最简捷的方法 创建表和视图主要 SQL语句:1. CREATE DATABASEatabase_ name WITH LOG INpath name创建数据库。database_ name数据库名称。“ path name":事务处理日志文件。女口: select dirpath form systables where tabtype ="L";例: create databse customerdb with log in“/usr/john/log/customerog";2.

8、 DATABASE databse-name EXCLUSIVEdatabase_name数据库名称。EXCLUSIVE独占状态。存取当前目录和 DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。例: dtabase customerdb;3. CLOSE DATABASES闭当前数据库。database_name数据库名称。此语句之后,只有下列语句合法:CREATE DATABASE DATABASE DROP DATABS; ROLLFORWARD DATABASE删除数据库前必须使用此语句。例: close database;* DROP DATABASEatabase

9、_name删除指定数据库。database_name数据库名称。用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关 闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WOR也不可将数据库恢复。例: drop databse customerdb;* CREATE TEMP TABLE table-name (column_namedatatype NOT NULL, )IN “ path name”创建表或临时表。 table-name :表名称。column_name字段名称。data-type :字段数据类型。path-name

10、:指定表的存放位置TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT限的用户可建立临时表;创建的表缺省允许CONNEC用户存取,但不可以 ALTER例: create table user(c0 serial not null, c1 char (10),c2 char(2),c3 smalli nt,c4 decimal(6,3),c5 date)in “ usr/joh n/customer.dbs/user;« ALTER TABLEALTER TABLEtable-n ameADD ( newcol_name newcol_type BEFORE oldco

11、l_name,)| DROP ( oldcol_name,)| MODIFY ( oldcol_name newcol_type NOT NULL,),修改表结构。table-name :表名称。newcol_name新字段名称newcol_type :新字段类型oldcol_name :老字段名称可以使用单个或多个 ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL, 不允许MODIFY为NOT NULL除非所有 NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。例: alter ta

12、ble useradd ( c6 char(20) before c5);« RENAME TABLIDldname TO newname修改表名。old name :原名称。newname新名称。RENAM使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。例: rename user to bbb;* DROP TABLEtable-name删除表。table-name :表名称。删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。* RENA

13、ME COLUMNble.oldcolumn , TO newcolumn修改字段名。table.oldcolum n :表名及原字段名称newcolumn新字段名称。语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。例: rename column user.c6 to c7;* CREATE VIEWView-name column-listCREATE VIEWView- name colum n-listAS select_stateme nt WITH CHECK OPTION创建视图。view -n ame :视图名称。colum n-

14、list :字段列表。select_statement : SELECT语句。以下语句不使用视图:ALTER TABLE DROP INDEX ALTER INDEX LOCK TABLE CREATE INDEX RENAMETABLE视图将延用基表的字段名,对表达式等虚字段和多表间字段重名必须指明标识其字段名;若对视 图中某些字段命名,则所有字段都必须命名;视图中数据类型延用基表中的数据类型,虚字段起诀于表 达式;不能使用 ORDER B湘UNION子句;对视图中所有的字段要有SELECT权限;事务中处理过程中使用此语句,即使事务回滚,视图也将建立,不能恢复。例: create view

15、v_user as select * from user where c1 =“ B1”;« DROP VIEWView-name删除视图。view-name:视图名称。用户可删除自己建立的视图;视图的后代视图也被删除;事务中处理中不要使用此语句。例: drop view v_user表数据操作包括数据的插入、修改和删除一、插入数据在向表中添加数据时应该注意两点:第一是用户权限,只有sysadmin角包成员、数据库和数据库对象所有者及其授权用户才有权限向表中添加数据;第二是数据格式,对于不同的数据类型,插入数据的 格式也不一样,应严格遵守它们各自的格式要求。Transact-SQL语

16、言中用INSERT语句向表或视图中插入新的数据行。INSERT语句的语法格式为:INSERT INTO table_sourcecolu mnistVALUES (DEFAULT | constant_expression,n)|DEFAULT VALUES|select_stateme nt|execute_stateme nt其中,column_list参数为新插入数据行中一列或多列列名列表,它说明INSERT语句只为指定列插入数据。在给表或视中部分列插入数据时,必须使用列名列表方式指出这部分列名。其余未指定列的列 值要根据它们的默认值和空值属性情况而定,它们有以下几种可能取值:(1) 对

17、于timestamp列或具有IDENTITY 属性列,它们的列值由SQL Server计算后自动赋值。(2) 如果这些列有默认值或关联有默认数据库对象,插入新列时,它们的值为默认值。当这些列没有默认值设置时,但它们允许空值时,该列值为空。(4) 当这些列既没有默认值设置,也不允许空值时, SQL Server在执行INSERT语句时将产生错误, 导致插入操作失败。当未指定column_list参数时,为各列所提供的数据顺序应严格按照表中各列的定义顺序,而使用 column_list参数则可以调整向表中所插入数据的列顺序,只要VALUES子句所提供的数据顺序与 column_list参数中指定的

18、列顺序相同即可。VALUES子句为新插入行中 column_list参数所指定列提供数据,这些数据可以以常量表达式形式提 供,或使用DEFAULT关键字说明向列中插入其默认值。DEFAULT VALUES说明向表中所有列插入其默认值。对于具有INDENTITY 属性或timestamp数据类型列,系统将自动插入下一个适当值。对于没有设置默认值的列,如果它们允许空值,SQL Server将插入null,否则返回一错误消息。select_statement是标准的数据库查询语句,它是SQL Server为INSERT语句所提供的又一种数据插 入方式。 INSERT 语句将 select_state

19、ment 子句所返回的结果集合数据插入到指定表中。查询语句结果集 合每行中的数据数量、 数据类型和排列顺序也必须与表中所定义列或 column_list 参数中指定列的数 量、数据类型和排列顺序完全相同。SQL Server 为 INSERT 语句提供的第四种数据插入方式是通过执行系统存储过程,其数据来自于过程 执行后所产生的结果集合。所执行的过程可以为存储过程、系统存储过程或扩展存储过程,它们既可以 为本地存储过程,又可以是远程服务器上的存储过程,只要用户具有它们的执行权限即可。有关存储过 程请参阅对应的内容。table_source 说明 INSERT 语句插入数据时所操作的表或视图,其语

20、法格式可简单书写为:table_name AS table_alias| view_name AS table_aliastable_name 和 view_name 说明被插入数据的表或视图名称, table_alias 参数为表或视图设置别名。 使用别名有两方面原因:第一、当表或视图名称较长时,使用别名可以简化书写工作;第二,在自连接 或子查询中,使用别名可以区别同一个表或视图。在向表中插入数据时, 如果所插入的数据与约束或规则的要求冲突, 或是它们的数据类型不兼容 时,将导致 INSERT 语句执行失败。当使用 SELECT 或 EXECUTE 子句向表中一次插入多行数据时,如 果其中有

21、任一行数据有误,它将导致整个插入操作失败,使 SQL Server 停止所有数据行的插入操作。例一、使用数值列表方式 (假定usertable表中只定义了 name、age和sex字段,且name、sex均为 char 类型, age 为 int 类型 )。INSERT usertableVALUES (' 张三 ','女',18)例二、使用列名列表方式INSERT usertable (age,name)VALUES (18,' 张三 ') 例三、在数值列表中,还可以将变量的值插入到表中。在使用变量为列提供数据时,应保证变量的 数据类型与列数据

22、类型相同,或是可以自动将它们转换为相同的数据类型。例如:DECLARE name char(16)SET n ame='张三'INSERT usertableVALUES (name,DEFAULT,20)本例中 Asp 中是这样的:dim namename="张三”sqlstr="INSERT usertable VALUES ('"&name&"',' 女',20)"例四、将 SELECT 子句的所返回的结果集合插入到表中。例如:INSERT usertable (name,s

23、ex,age)SELECT 's'+name,sex,ageFROM usertableWHERE name like ' 张%'二、修改数据Transact-SQL 中的 UPDATE 语句用于修改表中数据,该语句的语法格式为:UPDATE ()SET ( column_name=expression | DEFAULT | variable = expression,nFROM| (select_statement) AS table_alias , m) , nWHERE| CURRENT OF (GLOBAL cursor_name | cursor_v

24、ariable_name 别看写了一大堆,最常用的只是下列格式:UPDATE table_nameSET column_name1=variable1,column_name2=variable2WHERE search_conditions其中 table_or_view 参数指出待修改的表或视图名称,其格式与 INSERT 语句中该参数的格式相同。SET 子句指出表中被修改的列或变量,以及它们的新值。 column_name 为被修改的列名, variable 为一个已经声明的局部变量名称, 它们修改后的值由 expression 表达式提供, 或使用 DEFAULT 关键字将 默认值赋给

25、指定列。FROM 子句引出另一个表,它为 UPDATE 语句的数据修改操作提供条件。WHERE 子句中的 search_conditions 参数说明 UPDATE 语句的修改条件,它指出表或视图中的哪些行 需要修改。省略 WHERE 子句时,说明对指定的表或视图中的所有行进行修改!WHERE 子句中的 CURRENT OF 说明在游标的当前位置处执行修改操作,游标由 curror_name 或游标变 量 cursor_variable_name 指定。UPDATE 不能修改具有 IDENTITY 属性列的列值。例一、将 usertable 表中所有人员的性别改为 '男 'UP

26、DATE usertableSET sex='男'例二、将性别为 null 的所有人员的性别改成 '男' UPDATE usertableSET sex='男'WHERE sex IS NULL例三、将所有姓名为 null 的人员的姓名改为 '张三 '、性别改为 '女 ',年龄改为 18 UPDATE usertableSET name='张三',sex='女',age=18WHERE name IS NULL三、删除数据Transact-SQL中,DELETE和TRUNCATE T

27、ABLE 语句均可以删除表中的数据。DELETE 语句的语法格式为:DELETEtable_name | view_nameFROM| (select_statement) AS table_alias (column_alias , m) , nWHERE| CURRENT OF global cursor_name|cursor_variable_nameDELETE 语句的结构与 UPDATE 语句有些类似,其中也包含 FROM 子句和 WHERE 子句。 WHERE 子句 为数据删除指定条件。不使用 WHERE 子句时, DELETE 语句将把有或视图中所有的数据删除。 FROM 子句

28、是 Transact-SQL 在 ANSI 基础上对 DELETE 语句的扩展,它指定要连接的表名,提供与相关子查询相似的功能。 TRUNCATE TABLE 语句语法格式为:TRUNCATE TABLE table_nameTRUNCATE TABLE 语句删除指定表中的所有数据行,但表结构及其所有索引继续保留,为该表所定义 约束、规则、默认和触发器仍然有效。如果所删除表中包含有 IDENTITY 列,则该列将被复位到其原始 基值。使用不带 WHERE 子句的 DELETE 语句也可以删除表中所有行,但它不复位 IDENTITY 列。 与 DELETE 语句相比, TRUNCATE TABL

29、E 语句的删除速度更快。因为 DELETE 语句在每删除一行时都 要把 删除操作记录到日志中,而 TRUNCATE TABLE 语句则是通过释放表数据页面的方法来删除表中数据, 它只在释放页面做一次事务日志记录。 所以使用 TRUNCATE TABLE 语句删除数据后, 这些行是不可恢复的, 而DELETE 操作则可回滚,能够恢复原来数据。因为 TRUNCATE TABLE 语句不做操作日志,它不能激活触发器,所以 TRUNCATE TABLE 语句不能删 除一个被其它表通过 FOREIGN KEY 约束所参照的表。例一、使用DELETE语句删除usertable表中name为张三'的

30、数据行DELETE usertableWHERE name=' 张三 '例二、下面使用 FROM 子句和 WHERE 子句指定条件,然后从 TB_update 表中删除数据DELETE TB_updateFROM TB_constraint AS a,TB_update AS bWHERE =AND a.country='China'DELETE TB_updateFROM (SELECT * FROM TB_constraintWHERE country='USA') AS aWHERE =TB_触发器定义:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论