动态网页与数据库
Download
1 / 81

动态网页与数据库 - PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on

动态网页与数据库. 制作者 : 杨建国. 二零零五年一月. 联 系 方 式 QQ: 317154001 网址: http://www.jsjzx.net 电子邮件: [email protected] 动态网页与数据库. 第一节 数据库基础. 第二节 数据库进阶. 第三节 静态网页与动态网页. 第四节 ASP 简介. 第一节 数据库基础.  数据库分类 小型: access 、 foxpro 、 foxbase 、 dbase 、 vfp 、 approach (适合个人、工作组) 中型: sql 、 mysql

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 动态网页与数据库' - nariko


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

动态网页与数据库

制作者:杨建国

二零零五年一月


联 系 方 式

QQ: 317154001

网址:http://www.jsjzx.net

电子邮件:[email protected]


动态网页与数据库

第一节 数据库基础

第二节 数据库进阶

第三节 静态网页与动态网页

第四节 ASP简介


第一节 数据库基础

  •  数据库分类

  • 小型:access、foxpro、foxbase、dbase 、vfp 、

    approach(适合个人、工作组)

  • 中型:sql 、mysql

  • 大型:informix 、oracle 、sybase 、jasmine(茉莉花,

    CA公司,为INTERNET开发,适合网络数据

        库、多媒体数据库)


  • .SQL介绍

    1.SQL:它是微软公司所发行的一套在WINDOWS上运

        行的RDBMS(关系型数据库管理系统),它

        主要提供数据存放、管理与分析的服务。通过

        它所提供的GUI图形化用户接口管理工具,让

        用户的操作更为简单方便。

    2.特点:

  • 容易掌握:所有的数据都存储在表中

  • 掌握起来有点困难:按查询条件来读取记录

    3.版本:企业版、标准版、个人版、开发版


SQL Server版本

应 用

企业版

可作为正式环境(Production)数据库服务器,它支持SQL Server 2000 的所有功能,且提高执行效率,以支持最大的网站与企业线上交易处理(OLTP)以及数据仓储系统

标准版

可作为小型工作群组或部门的数据库服务器

个人版

由行动用户所使用,他们会有一些时间与网络离线,但执行需要SQL Server数据存储的应用程序;同时也用于执行需要在客户端计算机本地SQL Server 数据存储的独立应用程序

开发版

由开发以SQL Server 2000 作为数据存储的应用程序的程序设计者所使用。虽然开发版可支持企业版的所有功能,以便让开发者编写与测试可使用这些功能的应用程序,但是开发版只能许可作为开发与测试系统之用,而非营运服务器


硬件项目

规格说明

CPU

处理速度在Pentium 166MHz以上的Intel或与之兼容的CPU

RAM

至少64MB的内存空间;若是要安装企业版建议128MB

磁盘空间

安装SQL Server 2000所占用的磁盘空间,会随着选择的安装组件而有所不同,范围约于95MB至270MB之间,若采用典型安装,需占用250MB的磁盘空间

另外,安装Analysis Service与English Query需要额外的磁盘空间,安装Analysis Service至少需要50MB的空间,安装English Query需要80MB的磁盘空间

4.硬件需求 :


SQL版本

操 作 系 统

企业版

Windows NT 4.0 Server,Windows 2000 Server,Advanced Server,Data Center Server

标准版

Windows NT 4.0 Server,Windows 2000 Server,Advanced Server,Data Center Server

个人版

Windows Me/98,Windows NT 4.0 Server,Windows 2000 Professional,Server,Advanced Server,Data Center Server

开发版

Windows NT 4.0,Windows 2000

客户端工具

Windows Me/98,Windows NT 4.0,Windows 2000

连接工具

Windows Me/98/95,Windows NT 4.0,Windows 2000

5.软件需求 :


6.安装过程 :

(1)首先放入SQL Server 2000光盘,这时光盘

上的自动执行程序会自动激活安装向导,画面如下图

所示。如果您的光盘不会自动激活安装向导,可以执

行光盘上的SETUP.EXE来激活安装向导


1 激活安装向导画面


2)在画面上有三个安装选项,让我们选择要安装的

软件。因为现在是要在系统上架设SQL Server数据库服

务器,因此在此单击“安装数据库服务器”项目

