友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第50章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






                            Table 9。3。 Sample data for the BILLS table。 



                    Name                    Amount                Account_ID 



               Phone pany                  125                       1 



               Power pany                   75                       1 



                                                                                             184 


…………………………………………………………Page 185……………………………………………………………

SQL 21  日自学通(V1。0)                                                                  翻译人      笨猪 



                     Name                   Amount                 Account_ID 



                 Record Club                   25                       2 



              Software pany                250                        1 



              Cable TV pany                 35                        3 



                  Table 9。4。 Sample data for the BANK_ACCOUNTS table。 

                Account_ID      Type               Balance      Band 



                 1               Checking          500          First Federal 



                2               Money Market        1200        First Investor's 



                3                Checking          90           Credit Union 



                       Table 9。5。 Sample data for the PANY table 

                       Name                Address             City        State 



                Phone pany          111 1st Street     Atlanta         GA 



                Power pany          222 2nd Street     Jacksonville    FL 



                Record Club            333 3rd Avenue     Los Angeles     CA 



                Software pany       444 4th Drive      San Francisco   CA 



                Cable TV pany       555 5th Drive      Austin          TX 



表的存储与尺寸的调整 



     大多数 RDBMS         都设定了表的默认大小和存储的定位                          如果你没有指定表的大小和存 



储大小它就会采用默认值  它可能是非常不合适的                                  特别对于大型的表来说更是如此                       默 



认大小根据解释器和不同而不同                       下边是一个在创建表时使用 STORAGE 子句的例子                               对 



于 ORACLE 而言 



     INPUT 



     SQL》      CREATE  TABLE  TABLENAME 



         2        (COLUMN1        CHAR      NOT  NULL; 



         3          COLUMN2        NUMBER; 



         4          COLUMN3        DATE) 



         5          TABLESPACE  TABLESPACE  NAME 



         6          STORAGE 



         7          INITIAL  SIZE; 



         8          NEXT  SIZE; 



         9          MINEXTENTS  value; 



                                                                                              185 


…………………………………………………………Page 186……………………………………………………………

SQL 21  日自学通(V1。0)                                            翻译人    笨猪 



      10          MAXEXTENTS  value; 



      11          PCTINCREASE  value); 



    OUTPUT 



    Table created。 



分析 



    在 ORACLE  中你可以指定需要存放的表的大小  定夺的依据是可用空间的大小  经常 



是由数据库管理人员来决定  INITIAL SIZE 表的初始长度  最初的分配空间                     NEXT SIZE 



是指追加的长度         MINEXTENTS  和 MAXEXTENTS    用于指定表的最小和最大长度 



PCTINCREASE 则指明表每次追加的百分比或进行下一次追加 



用一个已经存在的表来建表 



    CREATE  TABLE 是最为通用的建表的方法  然而  在一些数据库管理系统中提供了一 



种可供选择的方法 — — 使用已经存在的表中的格式和数据                    当你对表进行临时改动需要将 



数据选出时这种方法是很有用的              当你要创建的表与已有的表类似并且其内容也类似时它 



也非常有用  你不必须重新输入这些信息                在 ORACLE 中它的语法如下 



SYNTAX 



