Oracle数据库教程(第3版 微课视频版) 课件 第4章 Oracle表_第1页
Oracle数据库教程(第3版 微课视频版) 课件 第4章 Oracle表_第2页
Oracle数据库教程(第3版 微课视频版) 课件 第4章 Oracle表_第3页
Oracle数据库教程(第3版 微课视频版) 课件 第4章 Oracle表_第4页
Oracle数据库教程(第3版 微课视频版) 课件 第4章 Oracle表_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1第4章

Oracle表4.1表的基本概念4.2数据类型4.3表结构设计4.4使用图形界面方式定义表4.5使用PL/SQL语句定义表4.6使用PL/SQL语句操作表数据4.7使用图形界面方式操作表数据

4.8分区表Oracle数据库教程(第3版•微课视频版)Oracle数据库教程(第3版•微课视频版)24.1表的基本概念在创建数据库的过程中,最重要的一步就是创建表,在工作和生活中,表是经常使用的一种表示数据及其关系的形式,在学生信息系统中,学生表如表4.1所示。表4.1学生表(student)

Oracle数据库教程(第3版•微课视频版)34.1表的基本概念表包含以下基本概念:(1)表(2)表结构(3)记录(4)字段(5)空值(6)关键字

Oracle数据库教程(第3版•微课视频版)44.2数据类型1.数值型常用的数值型有number、float两种,其格式和取值范围如表4.2所示。表4.2数值型

2.字符型常用的字符型有char、nchar、varchar2、nvarchar2、long等5种,它们在数据库中以ASCII码的格式存储,其取值范围和作用如表4.3所示。

Oracle数据库教程(第3版•微课视频版)54.2数据类型表4.3字符型3.日期型日期型常用的有date,timestamp两种,用来存放日期和时间,取值范围和作用如表4.4所示。

Oracle数据库教程(第3版•微课视频版)64.2数据类型表4.4日期型

4.其它数据类型除上述类型外Oracle11g还提供存放大数据的数据类型和二进制文件的数据类型blob、clob、bfile,如表4.5所示。表4.5其它数据类型

Oracle数据库教程(第3版•微课视频版)74.3表结构设计在数据库设计过程中,最重要的是表结构设计,好的表结构设计,对应着较高的效率和安全性,而差的表设计,对应着差的效率和安全性。创建表的核心是定义表结构及设置表和列的属性,创建表以前,首先要确定表名和表的属性,表所包含的列名、列的数据类型、长度、非空、是否主键等,这些属性构成表结构。学生表student包含sid,sname,ssex,sbirthday,speciality,tc等列。表4.6student的表结构

Oracle数据库教程(第3版•微课视频版)84.4使用图形界面方式定义表4.4.1使用图形界面方式创建表【例4.1】在stsystem数据库中创建student表。(1)启动”SQLDeveloper”,在”连接”节点下打开数据库连接”st_test”,右单击“表”节点,在弹出的快捷菜单中选择”新建表”命令。(2)屏幕出现”创建表”窗口,在”名称”栏输入表名STUDENT,根据已经设计好的student的表结构分别输入或选择SID,SNAME,SSEX,SBIRTHDAY,SPECIALITY,TC等列的PK(是否主键)、列名、数据类型、长度大小、非空性等栏信息,输入完一列后单击”+”按钮添加下一列,输入完成后的结果如图4.1所示。

Oracle数据库教程(第3版•微课视频版)94.4使用图形界面方式定义表

Oracle数据库教程(第3版•微课视频版)104.4使用图形界面方式定义表(3)输完最后一列的信息后,选中右上角的“高级”复选框,此时会显示出更多的表的选项,如表的类型、列的默认值、约束条件和存储选项等,如图4.2所示。(4)单击”确定”按钮,创建student表完成。