(3)这时画面上会显示一欢迎窗口,单击“下一步”按

钮,切换至下一个设置画面


2“欢迎”窗口画面


4)在“安装选择”画面中,有三个选项可供选择。第一

个是用来建立一个新的安装,第二个选项是用来改变现有

安装的组件,第三个选项则可以用来做高级设置。由于我

们是要建立一个新的数据库服务器,因此在这选择“创建新

的SQL Server实例,或安装客户端工具”单选按钮,然后单

击“下一步”按钮


3“安装选择”对话框


5)在打开的“用户信息”对话框中,输入要注册的用

户姓名以及公司名称,默认它会自动撷取操作系统所注

册的用户信息。输入完成后,单击“下一步”按钮,切换

至下一个设置画面


4“用户信息”对话框


6)接着会打开“软件许可证协议”对话框,如图4-5所

示,在这个对话框中说明了用户使用该SQL Server

2000软件的权限。建议不妨花点时间阅读该合约的内容,

了解有哪些条款是适用于您身上的,以免不慎触犯协议

而造成损失。单击“是”按钮,表示接受协议的内容,才

可以继续进行安装


5“软件许可证协议”对话框


7)在“安装定义”窗口中选择要安装的软件项目,这

里请选择第二个选项“服务器和客户端工具”,表示要架

设数据库服务器系统,及安装用以管理数据库服务器系

统的客户端工具,然后单击“下一步”按钮,切换至下个

设置窗口


6“安装定义”对话框


8)“实例名”窗口是用来指定数据库服务器系统的名

称,您可以直接选取“默认”复选框,使用默认的名称

(计算机名称);也可以取消选择“默认值”复选框,在

下方的“实例名”文本框中自行指定名称。在这里,选择

使用默认值,以计算机名称作为数据库系统名称,然后

单击“下一步”按钮


7“实例名”对话框


特别说明:在较早的SQL Server版本中,数据库系统

     是以计算机名称来识别的,然而由于SQL

Server 2000支持在同一台计算机上有一个

     或多个实例名(Named Instance)存在,因

     此只有默认的实例是单独以计算机名称来识

     别的,其他的实例则会以计算机名称加上实

     例名来识别。这个实例名同时也用在反映对

     应的SQL Server服务名称之中


9)接下来,在“安装类型”窗口中,选择要应用的安

装类型,及指定程序文件与数据文件的安装位置。安装

类型分为“典型安装”、“最小安装”以及“自定义安装”等

三种,用户可以根据状况选择一种安装类型。如果用户

对它的组件不熟悉,且只需一般用途使用,可以选择

“典型安装”,安装适合一般用户使用的组件。如果用户

可用的硬盘空间有限,可以选择“最小安装”选项,仅安

装建立数据库系统所需要的最少组件。另外,如果用户

对组件的安装有相当的把握,可以选择“自定义安装”选

项,自行指定要安装哪些组件,以及不要安装哪些组件


8“安装类型”对话框


10)选择“自定义”单选按钮,单击“下一步”按钮会看

到如图9所示的“选择组件”窗口,在这个窗口中用户

可以选出要安装到系统上的组件,清除不安装的组件


9“选择组件”窗口画面


服务帐户”窗口是用来指派负责操作管理相关SQL

服务激活/停止的用户帐户,其设置画面如图10所示,

我们可以分别为每个Microsoft SQL Server服务——

SQL Server与SQL Server 代理程序指定服务帐户,也

可设置所有的服务都使用同一个服务帐户


10“服务帐户”对话框


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护

  在这里,选择“对每个服务使用同一帐户,自动启

动SQL Server服务”单选按钮,并在服务设置上选择“使

用域用户帐户”单选按钮,然后在下面的文本框中指定

域用户的名称及密码


特别说明 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护:若要建立或维护Microsoft SQL Server

2000容错移转丛集,必须具有管理员权限

     才能登录计算机,即必须是计算机或网域

     的系统管理员(Administrators)本机群组

     的成员。对于丛集而言,这表示您必须是

     丛集中所有节点的管理员


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护11)接下来会打开一个“身份验证模式”对话框,这个

对话框用来设置SQL服务器的验证用户身份的方式。有

两个选项可供选择,一是“Windows身份验证模式”以及

