(精品)SQL2005创建表.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(精品)SQL2005创建表.ppt》由会员分享,可在线阅读,更多相关《(精品)SQL2005创建表.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 SQL内部培训内部培训第三天第三天更多信息请登陆:http:/4006343551用友软件核心合作伙伴http:/ 总体内容介绍总体内容介绍创建和操作表创建视图和索引高级SQL 创建和操作表创建和操作表CREATEDATABASE语句语句在任何数据库项目中管理数据的第一步工作就是建立数据库。虽然我们今天讲的是创建和操作表,但是没有库也就没有表,所以我们还是先简单的介绍一下创建库。根据你的要求和你的数据库管理系统的情况,这个工作可以很简单也可以很复杂。许多现代的数据库系统都提供了图形工具使你可以通过按鼠标按键来完成数据库的建立工作。这对于节省时间是相当有益处的。但是知道在这些鼠标操作的背后数据
2、库是如何响应的对我们来说并不是什么坏处。CREATEDATABASEdatabase_name:几乎所有的流行了功能强大的关系型数据库系统都支持它,SQLSERVER也一样。创建和操作表创建和操作表CREATE DATABASECREATE DATABASE创建一个新数据库及存储该数据库的文件,或从先前创建的数据库的文件中附加数据库。语法语法CREATE DATABASE database_name ON ,.n ,.n LOG ON ,.n COLLATE collation_name FOR LOAD|FOR ATTACH :=PRIMARY(NAME=logical_file_name,
3、FILENAME=os_file_name ,SIZE=size ,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=growth_increment ),.n :=FILEGROUP filegroup_name ,.n 以上就是具体的语法,其中的参数可以参照SQL的帮助。创建和操作表创建和操作表对数据库我们还需要了解的一点是:Microsoft SQL Server 2000 使用一组操作系统文件映射数据库。数据库中的所有数据和对象(如表、存储过程、触发器和视图)都存储在下列操作系统文件中:主要 该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主要
4、数据文件。次要 这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。事务日志 这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件。我们可以在以下系统表中找到数据库对应文件的信息:MASTER库中的sysaltfiles表,记载了所有该服务器上的数据库对应的文件信息;每个数据库中的sysfiles、sysfiles1记载了自身的文件信息,其中sysfiles表中的 信息较详细;当然,我们也可以图形化的查看这些信
5、息,我们可以在企业管理器里用鼠标右键“属性”来查看:创建和操作表创建和操作表建立关键字段建立关键字段在接下来的数据库设计工作中,最主要的目标就是建立你的表的结构。表最基本的内容就是字段。没有字段就没有表,一个表里至少要有一个字段。对于关系数据库,表的结构主要包括主关键字和外关键字。其中主关键字用于完成下列目标:保证表中的第一条记录都是唯一的(没有一条记录的内容完全与另一条相同,至少主键不能相同);对于一个特定的记录,它的所有的列都是必须的。列的内容不应出现重复;在第二个目标中如果列的内容在表中从头至尾都没有重复,那它就可以是主关键字。一个表里只能有一个主键,但是一个主键可以由多个字段构成。创建
6、和操作表创建和操作表外关键字则是在自己的关系中不唯一标识记录,但在其它关系中可用作对匹配字段链接的一种关键字。外键(FK)是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。注意:一个外键对应的另外一个表的对应字段必须是另外一个表的主键。FOREIGNKEY约束并不仅仅只可以与另一表的PRIMARYKEY约束相链接,它还可以定义为引用另一表的UNIQUE约束。FOREIGNKEY约束不允许空值,但是,如果任何组合FOREIGNKEY约束的列包含空值,则将跳过FOREIGNKEY约束的校验。也许你
7、会把外键和连接混淆,我们在做查询的时候,往往也会利用外键字段来在两表间建立连接关系,注意外键只是一中数据库里的约束,它要求该字段的值要么为另外一个表中存在的值,要么为NULL(该列允许NULL的情况下)。个人建议:任何需要在连接中使用到的字段都应该加上外键约束。创建和操作表创建和操作表CREATE TABLE创建新表。和创建数据库一样,我们也可以利用图形界面工具(如企业管理器来创建),但理解其具体的操作并不是一件坏事。创建表的最基本语法(详细的语法见帮助)就是CREATETABLEtable_name(field1datatypeNOTNULL,field2datatypeNOTNULL,fi
8、eld3datatypeNOTNULL,。)我们来看一个简单的例子,如下:CREATETABLEBILLS(NAMECHAR(30),AMOUNTINT,ACCOUNT_IDINT)分析该语句创建了一个名字叫BILLS的表,在BILLS表中有三个字段NAME,ACCOUNT和ACCOUNT_ID。其中NAME字段为字符类型可以存储长度30的字符串,而AMOUNT和AMOUNT_ID则只参存储整数。创建和操作表创建和操作表ALTERTABLE语句语句没有道理为每件事对你的数据库进行多次的设计。但又确实需要对数据库和应用程序进行改动。那么ALTERTABLE语句可以让数据库的设计者或设计人员在表创
9、建以后修改它的结构。ALTERTABLE语句可以帮助你很多事情,在这里我们只介绍与表相关的常用的l加入一列到已经存在的表中l 删除已经存在的表中的某一列l 修改已经存在的表中的某一列下面让我们来分别介绍(以上所有操作都可以在企业管理器里简单的执行。)创建和操作表创建和操作表加入已经存在的表中的某一列ALTER TABLE tablname ADDADD|column_name AS computed_column_expression ,.n 以上例子是在MYTABLE里增加一个类型为VARCHAR(20),允许为NULL的列NEWcolumn。例子:ALTER TABLE MYTABLEAD
10、D NEWcolumn VARCHAR(20)NULL 创建和操作表创建和操作表删除一列到已经存在的表中ALTER TABLE tablname DROPDROP CONSTRAINT constraint_name|COLUMN column ,.n 以上例子是在MYTABLE里删除列NEWcolumn。例子:ALTER TABLE MYTABLEDROP COLUMN NEWcolumn 创建和操作表创建和操作表修改已经存在的表中的某一列ALTER TABLE tablname ALTER COLUMNALTER COLUMN column_name new_data_type (prec
11、ision ,scale )COLLATE NULL|NOT NULL|ADD|DROP ROWGUIDCOL 以上例子是在MYTABLE里将列NEWcolumn 的类型改变成INT。例子:ALTER TABLE MYTABLE ALTER COLUMNALTER COLUMNNEWcolumn INT注:你可以增加或减少某一列的长度,但是你不能将它减少到使修改后的长度小于其中的已有数据长度。修改前一定要慎重!创建和操作表创建和操作表DROPTABLE语句语句SQL提供了一个可以从数据库去彻底地移去某个表的命令。DROPTABLE可以从数据库中删除一个指定的表。一旦这个命令发出以后就没有办法撤
12、消它(在事务提交前除外,关于事务我们将在后面讲解)。它最常用在你创建一个临时表并且已经进行完毕了你的全部计划工作的时候。DROPTABLE语句的语法格式如下DROPTABLEtable_name下边是如何删掉一个叫NEW_BILLS表的实例DROPTABLENEW_BILLS注意:系统没有给出你提示该命令不会问你Areyousure?Y/N。但是删除操作已经执行,表已经永远地删除了。删除一个数据库的命令也类似:DROPDATABASE,这里就不再解说。创建视图和索引创建视图和索引下面我们将要讨论的内容可能是新东西。前面我们主要学习了如何使用SQL在关系数据库中进行基本的工作,我们还讨论了数据库
13、的设计、表的创建以及其它的数据处理语句。所有这些内容的对象:表、数据库、记录、字段、的共同之处在于它们是存在于磁盘上的物理对象。今天我们来学习SQL的两个新的特性,它允许你以与数据在磁盘上的存储不同的方式来显示数据。这两个特性就是记录和索引。到这一节结束你将学习到以下内容:如何区别索引与视图如何创建视图如何创建索引如何用视图来修改数据索引可以做什么 创建视图和索引创建视图和索引视图常常被称为虚表,它是用CREATEVIEW语句来建立的,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表
14、,并且在引用视图时动态生成。在视图建立以后你可以对视图采用如下命令:l SELECTl INSERTl UPDATElDELETE个人建议:对于后面三种操作(INSERT、UPDATE、DELETE)如无确定把握不要在视图上直接进行而建议到其对应的基本表上操作。所以在这里我们也就不再介绍,有兴趣的可以自己看看SQL的联机丛书。索引是对数据库表中一个或多个列的值进行排序的结构。索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。索引将占用磁盘空间,索引可以提高查询的速度但
15、会降低添加、删除和更新行的速度。视图与索引是两个完全不同的对象。但是它们有一点是相同的:它们都与表关联(不能脱离表单独存在)。尽管每一个对象只能特定的表相关联,但它们还是通过对数据的预排序和预定义显著地提高了表的工作性能 创建视图和索引创建视图和索引使用视图使用视图你可以对封装的复合查询应用视图。当对一组数据建立视图以后你可以像处理另外一个表一样去处理视图。但是在视图中修改数据时要受到一些限制(修改我们不做解释),当表(基础表)中的数据改变以后你将会在查询视图时发现相应的改变。视图并不占用数据库或表的物理空间。创建视图的语法如下:CREATE VIEW .view_name (column ,
16、.n )WITH ,.n AS select_statement WITH CHECK OPTION :=ENCRYPTION|SCHEMABINDING|VIEW_METADATA 简化后的语法:CREATE VIEW view_name AS select_statement 创建视图和索引创建视图和索引与通常一样,语法看起来不太容易使人明白。我们来解释一下:view_nameview_name是视图的名称。视图名称必须符合标识符规则。可以选择是否指定视图所有者名称。columncolumn是视图中的列名。只有在下列情况下,才必须命名 CREATE VIEW 中的列:当列是从算术表达式、函
17、数或常量派生的,两个或更多的列可能会具有相同的名称(通常是因为联接),视图中的某列被赋予了不同于派生来源列的名称。还可以在 SELECT 语句中指派列名。如果未指定 column,则视图列将获得与 SELECT 语句中的列相同的名称。一般情况下我们接触到的都是没有指定column的视图;n n是表示可以指定多列的占位符。ASAS是视图要执行的操作。select_statementselect_statement是定义视图的 SELECT 语句。该语句可以使用多个表或其它视图。若要从创建视图的 SELECT 子句所引用的对象中选择,必须具有适当的权限。视图不必是具体某个表的行和列的简单子集。可以
18、用具有任意复杂性的 SELECT 子句,使用多个表或其它视图来创建视图。在索引视图定义中,SELECT 语句必须是单个表的语句或带有可选聚合的多表 JOIN。对于视图定义中的 SELECT 子句有几个限制。CREATE VIEW 语句不能:包含 COMPUTE 或 COMPUTE BY 子句。包含 ORDER BY 子句,除非在 SELECT 语句的选择列表中也有一个 TOP 子句。包含 INTO 关键字。引用临时表或表变量。创建视图和索引创建视图和索引使用简单的使用简单的 CREATE VIEW下例创建具有简单SELECT语句的视图。当需要频繁地查询列的某种组合时,简单视图非常有用。USE
19、pubs GOIF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME=titles_view)DROP VIEW titles_view GO CREATE VIEW titles_view AS SELECT title,type,price,pubdate FROM titles GO 创建视图和索引创建视图和索引视图继承了已有列的名字。此外视图还可以有自己的名字。SQL的CREATEVIEW允许你对所选择的列进行重命名。如前边的例子我们也可以这样写:CREATE VIEW titles_view
20、 AS SELECT title AS 标题,type AS 类型,price AS 价格,pubdate AS 发行日期FROM titles 这样的语句是完全合法的。创建视图和索引创建视图和索引删除视图语句删除视图语句就像每一个CREATE语句一样CREATEVIEW语句对应的也与DROPVIEW语句相对应。其语法形式如下:DROPVIEWview_name 在使用它的时候需要记住DROPVIEW命令会使所有与DROP视图相关联的视图不能正常运行,此时如果你访问这个数据库,将返回如下错误:由于绑定错误,未能使用视图或函数 对应名称。一些数据库系统甚至会将所有与要DROP的视图相关联的视图也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 SQL2005 创建
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内