Oracle数据库教程(第3版•微课视频版)114.4使用图形界面方式定义表4.4.2使用图形界面方式修改表【例4.2】在student表中增加一列telephone,然后删除该列。(1)启动”SQLDeveloper”,在”连接”节点下打开数据库连接”st_test”,展开“表”节点,选中表“student”,单击鼠标右键,在弹出的快捷菜单中选择”编辑”命令。(2)进入”编辑表”窗口,单击”+”按钮,在”列属性”栏的”名称”框中输入TELEPHONE,在”类型”框中选择VARCGAR2,在”大小”框中输入11,如图4.3所示,单击”确定”按钮,完成插入新列TELEPHONE操作。

Oracle数据库教程(第3版•微课视频版)124.4使用图形界面方式定义表

Oracle数据库教程(第3版•微课视频版)134.4使用图形界面方式定义表(4)选中表“student”,单击鼠标右键,在弹出的快捷菜单中选择”编辑”命令,进入”编辑表”窗口,在”列”栏中选中TELEPHONE,如图4.4所示,单击”×”按钮,列TELEPHONE即被删除,单击”确定”按钮,完成删除列TELEPHONE操作。

Oracle数据库教程(第3版•微课视频版)144.4使用图形界面方式定义表4.4.3使用图形界面方式删除表【例4.3】删除student表。(1)启动”SQLDeveloper”,在”连接”节点下打开数据库连接”st_test”,展开“表”节点,选中表“student”,单击鼠标右键,在弹出的快捷菜单中选择”表”→“删除”命令。(2)进入“删除”窗口,单击“应用”按钮,弹出”确认”对话框,单击”确定”按钮,即可删除student表。

Oracle数据库教程(第3版•微课视频版)154.5使用PL/SQL语句定义表4.5.1使用PL/SQL语句创建表语法格式:CREATETABLE[<用户方案名>.]<表名>(<列名1><数据类型>[DEFAULT<默认值>][<列约束>] <列名2><数据类型>[DEFAULT<默认值>][<列约束>] [,…n]<表约束>[,…n])[PCTFREE<数字值>][PCTUSED<数字值>][INITRANS<数字值>][MAXTRANS<最大并发事务数>][TABLESPACE<表空间名>][STORGE<参数>][AS<子查询>]

Oracle数据库教程(第3版•微课视频版)164.5使用PL/SQL语句定义表【例4.4】使用PL/SQL语句,在stsystem数据库中创建student表。在stsystem数据库中创建student表语句如下:CREATETABLEstudent(sidchar(6)NOTNULLPRIMARYKEY,snamechar(12)NOTNULL,ssexchar(3)NOTNULL,sbirthdaydateNOTNULL,specialitychar(12)NULL,tcnumberNULL);

Oracle数据库教程(第3版•微课视频版)174.5使用PL/SQL语句定义表启动SQLDeveloper,在主界面中展开”st_test”连接,单击工具栏的按钮,主界面弹出SQL工作表窗口,在窗口中输入上述语句,单击按钮,在“脚本输出”窗口显示“TableSTUDENT已创建。”,如图5.5所示。4.5.2使用PL/SQL语句修改表