“混合模式”,如果要直接以Windows的帐号设置数据库

的存取权限,选择“Windows身份验证模式”;如果要允

许使用SQL Server的帐户信息,选择“混合模式”。

  在这里选择“混合模式”单选按钮,表示该SQL Server允许用户以Windows帐户或SQL Server帐户验证身份,取得数据库的存取权限。这时它会在SQL Server上建立一个数据库系统管理员帐户sa,并要求指定sa帐户的密码,这个sa帐户具有管理数据库系统的最高权限


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护11“身份验证模式”对话框


特别说明 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护如果使用的操作系统不提供用户帐户信息,

    例如,在windows 98安装SQL Server 2000个

    人版,必须选择“混合模式”验证模式,通过

SQLServer的帐户信息来设置用户的存取权限

(12)截至目前为止,所有的安装设置动作大致上已

经完成,这时在“开始复制文件”窗口中单击“下一步”按

钮,开始将所有必要的文件与组件安装到系统上


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护12“开始复制文件”对话框


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护13)当文件复制完成后,会打开如下的“选择许可模

式”窗口,在这个窗口中有两种客户端许可模式可供选

择:“每客户”与“处理许可证”。我们可以根据网络环境

结构以及客户端的分布,选择最适合的许可模式。在这

里选择“每客户”单选按钮,根据客户端的装置来指定客

户端版权,如图13所示


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护13“选择许可模式”对话框


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护14)单击“继续”按钮,打开“安装完成”窗口,完成

SQL Server 2000的安装。不过,它必须重新启动计算

机后才能作用。这时,请选择“是的,我想现在重新启

动计算机”单选按钮,然后单击“完成”按钮,重新启动

计算机


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护14“安装完毕”对话框


7. 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护组成:

  • DDL (Data Define Language) :是处理与数据库内数

    据有关的语句。它的指令范围包含自定义数据类型、

    新增表、修改表、建立表索引、设置Primary Key等 

    动作。常用的DDL语言包含有Create Table语句、 

    Drop Table语句及Alter Table语句


  • DML(Data Manipulation Language ) 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护:主要是处理数据库中与记录内容有关的动作;同时,根据执行的指令动作是否会更改表存储的记录内容:

  • 一种是会使表内的记录产生异动的,如记录的添加、修改及删除等动作,这种会更改表记录内容的SQL语法又称为Active Query Language,执行Active Query Language时只能作用于单一表上,且不会返回信息。常用的Active Query Language包含有Insert语句、Delete语句以及Update语句

  • 另一种则是不会更改表记录内容的指令,如查询动作,常用的指令有Select语句。不同于Active Query Language只能作用于单一表,执行这种查询指令可以同时作用于多个表中,而且执行完毕后,会返回符合查询条件的结果记录集合(Recordset)


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.使用SQL从表中取记录

  • 数据库查询:

  • SELECT email

    FROM [user1]

    WHERE (UserName = 'guest')


  • SELECT Email 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护

    FROM [user1]

    WHERE (UserName = 'likedou') OR

    (UserName = 'guest')

  • SELECT UserName, Password

    FROM [user1]

    WHERE (UserName = 'guest') OR

    (UserName = 'likedou')

  • select * from user1

  • select email from user1


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.操作多个表

  • select user2.name,user3.english,user3.maths from

    user2,user3

  • select user2.name,user3.english,user3.maths from

    user2,user3 where user2.id=user3.id

  • 通常,当你预先知道两个表的字段间存在“多对多”关

    系时,就使用第三个表来关联这两个表。反之,如果两

    个表的字段间只有“一对一”或“一对多”关系,你可以使

    用公共字段来关联它们


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.操作字段

  • select maths "mathematics" from user3

  • select history*0.6 "new history" from user3

  • select english "original english",english*0.6 "new

    english" from user3

  • select english,maths,history,english+maths+history

    "total score" from user3

  • select name+grade "new grade" from user3

  • select rtrim(name)+grade "new grade" from user3


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.排序查询结果

  • select email from user1

  • select email from user1 order by email

  • select email,username from user1 order by

    email,username

  • select email from user1 order by username

  • select email from user1 order by email desc

  • select email from user1 where sex=1 order by email

    desc

  • 不是特别需要,不要对查询结果进行排序


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.取出互不相同的记录

  • select distinct sex from user1

  • select distinct logins from user1

  • 不能以 DISTINCT 方式选择 text、ntext 或 image 数

    据类型

  • 不是必须的时候不要使用关键字DISTINCT

    七.创建新表、更改表、删除表

  • create table book(visitor varchar(40),comments

    text,entrydate datetime)

  • alter table book add address char(6)

  • drop table book


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.字段类型

