Oracle官方技术支持Les创建和管理表_第1页
Oracle官方技术支持Les创建和管理表_第2页
Oracle官方技术支持Les创建和管理表_第3页
Oracle官方技术支持Les创建和管理表_第4页
Oracle官方技术支持Les创建和管理表_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

创建和管理表目标通过本章学习,您将可以:

描述主要的数据库对象。创建表。描述各种数据类型。修改表的定义。删除,重命名和清空表。常见的数据库对象对象 描述表基本的数据存储集合,由行和列组成。视图 从表中抽出的逻辑上相关的数据集合。序列 提供有规律的数值。索引 提高查询的效率同义词 给对象起别名命名规则表名和列名:必须以字母开头必须在1–30个字符之间必须只能包含A–Z,a–z,0–9,_,$,和#必须不能和用户定义的其他对象重名必须不能是Oracle的保留字CREATETABLE

语句必须具备:CREATETABLE权限存储空间必须指定:表名列名,数据类型,尺寸CREATETABLE[schema.]table (column

datatype[DEFAULTexpr][,...]);引用其他用户的表其他用户定义的表不在当前用户的方案中应该使用用户名作为前缀,引用其他用户定义的对象DEFAULT

选项插入时为一个列指定默认值字符串,表达式,或SQL函数都是合法的其它列的列名和伪列是非法的默认值必须满足列的数据类型定义...hire_dateDATEDEFAULTSYSDATE,...

语法确认创建表

CREATETABLEdept

(deptno NUMBER(2), dname VARCHAR2(14), loc VARCHAR2(13));Tablecreated.

DESCRIBEdeptOracle数据库中的表用户定义的表:用户自己创建并维护的一组表包含了用户所需的信息数据字典:由OracleServer自动创建的一组表包含数据库信息