Oracle数据库教程(第3版•微课视频版)184.5使用PL/SQL语句定义表语法格式:ALTERTABLE[<用户方案名>.]<表名>[ADD(<新列名><数据类型>[DEFAULT<默认值>][列约束],…n)]/*增加新列*/[MODIFY([<列名>[<数据类型>][DEFAULT<默认值>][列约束],…n)]/*修改已有列的属性*/[STORAGE<存储参数>] /*修改存储特征*/[<DROP子句>] /*删除列或约束条件*/其中,<DROP子句>用于从表中删除列或约束。<DROP子句>::=DROP{COLUMN<列名>∣PRIMARY[KEY]∣UNIQUE(<列名>,…n)∣CONSTRAINT<约束名>∣[CASCADE]}

Oracle数据库教程(第3版•微课视频版)194.5使用PL/SQL语句定义表【例4.5】使用ALTERTABLE语句修改stsystem数据库中的student表。(1)在student表中增加一列native。ALTERTABLEstudentADDnativevarchar(12);(2)在student表中删除列native。ALTERTABLEstudentDROPCOLUMNnative;

Oracle数据库教程(第3版•微课视频版)204.5使用PL/SQL语句定义表4.5.3使用PL/SQL语句删除表使用DROPTABLE语言删除表。语法格式:DROPTABLEtable_name其中,table_name是要删除的表的名称。【例4.6】删除stsystem数据库中student表。DROPTABLEstudent;

Oracle数据库教程(第3版•微课视频版)214.6使用PL/SQL语句操作表数据4.6.1使用PL/SQL语句插入记录语法格式:INSERTINTO<表名>[(<列名1>,<列名2>,…n)]VALUES(<列值1>,<列值2>,…n)其中,列值表必须与列名表一一对应,且数据类型相同。向表的所有列添加数据时,可以省略列名表,但列值表必须与列名表顺序和数据类型一致。在输入student表的sbirthday列的数据时,数据库默认的日期格式是:DD-MON-RR,为了将日期格式改为习惯的格式:YYYY-MM-DD,需要在SQLDeveloper命令窗口中执行以下语句:ALTERSESSIONSETNLS_DATE_FORMAT="YYYY-MM-DD";

Oracle数据库教程(第3版•微课视频版)224.6使用PL/SQL语句操作表数据1.对表的所有列插入数据(1)省略列名表必须为每个列都插入数据,值的顺序必须与表定义的列的顺序一一对应,且数据类型相同。设student表、student1表已创建,其表结构参见附录B。【例4.7】使用省略列名表的插入语句,对student1表插入一条记录('221001','何德明','男','20010716','YYYYMMDD'),'计算机',52)。INSERTINTOstudent1VALUES('221001','何德明','男',TO_DATE('20010716','YYYYMMDD'),'计算机',52);(2)不省略列名表如果插入值的顺序和表定义的列的顺序不同,在插入全部列时,则不能省略列名表。

Oracle数据库教程(第3版•微课视频版)234.6使用PL/SQL语句操作表数据【例4.8】使用不省略列名表的插入语句,对student1表插入一条记录,姓名为“王丽”、专业为“计算机”、学号为“221002”、性别为“女”、出生日期为“20020921”,总学分为50。INSERTINTOstudent1(sname,speciality,sid,ssex,sbirthday,tc)VALUES('王丽','计算机','221002','女',TO_DATE('20020921','YYYYMMDD'),50);2.对表的指定列插入数据在插入语句中,只给出了部分列的值,其它列的值为表定义时的默认值,或允许该列取空值。此时,不能省略列明表。【例4.9】只给出部分列的值,对student1表插入一条记录,学号为“224004”、专业为“通信”、学分空值、姓名为“颜群”、性别为“女”、出生日期为“20020112”。INSERTINTOstudent1(sid,speciality,sname,ssex,sbirthday)VALUES('224004','通信','颜群','女',TO_DATE('20020112','YYYYMMDD'));

Oracle数据库教程(第3版•微课视频版)244.6使用PL/SQL语句操作表数据3.插入多条记录【例4.10】向student表插入表4.1各行数据。向student表插入表4.1各行数据的语句如下:INSERTINTOstudentVALUES('221001','何德明','男',TO_DATE('20010716','YYYYMMDD'),'计算机',52);INSERTINTOstudentVALUES('221002','王丽','女',TO_DATE('20020921','YYYYMMDD'),'计算机',50);INSERTINTOstudentVALUES('221004','田桂芳','女',TO_DATE('20021205','YYYYMMDD'),'计算机',52);INSERTINTOstudentVALUES('224001','陈永杰','男',TO_DATE('20010318','YYYYMMDD'),'通信',52);INSERTINTOstudentVALUES('224002','许月琴','女',TO_DATE('20020623','YYYYMMDD'),'通信',48);INSERTINTOstudentVALUES('224003','孙俊松','男',TO_DATE('20011007','YYYYMMDD'),'通信',50);