1.字符型数据:

  • Varchar:可变长度的字符串,最长为255个

  • Char:固定长度的字符数据,如果不够后面会被附

    加多余的空格

  • 前者方便,占用更少的内存和硬盘空间

    2.文本型数据:

  • Text:可以超过20亿个字符的字符串

  • 它既大且慢,滥用它会使服务器速度变慢(即使你在

    字段中输入了空值,它也会被自动分配2K的空间)


3. 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护数据值数据:

  • TINYINT:0~255(1)

  • SMALLINT:-32768~32767(2)

  • INT:-2147483647~2147483647(4)

  • NUMERIC:-10^38~10^38 用它时,需要同时指定整

    数部分的大小和小数部分的大小,整数部分最大28位,

    小数部分必须小于或等于整数部分的位数,小数部分

    可以是零,如NUMERIC(28,0)


4. 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护货币型:INT、NUMERIC、

  • MONEY:-922337203685477.5808~922337203685477.5807

  • SMALLMONEY:-214748.3648~214748.3647

    5.存储逻辑值:bit

  • 它只能取两个值:0、1 (NO、YES)

  • 如果想在表中包含BIT型字段,必须在创建表时完成

    6.存储日期和时间:

  • DATATIME:1753.1.1~9999.12.31(精确到毫秒)

  • SMALLDATETIME:1900.1.1~2079.6.6(精确到秒)


数据类型 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护

使用字节

数据范围

tinyint

1 Bytes

0 ~255

smallint

2 Bytes

-32,768 ~32,767

int

4 Bytes

-231~(231-1)

bigint

8 Bytes

-263~(263-1)

小数

数值

decimal (numeric)

最大至38 Bytes

(-1038 +1)~(1038-1)

浮点

数值

float

单精度:4Bytes

双精度:8Bytes

-1.79E + 308 ~1.79E + 308

real

4 Bytes

-3.40E + 38 ~3.40E + 38

数据类型的特性及取值范围


数据类型 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护

使用字节

数据范围

Money

8 Bytes

263~(263– 1)

smallmoney

4 Bytes

-214.748,3648~+214,748.364

两种货币数据类型的说明


数据类型 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护

使用字节

数据范围

精度

Datetime

8 Bytes

1753.1.1---

9999.12.31

毫秒

smalldatetime

4 Bytes

1900.1.1---

2079.6.6

两种日期时间数据类型说明


7.Unicode 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护数据:

  为了使数据能够在不同数据库(字符集)间顺利地转移,可以使用Unicode标准字符形式来定义字符串数据,Unicode字符串类型包含nchar,nvarchar与ntext三种数据类型,分别对应前面的char,varchar与text数据类型

8.Binary数据:

  它是以十六进制的方式来表示数据,它可以接受1~9的数字,与A~F间的字母。通常我们可以利用它来表示图片或影像数据,或者是存放特殊格式化的文件数据,如Word,Excel,PDF文件等

SQL Server提供binary,varbinary以及image等三种存放Binary数据的数据类型


数据类型 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护

长度变动

数据最大长度限制

binary

固定长度

8,000个字节

barbinary

可变长度

8,000个字节

image

可变长度

231– 1 (2,147,483,647)个字节


10. 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护timestamp数据类型:

它是一个binary的递增数据类型,它会在数据行加入或更改时自动产生,产生的值在数据库中是唯一的,不会有重复,通常我们可以使用它来作为列的版本戳记。由于这个时间戳记会随着数据行的变动而更改,因此最好不要将它设置为表的索引键,而且在一个表中也应该只会有一个timestamp数据类型的列

timestamp列的内容是根据@@DBTS函数所取得的目前数据库时间戳记数值而更新的,与数据行插入或更改的日期与时间没有直接的关系。如果用户想要自动记录表中数据修改的时间,应该要使用datetime或smalldatetime数据类型,并利用事件触发程序来写入日期时间数据