SELECTtable_nameFROM user_tables;SELECT *FROM user_catalog;查询数据字典查看用户定义的各种数据库对象查看用户定义的表,视图,同义词和序列SELECTDISTINCTobject_typeFROM user_objects;查看用户定义的表.数据据类类型型数据据类类型型描描述述VARCHAR2(size)可变变长长字字符符数数据据CHAR(size)定长长字字符符数数据据NUMBER(p,s)可变变长长数数值值数数据据DATE日期型数据据LONG可变长字符符数据,最最大可达到到2GCLOB字符数据,,最大可达达到4GRAWandLONGRAW裸二进制数数据BLOB二进制数据据,最大可可达到4GBFILE存储外部文文件的二进制数数据,最最大可达达到4GROWID行地址日期数据据类型数据类型型描描述述TIMESTAMP时间戳INTERVALYEARTOMONTH若干年月月INTERVALDAYTOSECOND若干天到秒Oracle9i对日期的改进进:加入了新的日日期型数据类类型.有效的存储新新数据类型.提高对时区和和本地时区的的支持.日期数据类型型TIMESTAMP数据类型是对对DATE数据类型的扩扩展按DATE数据类型存放放年,月,日,小时,分钟,秒以及微秒秒甚至纳秒TIMESTAMP数据类型的一一般形式:TIMESTAMP[(fractional_seconds_precision)]TIMESTAMPWITHTIMEZONETIMESTAMPWITHTIMEZONE是一个带有时时区的TIMESTAMP时区部分按照照小时和分钟钟显示本地时时区与UTC的时差TIMESTAMP[(fractional_seconds_precision)]WITHTIMEZONETIMESTAMPWITHLOCALTIMETIMESTAMPWITHLOCALTIMEZONE是一种带有本本地时区的TIMESTAMP数据库按照数数据库的本地地时区存放数数据时区不显示在在数据后面,,Oracle自动将数据转转换为用户所所在的时区TIMESTAMPWITHLOCALTIMEZONE的一般形式TIMESTAMP[(fractional_seconds_precision)]WITHLOCALTIMEZONEINTERVALYEARTOMONTH数据INTERVALYEARTOMONTH存放若干年和和若干月的一一个时间段。。INTERVALYEAR[(year_precision)]TOMONTHINTERVAL'123-2'YEAR(3)TOMONTHIndicatesanintervalof123years,2months.INTERVAL'123'YEAR(3)Indicatesanintervalof123years0months.INTERVAL'300'MONTH(3)Indicatesanintervalof300months.INTERVAL'123'YEARReturnsanerror,becausethedefaultprecisionis2,and'123'has3digits.INTERVALDAYTOSECOND数据INTERVALDAYTOSECOND存放若干天天到若干秒秒的一个时时间段INTERVALDAY[(day_precision)]TOSECOND[(fractional_seconds_precision)]INTERVAL'45:12:10.222'DAYTOSECOND(3)Indicates4days,5hours,12minutes,10seconds,and222thousandthsofasecond.INTERVAL'123'YEAR(3).INTERVAL'7'DAYIndicates7days.INTERVAL'180'DAY(3)Indicates180days.INTERVALDAYTOSECOND数据INTERVALDAYTOSECOND存放若干天天到若干秒秒的一个时时间段INTERVAL'45:12:10.222'DAYTOSECOND(3)Indicates4days,5hours,12minutes,10seconds,and222thousandthsofasecond.INTERVAL'45:12'DAYTOMINUTEIndicates4days,5hoursand12minutes.INTERVAL'4005'DAY(3)TOHOURIndicates400days5hours.INTERVAL'11:12:10.2222222'HOURTOSECOND(7)indicates11hours,12minutes,and10.2222222seconds.使用子查询询创建表时候用ASsubquery选项,将创创建表和插插入数据结结合起来指定的列和和子查询中中的列要一一一对应通过列名和和默认值定定义列CREATETABLEtable[(column,column...)]ASsubquery;使用子查询询创建表举举例DESCRIBEdept80CREATETABLEdept80ASSELECTemployee_id,last_name,salary*12ANNSAL,hire_dateFROMemployeesWHEREdepartment_id=80;Tablecreated.ALTERTABLE语句使用ALTERTABLE语句可以:追加新的列列修改现有的的列为新追加的的列定义默默认值删除一个列列ALTERTABLE语句使用ALTERTABLE语句追加,修改,或删除列的语语法.ALTERTABLEtableADD(columndatatype[DEFAULTexpr][,columndatatype]...);ALTERTABLEtableMODIFY(columndatatype[DEFAULTexpr][,columndatatype]...);ALTERTABLEtableDROP(column);追加加一一个个新新列列DEPT80追加加一一个个新新列列DEPT80新列列追加加一一个个新新列列使用用ADD子句句追追加加一一个个新新列列新列列是是表表中中的的最最后后一一列列ALTERTABLEdept80ADD(job_idVARCHAR2(9));Tablealtered.修改改一一个个列列可以以修修改改列列的的数数据据类类型型,尺寸寸,和默默认认值值对默默认认值值的的修修改改只只影影响响今今后后对对表表的的修修改改ALTERTABLE dept80MODIFY (last_nameVARCHAR2(30));Tablealtered.删除除一一个个列列使用用DROPCOLUMN子句删除除不再需需要的列列.ALTERTABLEdept80DROPCOLUMNjob_id;Tablealtered.ALTERTABLEtableSETUNUSED(column);ALTERTABLEtableSETUNUSEDCOLUMNcolumn;SETUNUSED选项使用SETUNUSED使一个或或多个列列被标记记为不可可用使用DROPUNUSEDCOLUMNS选项删除除不可用用的列ORALTERTABLEtableDROPUNUSEDCOLUMNS;删除表数据和结结构都被被删除所有正在在运行的的相关事事物被提提交所有相关关索引被被删除DROPTABLE语句不能能回滚DROPTABLEdept80;Tabledropped.改变对对象的的名称称执行RENAME语句必须是对象的拥有者RENAMEdeptTOdetail_dept;Tablerenamed.清空表TRUNCATETABLE语句:删除表中所有有的数据释放表的存储储空间TRUNCATE语句不能回滚滚可以使用DELETE语句删除数据据Tabletruncated.表的注释使用COMMENT语句给表或列列添加注释可以通过下列列数据字典视视图查看所添添加的注释:ALL_COL_COMMENTSUSER_COL_COMMENTSALL_TAB_COMMENTSUSER_TAB_COMM

温馨提示

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

评论

0/150

提交评论