Oracle数据库教程(第3版•微课视频版)254.6使用PL/SQL语句操作表数据使用SELECT语句查询插入的数据:SELECT*FROMstudent;查询结果:SIDSNAMESSEXSBIRTHDAYSPECIALITYTC--------------------------------------------------------------------------------221001何德明男2001-07-16计算机52221002王丽女2002-09-21计算机50221004田桂芳女2002-12-05计算机

52224001周思远男2001-03-18通信52224002许月琴女2002-06-23通信48224003孙俊松男2001-10-07通信50

Oracle数据库教程(第3版•微课视频版)264.6使用PL/SQL语句操作表数据4.6.2使用PL/SQL语句修改记录UPDATE语句用于修改表中指定记录的列值。语法格式:UPDATE<表名>SET<列名>={<新值>|<表达式>}[,…n][WHERE<条件表达式>]其中,在满足WHERE子句条件的行中,将SET子句指定的各列的列值设置为SET指定的新值,如果省略WHERE子句,则更新所有行的指定列值。

Oracle数据库教程(第3版•微课视频版)274.6使用PL/SQL语句操作表数据1.修改指定记录修改指定记录需要通过WHERE子句指定要修改的记录满足的条件。【例4.11】在course表中,将数据结构的学分修改为4分。UPDATEcourseSETcredit=4WHEREcname='数据结构';2.修改全部记录修改全部记录可不指定WHERE子句。【例4.12】在student表中,将所有学生的学分增加2分。UPDATEstudentSETtc=tc+2;

Oracle数据库教程(第3版•微课视频版)284.6使用PL/SQL语句操作表数据4.6.3使用PL/SQL语句删除记录删除记录可以使用DELETE语句或TRANCATE语句。1.使用DELETE语句删除记录DELETE语句用于删除表中的一行或多行记录,它的基本语法格式如下:语法格式:DELETEFROM<表名>[WHERE<条件表达式>]该语句的功能为从指定的表或中删除满足WHERE子句条件行,若省略WHERE子句,则删除所有行。

Oracle数据库教程(第3版•微课视频版)294.6使用PL/SQL语句操作表数据【例4.13】在student1表中,删除学号为224004的行。DELETEFROMstudent1WHEREsid='224004';【例4.14】在student1表中,删除全部记录。DELETEFROMstudent1;

Oracle数据库教程(第3版•微课视频版)304.6使用PL/SQL语句操作表数据2.使用TRANCATE语句删除全部记录当需要删除一个表里的全部记录,使用TRUNCATETABLE语句,它可以释放表的存储空间,但此操作不可回退,其语法格式如下:语法格式:TRUNCATETABLE<表名>【例4.15】使用TRUNCATE语句,删除student表全部记录。TRUNCATETABLEstudent;

Oracle数据库教程(第3版•微课视频版)314.7使用图形界面方式操作表数据4.7.1使用图形界面方式插入记录【例4.16】插入stsystem数据库中student表的有关记录。(1)启动SQLDeveloper,在”连接”节点下打开数据库连接st_test,展开“表”节点,单击表student,在右边窗口中选择”数据”选项卡。(2)在此窗口中,单击”插入行”按钮,表中将增加一个新行,如图4.6所示,可在各个字段输入或编辑有关数据。

Oracle数据库教程(第3版•微课视频版)324.7使用图形界面方式操作表数据输入完一行后,单击”提交”按钮,将数据保存到数据库中,如果保存成功,会在下面的”DataEditor-日志”窗口显示提交成功的信息,如果保存错误,会在该窗口显示错误信息。提交完毕,再单击”插入行”按钮,输入下一行,直至student表的6个记录输入和保存完毕,如图4.7所示。