11. 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护uniqueidentifier数据类型:

它是一个包含16字节的十六进制数字,用来表示全域唯一标识项(GUID)。这个GUID在不同的机器上、时间上都不同,因此对于一个跨国际、具有多台数据库服务器的企业,使用GUID作为辨识码来唯一标示数据行,可以确保所有这些数据库数据的汇整不会发生数据重复的问题

在将列定义为uniqueidentifier数据类型时,必须将列的默认值设置为NEWID函数,这样当数据列插入到表时,就会调用NEWID函数自动产生GUID值


12. 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护sql_variant数据类型:

它可保存text,ntext,timestamp与sql_variant以外的所有SQL Server支持的数据类型。当用户无法确定表的某个列内将会存放哪种类型的数据类型时,可以将它定义为sql_variant数据类型,允许它接受任何数据类型的数据,以避免在填入数据时产生数据类型不符的错误


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.字段属性

1.允许和 禁止空值:

  • NULL:它与零不同,因为它没有任何值

  • BIT型数据不能是空值

  • NOT NULL:禁止一个字段使用空值

  • Empyt1 int null

  • Empyt2 int not null

    2.缺省值:

  • Country varchar(30) default ‘USA’

  • Entrydate datetime default getdate( )


3. 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护标识字段:

  • 每个表可以有一个也只能有一个标识符

  • 一个标识字段是唯一标识表中每条记录的特殊字段

  • 只能把NUMERIC、INT字段设为标识字段

  • theID nuberic(18) identity

  • 建立一个标识字段时,注意使用足够大的数据类型

  • 不要利用标识字段对记录进行基于在表中位置的运算


 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护.向表中添加数据

  • 使用SQL语句添加许多条记录,不方便(最好用手动)

    十一.删除和修改表

    1.应该在建立表之前仔细设计它们,因为你在改变一个

    已经存在的表时会受到很大的限制

    2.删除表:drop table mytable

    3.使用drop table时,一定要小心,因为一旦一个表被

    删除后,你将无法恢复它


第二节 数据库进阶 另外,在服务帐户的指定方面可以使用本机系统帐户,或者网域用户帐户。选择使用本机系统帐户会在系统上建立一个特殊的本机系统帐户,凡是可以登录到该系统的用户都可以通过这个本机系统帐户来操作管理服务的激活与停止。如果希望能限制服务的操作,可以选择“使用域用户帐户”单选按钮,指定一个服务管理员,只有以该指定域用户名称登录系统,才可以进行服务的操作与维护

  • 一.建立索引

  • 表的索引与附在一本书后面的索引非常相似

  • 当内存容量或硬盘空间不足时,不要给表增加索引

  • 查看一个表的索引占空间大小:用系统存储过程

    sp_spaceused,对象名指定为被索引的表名,如:

    sp_spaceused user1

  • 1.聚簇索引和非聚簇索引:

  • 聚簇索引:记录的顺序与物理顺序相同(象目录表)

  • 非聚簇索引:象书的标准索引表


  • 每个表只能有一个聚簇索引,通常按照标识字段建立每个表只能有一个聚簇索引,通常按照标识字段建立

    聚簇索引,也可以对其它类型的字段建立聚簇索引,

    如字符型、数值型、日期时间型。它取出数据快

  • 每个表可以有多个非聚簇索引,最多249个。它需要大

    量的硬盘空间和内存。它可以提高从表中取数据的速

    度,它也会降低向表中播入和更新数据的速度

    2.索引属性:

  • 可以用两者中任一种类型同时对多个字段建立索引(复

    合索引)

  • 两种类型的索引都可以指定为唯一索引


3.每个表只能有一个聚簇索引,通常按照标识字段建立用SQL建立索引:

  • Create index ID_index on user2(ID)

  • 你可以给索引起任何名字,但你应该在索引名中包含

    所索引的字段名,这对你将来弄清楚建立该索引的 意

    图是有帮助的

  • 如果你要改变一个索引的类型,必须删除原来的索引

    并重建一个:drop index user2.ID_index

  • 建立一个聚簇索引:create clustered index

    user2_clust_index on user2(ID)

  • 有重复记录的表建立索引:


create clustered index mycolumn_clust_index on 每个表只能有一个聚簇索引,通常按照标识字段建立

mytable(mycolumn) with allow_dup_row

  • 对一个表建立唯一索引:

    create unique clustered index mycolumn_clust_index

    on mytable(mycolumn)

  • 应该尽量对一个表建立唯一聚簇索引来增强查询操作

  • 建立复合索引(对多个字段的索引:最多16个):

    create index name_index on

    username(firstname,lastname)


每个表只能有一个聚簇索引,通常按照标识字段建立.SQL核心语句

1.插入数据:

  • insert mytable(mycolumn) values(‘good’)

  • Insert mytable(first_column,second_column,

    third_column) valuse(‘good’,’well’,’best’)

  • Insert语句的完整句法:P169

  • 如果输入很长的字符串,应该使用writetext

  • 向一个表中插入一条新记录,但有一个字段没有提供

    数据,会出现四种情况:P169

  • 向一个有标识字段的表中插入新记录,可以用SQL语

    句变量@@identity来访问新记录的标识字段的值:P170


2. 每个表只能有一个聚簇索引,通常按照标识字段建立删除记录:

  • Delete mytable where first_column=‘deltet me’

  • DELETE 语句的完整句法:P170

  • 如果不给DELETE语句提供WHERE,表中的所有记

    录都将被删除,但最好用 truncate table,因为它快

    3.更新记录:

  • Update mytable set first_column=‘good’ where second_column=‘best’

  • UPDATE语句的完整句法:P171

  • 如果需要更新很长的字符串,应该 使用updatetext

  • 如果不提供where,表中所有记录将被更新


4.每个表只能有一个聚簇索引,通常按照标识字段建立用SELECT创建记录和表:

  • Insert mytable(first_column,second_column) select

    another_first,another_second from anothertable

    where another_first =‘copy me’

  • 如果你需要拷贝整个表:

    select * into newtable from mytable

  • 指定特定的字段被用来创建这个新表:

    select first_column into newtable from mytable

    where second_column=‘copy me’


每个表只能有一个聚簇索引,通常按照标识字段建立.集合函数

1.统计字段值的数目:

  • Select count(au_lname) from authors

  • Select count(au_lname) from authors where

    au_lname=‘ringer’

  • Select count(distinct au_lname) from authors

  • Select count(*) from authors

  • Select count(vote) from opinion_table where vote=1

    2.计算字段的平均值:

  • Select avg(vote) from opinion


3.每个表只能有一个聚簇索引,通常按照标识字段建立计算字段值的和:

  • Select sum(purchase_amount) from orders

    4.返回最大值或最小值:

  • Select max(vote) from opinion

  • Select min(vote) from opinion

    四.其它常用的SQL表达式、函数和过程

    1.通过匹配一定范围的值来取出数据:

  • Select username from opinion where vote>6 and vote<11

  • Select username from opinion where vote between 7 and 10

  • Select username from opinion where vote=1 or vote=10

  • Select username from opinion where vote in(1,10)


  • Select vote from opinion where username in(‘bill 每个表只能有一个聚簇索引,通常按照标识字段建立

    gates’,’president clinton’)

  • Select username from opinion where vote not beteween

    7 and 10

  • Select vote from opinion where username not in(‘bill

    gates’,’president clinton’)

    2.强制转换数据:

  • Select convert(char(8),price)+’us dollars’ from orders

  • Select ‘the vote is ‘+convert(char(1),vote) from opinion

    3.操作字符串数据:SQL有许多函数和表达式


4.每个表只能有一个聚簇索引,通常按照标识字段建立匹配通配符:

  • Select site_name from site_directory where

    site_desc=‘trading card’

  • Select site_name from site_directory where site_desc

    like ‘%trading card%’

  • Select site_name from site_directory where site_name

    like ‘[A-M]%’

  • Select site_name from site_directory where site_name

    like ‘[N-Z]%’

  • Select site_name from site_directory where site_name

    like ‘[ABC]%’


  • Select site_name from site_directory where site_name 每个表只能有一个聚簇索引,通常按照标识字段建立

    like ‘[C-FY]%’

  • Select site_name from site_directory where site_name

    like ‘[^Y]%’

  • Select site_name from site_directory where site_name

    like ‘M_crosoft%’

  • 如果你想匹配“%”或“_”,需要把它们放在[ ]

  • 如果你想匹配连字符“-”,需要放在[ ]中第一个字符

  • 如果你想匹配“[ ]”,需要把它放在[ ]

  • Select site_name from site_directory where site_desc

    like ‘%[%]%’