CREATE TABLE NEW_TABLE(FIELD1; FIELD2; FIELD3) 



           AS (SELECT FIELD1; FIELD2; FIELD3 



           FROM OLD_TABLE  



    它的语法允许你建立一个字段类型与已有表中选出的字段类型相同的新表                            你也可以 



对新表中的字段进行重命名 



INPUT/OUTPUT 



SQL》  CREATE TABLE NEW_BILLS(NAME; AMOUNT; ACCOUNT_ID) 



       AS (SELECT * FROM BILLS WHERE AMOUNT 《 50); 



       Table created。 



分析 



    上边的语句用 BILL 表中 AMOUNT  小于 50 的记录创建了一个新表 



    在一些数据库系统中你也可以使用下边的语法 



SYNTAX 



                                                                      186 


…………………………………………………………Page 187……………………………………………………………

SQL 21  日自学通(V1。0)                                              翻译人    笨猪 



INSERT NEW_TABLE 



SELECT  from OLD_TABLE   



    上边的语法格式将会严格地按照原有表的字段格式和数据建立一个新表                             下边用 SQL 



Server  的Transact…SQL 来对它进行举例 



INPUT 



INSERT NEW_BILLS 



1》 select * from BILLS where AMOUNT 《 50 



2》 go 



    go 语句在 SQL  SERVER  中是处理 SQL  缓冲区内指令的命令               它的作用等同于在 



ORACLE 中的分号 



ALTER TABLE 语句 



    没有道理为每件事对你的数据库进行多次的设计  但又确实需要对数据库和应用程序 



进行改动     那么 ALTER  TABLE 语句可以让数据库的设计者或设计人员在表创建以后修改 



它的结构 



    ALTER TABLE 语句可以帮助你做两件事 



    l   加入一列到已经存在的表中 



    l   修改已经存在的表中的某一列 



    ALTER TABLE 语句的语法如下 



SYNTAX 



    ALTER TABLE table_name   



    下边的命令会将 BILL 表中的 NAME 字段改为长度 40 个字符 



INPUT/OUTPUT 



    SQL》    ALTER  TABLE  BILLS    MODIFY  NAME  CHAR(40); 



    Table altered。 



注   你可以增加或减少某一列的长度  但是你不能将它减少到使修改后的长度小于其中的 



已有数据长度 



下边的语句是向 NEW_BILLS  表中加入一个新列 



                                                                       187 


…………………………………………………………Page 188……………………………………………………………

SQL 21  日自学通(V1。0)                                         翻译人   笨猪 



INPUT/OUTPUT 



   SQL》    ALTER  TABLE  NEW_BILLS 



       2      ADD  MENTS  CHAR(80); 



   Table altered。 



分析 



   这条语句会加入一个叫 MENTS          的长度为 80  个字符的字段       该字段会加在已有 



字段的右边 



   在使用 ALTER TABLE 时会有许多限制  你不能用它来对一个数据库增加或删除字段 



它可以将一个列由NOT NULL 改变为NULL 而不必使用其它方法 但是如果想把列由NULL 



改变为 NOT  NULL 时则要求指定的字段中不能有 NULL 值            想把某一列由 NOT  NULL 改 



变为 NULL 可以使用下边的语法 



SYNTAX 



   ALTER TABLE table_name  MODIFY (column_name data_type NULL) 



如果想把一列由 NULL 改变为 NOT NULL        你必需经过以下步骤 



    1  确认要改变的列中有没有 NULL 值 



   2   删掉你所发现的任何 NULL 值  删除该记录           更新这一记录等等 



   3   使用 ALTER TABLE 命令 



   注  在一些数据库管理系统中允许使用 MODIFY 子句               另外一些则不可以  而又有 



       一些在 ALTER  TABLE  中加入了其它的子句  在 ORACLE  中  你甚至可以修 



       改表的存储参数  请检查你的解释器以找出它对 ALTER TABLE 的确实用法 



DROP TABLE 语句 



   SQL 提供了一个可以从数据库去彻底地移去某个表的命令  DROP TABLE 可以从数据 



库中删除一个指定的表以及与之相关联的索引和视图  在第 10  天会进行更详细的讨论 



一旦这个命令发出以后         就没有办法可以彻消它         它最常用在你创建一个临时表  并且已 



经进行完毕了你的全部计划工作的时候  DROP TABLE 语句的语法格式如下 



   SYNTAX 



   DROP TABLE table_name 



    下边是如何删掉一个叫 NEW_BILLS  表的实例 



                                                                  188 


…………………………………………………………Page 189……………………………………………………………

SQL 21  日自学通(V1。0)                                     翻译人  笨猪 



   INPUT/OUTPUT 



   SQL》DROP TABLE NE
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!