Oracle数据库教程(第3版•微课视频版)334.7使用图形界面方式操作表数据4.7.2使用图形界面方式修改记录【例4.17】修改stsystem数据库中student表的有关记录。(1)启动SQLDeveloper,在”连接”节点下打开数据库连接st_test,展开“表”节点,单击表student,在右边窗口中选择”数据”选项卡。(2)在student表中,找到要修改的行,这里对4行tc列进行修改,选择第4行tc列,将数据修改为50,此时,在第4行的行号前出现一个*号,如图4.8所示,单击”提交”按钮,将修改后的数据保存到数据库中。

Oracle数据库教程(第3版•微课视频版)344.7使用图形界面方式操作表数据4.7.3使用图形界面方式删除记录【例4.18】删除stsystem数据库中student表的第5条记录。(1)启动SQLDeveloper,在”连接”节点下打开数据库连接st_test,展开“表”节点,单击表student,在右边窗口中选择”数据”选项卡。(2)在student表中,找到要删除的行,这里对第5行进行删除,选择第5行,单击”删除”按钮,此时,在第5行的行号前出现一个-号,如图4.9所示,删除后单击”提交”按钮保存。

Oracle数据库教程(第3版•微课视频版)354.8分区表4.8.1分区的概念和方法1.分区概念分区是将一个表分成若干个独立的组成部分进行存储和管理,每一个相对小的、可以独立管理的部分,称为原来表的分区。表分区后,可以对表的分区进行独立的存取和控制,每个分区都具有相同的逻辑属性,但物理属性可以不同。对表进行分区优点如下:

减少维护工作量。

●增强数据库的可用性、安全性。

提高查询速度。

简化数据的管理。

●分区对用户透明性。

Oracle数据库教程(第3版•微课视频版)364.8分区表2.分区方法(1)范围分区:依据分区列值的范围对表进行分区,范围分区是最常用的分区方法,特别适合依据日期进行分区。(2)散列分区:采用基于分区列值的HASH算法,将数据均匀分布到指定的分区中,散列分区又名HASH分区。一个记录到底分布到哪个分区,由系统自动根据当前列值计算出的HASH函数值决定。(3)列表分区:当分区列的取值是一个包含少数值的集合,可以采用对表进行列表分区。(4)组合分区:结合两种基本分区方法,首先采用一个分区方法对表或索引进行分区,然后再采用另一个分区方法将分区再分成若干个子分区。(5)时间间隔分区:它是范围分区功能的增强,随着数据的增加会自动创建新的分区。

Oracle数据库教程(第3版•微课视频版)374.8分区表4.8.2范围分区语法格式:CREATETABLEtable(…)PARTITIONBYRANGE(column1[,column2,…])(PARTITIONpartition1VALUESLESSTHAN(literal|MAXVALUE)[TABLESPACEtablespace][,PARTITIONpartition2VALUESLESSTHAN(literal|MAXVALUE)[TABLESPACEtablespace],…])…

Oracle数据库教程(第3版•微课视频版)384.8分区表说明:

PARTITIONBYRANGE:采用范围分区方法。

●column:分区列,可以是单列分区,也可以是多列分区。

PARTITIONpartition1:设置分区名称。

●VALUESLESSTHAN:设置分区列值的上界。

TABLESPACE:设置分区对应的表空间。启动SQL*Plus,在提示符SQL>后,即可输入以下例题代码,回车执行后,在SQL*Plus窗口中,出现运行结果。【例4.19】创建一个范围分区表,将学生表按照其出生日期进行分区,将2002年1月1日前出生的学生记录保存在testspace1表空间中,将2002年1月1日到2003年1月1日出生的学生记录保存在testspace2表空间中,将其他学生记录保存在testspace3表空间中。代码和运行结果如下。