5.每个表只能有一个聚簇索引,通常按照标识字段建立删除空格:

  • Ltrim( ):删除字符串前面的所有空格

  • Rtrim( ):删除字符串后面的所有空格

  • Select rtrim(site_name) from site_directory

  • Select lrtim(rtrim(site_name) from site_directory

    6. 操作日期和时间:

    7.返回当前日期和时间:

  • Select getdate( )

  • Create table site_log( username varchar(40),

    useractivity varchar(100),entrydate datetime default

    getdate( ) )


8.每个表只能有一个聚簇索引,通常按照标识字段建立转换日期和时间:

  • Select convert(varchar(30),getdate( ),9)

  • 日期和时间的类型:P180

  • 对于表中所列的每一种格式,你可以把类型值加上100

    来显示有世纪的年

  • Select convert(varchar(30),getdate( ),111)

    9.抽取日期和时间:

  • Select site_name ‘site name’,datepart(mm,site_entrydate)

    ‘month posted’ from site_directory

  • 日期的各部分及其简写:P181


  • Select site_name ‘site name’ 每个表只能有一个聚簇索引,通常按照标识字段建立

    datename(mm,site_entrydate) ‘month posted’

    from site_directory

  • Select site_name ‘site name’

    datename(dw,site_entrydate)+’-’+

    datename(mm,site_entrydate) ‘day and month posted’

    from site_directory

    10.返回日期和时间范围:

  • Select * from weblog where entrydate=“12/25/2000”

  • Select * from weblog where

    entrydate>=“12/25/2000” and entrydate<“12/26/2000”


  • Select * from weblog where entrydate like ‘Dec 25 2000%’每个表只能有一个聚簇索引,通常按照标识字段建立

    11.比较日期和时间:

  • Select entrydate ‘time entered’

    Datediff(hh,entrydate,getdate( )) ‘hours ago’ from weblog

  • Select username ‘user name’,

    dateadd(mm,1,firstvisit_date) ‘registration expires’

    from registration_table

  • 使用DATEADD( )把一个日期加上一个月,并不加上30

    天,所以要加一个月,直接加上天数


列名每个表只能有一个聚簇索引,通常按照标识字段建立

数据类型

长度

null

产品代号

varchar

16

产品名称

varchar

50

类别编号

varchar

4

产品简述

varchar

200

单价

decimal

9

精度18,小数位数2

币别

Char

2

交货期

char

10

新上市

bit

1

备注

varchar

50

  •  课后作业:

    1.使用表设计窗口创建一张如下的“产品基本信息表” :


2.每个表只能有一个聚簇索引,通常按照标识字段建立使用CREATE TABLE指令创建如下的一个名称为

“币别信息表”:


3.每个表只能有一个聚簇索引,通常按照标识字段建立将上表中的“产品代号”数据行设置为“产品基本信息表”

 的主键

4.分别利用表设计工具属性和向导创建索引为“产品基本

 信息表”中的“类别编号”列创建一个索引“IX_产品类别”

5.使用表设计窗口的“管理关系”功能,创建“产品基本信

 息表”与“币别信息表”间的关系

6.用命令删除“币别信息表”

7.用命令对“产品基本信息表”,进行以下操作:

  • 增加一个字段“产品单位”

  • 删除“单价”字段


  • 取出每个表只能有一个聚簇索引,通常按照标识字段建立“产品代号”以及“产品名称”两个字段的内容,同

     时在查询中建立一个虚拟字段“金额”,用以存储“单价”

     与“币别”汇率的乘积

  • 以“类别”进行递增排序,以“产品代号”进行递减排序

  • 查询 “类别编号”字段等于“0001”的记录

  • 添加一条记录

  • 删除“产品代号”字段具有“0002”的记录内容时

  • 把产品代号为000100000035,改为00010000003


ad