Oracle数据库教程(第3版•微课视频版)394.8分区表SQL>CREATETABLEstudent_range2(3sidchar(6)NOTNULLPRIMARYKEY,4snamechar(12)NOTNULL,5ssexchar(3)NOTNULL,6sbirthdaydateNOTNULL,7specialitychar(12)NULL,8tcnumberNULL9)10PARTITIONBYRANGE(sbirthday)11(12PARTITIONpr1VALUESLESSTHAN(TO_DATE('2002-1-1','YYYY-MM-DD'))TABLESPACEtestspace1,13PARTITIONpr2VALUESLESSTHAN(TO_DATE('2003-1-1','YYYY-MM-DD'))TABLESPACEtestspace2,14PARTITIONpr3VALUESLESSTHAN(MAXVALUE)TABLESPACEtestspace315);表已创建。

Oracle数据库教程(第3版•微课视频版)404.8分区表【例4.20】向表student_range插入2条记录。代码和运行结果如下。SQL>INSERTINTOstudent_rangeVALUES('221001','何德明','男',TO_DATE('20010716','YYYYMMDD'),'计算机',52);已创建1行。SQL>INSERTINTOstudent_rangeVALUES('224002','许月琴','女',TO_DATE('20020623','YYYYMMDD'),'通信',48);已创建1行。

Oracle数据库教程(第3版•微课视频版)414.8分区表【例4.21】查询表student_range分区pr1和pr2中的记录。(1)查询分区pr1中的记录。代码和运行结果如下。SQL>SELECT*FROMstudent_rangePARTITION(pr1);SIDSNAMESSEXSBIRTHDAYSPECIALITYTC----------------------------------------------------------------------------------221001何德明男2001-07-16计算机52(2)查询分区pr2中的记录。代码和运行结果如下。SQL>SELECT*FROMstudent_rangePARTITION(pr2);SIDSNAMESSEXSBIRTHDAYSPECIALITYTC----------------------------------------------------------------------------------224002许月琴女2002-06-23通信48

Oracle数据库教程(第3版•微课视频版)424.8分区表4.8.3散列分区语法格式:CREATETABLEtable(…)PARTITIONBYHASH(column1[,column2,…])[(PARTITIONpartition[TABLESPACEtablespace][,…])]|[PARTITIONShash_partition_quantitySTOREIN(tablespace1[,…])]

Oracle数据库教程(第3版•微课视频版)434.8分区表【例4.22】创建一个散列分区表,按照学号将学生信息均匀分布到testspace1和testspace2两个表空间中。代码和运行结果如下。SQL>CREATETABLEstudent_hash2(3sidchar(6)NOTNULLPRIMARYKEY,4snamechar(12)NOTNULL,5ssexchar(3)NOTNULL,6sbirthdaydateNOTNULL,7specialitychar(12)NULL,8tcnumberNULL9)10PARTITIONBYHASH(sid)11(12PARTITIONph1TABLESPACEtestspace1,13PARTITIONph2TABLESPACEtestspace214);表已创建。

Oracle数据库教程(第3版•微课视频版)444.8分区表【例4.23】向表student_hash插入4条记录。代码和运行结果如下。SQL>INSERTINTOstudent_hashVALUES('221001','何德明','男',TO_DATE('20010716','YYYYMMDD'),'计算机',52);已创建1行。SQL>INSERTINTOstudent_hashVALUES('221002','王丽','女',TO_DATE('20020921','YYYYMMDD'),'计算机',50);已创建1行。SQL>INSERTINTOstudent_hashVALUES('224002','许月琴','女',TO_DATE('20020623','YYYYMMDD'),'通信',48);已创建1行。SQL>INSERTINTOstudent_hashVALUES('224003','孙俊松','男',TO_DATE('20011007','YYYYMMDD'),'通信',50);已创建1行。

Oracle数据库教程(第3版•微课视频版)454.8分区表【例4.24】查询表student_hash分区ph1和ph2中的记录。(1)查询分区ph1中的记录。代码和运行结果如下。SQL>SELECT*FROMstudent_hashPARTITION(ph1);SIDSNAMESSEXSBIRTHDAYSPECIALITYTC----------------------------------------------------------------------------------221002王丽女2002-09-21计算机50224002

许月琴女2002-06-23

通信48(2)查询分区ph2中的记录。代码和运行结果如下。SQL>SELECT*FROMstudent_hashPARTITION(ph2);SIDSNAMESSEXSBIRTHDAYSPECIALITYTC----------------------------------------------------------------------------------221001何德明男2001-07-16

计算机52224003

孙俊松

2001-10-07

通信

50

Oracle数据库教程(第3版•微课视频版)464.8分区表4.8.4列表分区语法格式:CREATETABLEtable(…)PARTITIONBYLIST(column)(PARTITIONpartition1VALUES([literal|NULL]|[DEFAULT])[TABLESPACEtablespace][,PARTITIONpartition2VALUES([literal|NULL]|[DEFAULT])[TABLESPACEtablespace],…])…【例4.25】创建一个列表分区表,将学生信息按性别不同进行分区,男学生信息保存在表空间TESTSPACE1中,而女学生信息保存在TESTSPACE2中。

Oracle数据库教程(第3版•微课视频版)474.8分区表代码和运行结果如下。SQL>CREATETABLEstudent_list2(3sidchar(6)NOTNULLPRIMARYKEY,4snamechar(12)NOTNULL,5ssexchar(3)NOTNULLCHECK(ssexIN('男','女')),6sbirthdaydateNOTNULL,7specialitychar(12)NULL,8tcnumberNULL9)10PARTITIONBYLIST(ssex)11(12PARTITIONpl1VALUES('男')TABLESPACEtestspace1,13PARTITIONpl2VALUES('女')TABLESPACEtestspace214);表已创建。

Oracle数据库教程(第3版•微课视频版)484.8分区表【例4.26】向表student_list插入2条记录。代码和运行结果如下。SQL>INSERTINTOstudent_listVALUES('221004','田桂芳','女',TO_DATE('20021205','YYYYMMDD'),'计算机',52);已创建1行。SQL>INSERTINTOstudent_listVALUES('224001','周思远','男',TO_DATE('20010318','YYYYMMDD'),'通信',52);已创建1行。

Oracle数据库教程(第3版•微课视频版)494.8分区表【例4.27】查询表student_range分区pl1和pl2中的记录。(1)查询分区pl1中的记录。代码和运行结果如下。SQL>SELECT*FROMstudent_listPARTITION(pl1);SIDSNAMESSEXSBIRTHDAYSPECIALITYTC----------------------------------------------------------------------------------224001周思远男2001-03-18通信52(2)查询分区pl2中的记录。代码和运行结果如下。SQL>SELECT*FROMstudent_listPARTITION(pl2);SIDSNAMESSEXSBIRTHDAYSPECIALITYTC----------------------------------------------------------------------------------221004田桂芳女2002-12-05

计算机52

Oracle数据库教程(第3版•微课视频版)504.8分区表4.8.5组合分区组合分区有:范围-列表组合分区、范围-散列组合分区、范围-范围组合分区、列表-范围组合分区、列表-散列组合分区、列表-列表组合分区等。创建组合分区时需要指定:分区方法(PARTITIONBYRANGE)、分区列、子分区方法(SUBPARTITIONBYHASH,SUBPARTITIONBYLIST)、子分区列、每个分区中子分区数量或子分区的描述等。【例4.28】创建一个范围-列表组合分区表,将2002年1月1日前出生的计算机专业和通信专业学生信息分别保存在TESTSPACE1和TESTSPACE2表空间中,2002年1月1日到2003年1月1日出生的计算机专业和通信专业学生信息分别保存在TESTSPACE3和TESTSPACE4表空间中,其他学生信息保存在TESTSPACE5表空间中。代码和运行结果如下。

Oracle数据库教程(第3版•微课视频版)514.8分区表SQL>CREATETABLEstudent_range_list2(3sidchar(6)NOTNULLPRIMARYKE

温馨提示

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

评论

0/150

提交评论