Oracle公司内部数据库培训资料-Les09-chinese_第1页
Oracle公司内部数据库培训资料-Les09-chinese_第2页
Oracle公司内部数据库培训资料-Les09-chinese_第3页
Oracle公司内部数据库培训资料-Les09-chinese_第4页
Oracle公司内部数据库培训资料-Les09-chinese_第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)]TIMESTAMP

WITH

TIME

ZONETIMESTAMPWITHTIMEZONE

是一个带有时区的TIMESTAMP

时区部分按照小时和分钟显示本地时区与UTC的时差TIMESTAMP[(fractional_seconds_precision)]WITHTIMEZONETIMESTAMP

WITH

LOCAL

TIMETIMESTAMP

WITH

LOCAL

TIMEZONE

是一种带有本地时区的TIMESTAMP

数据库按照数据库的本地时区存放数据时区不显示在数据后面,Oracle自动将数据转换为用户所在的时区TIMESTAMPWITHLOCALTIMEZONE

的一般形式TIMESTAMP[(fractional_seconds_precision)]WITHLOCALTIMEZONEINTERVAL

YEAR

TO

MONTH

数据INTERVAL

YEAR

TO

MONTH

存放若干年和若干月的一个时间段。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.INTERVAL

DAY

TO

SECOND

数据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.INTERVAL

DAY

TO

SECOND

数据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;使用子查询创建表举例DESCRIBEdept80CREATETABLE dept80AS

SELECTemployee_id,last_name,salary*12ANNSAL,hire_date

FROMemployees

WHEREdepartment_id=80;Tablecreated.ALTER

TABLE

语句使用ALTER

TABLE

语句可以:追加新的列修改现有的列为新追加的列定义默认值删除一个列ALTER

TABLE

语句使用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.ALTERTABLE tableSETUNUSED (column);

ALTERTABLEtableSETUNUSEDCOLUMNcolumn;SET

UNUSED

选项使用SETUNUSED

使一个或多个列被标记为不可用使用DROPUNUSEDCOLUMNS

选项删除不可用的列ORALTERTABLEtableDROPUNUSEDCOLUMNS;删除表数据和结构都被删除所有正在运行的相关事物被提交所有相关索引被删除DROPTABLE

语句不能回滚DROPTABLEdept80;Tabledropped.改变对象的名称执行RENAME语句改变表,视图,序列,或同义词的名称必须是对象的拥有者RENAMEdeptTOdetail_dept;Tablerenamed.清空表TRUNCATETABLE

语句:删除表中所有的数据释放表的存储空间TRUNCATE语句不能回滚可以使用DELETE

语句删除数据TRUNCATETABLEdetail_dept;Tabletruncated.表的注释使用COMMENT

语句给表或列添加注释可以通过下列数据字典视图查看所添加的注释:ALL_COL_COMMENTSUSER_COL_COMMENTSALL_TAB_COMMENTSUSER_TAB_COMMENTSCOMMENTONTABLEemployeesIS'EmployeeInformation';Commentcreated.总结语句 描述CREATETABLE

创建表ALTERTABLE

修改表结构DROPTABLE

删除表RENAME

重命名表TRUNCATE

删除表中的所有数据,并释放存储空间COMMENT

给对象加注释通过本章学习,您已经学会如何使用DDL语句创建,修改,删除,和重命名表.9、春去春又回,新桃换旧符。在那桃花盛开的地方,在这醉人芬芳的季节,愿你生活像春天一样阳光,心情像桃花一样美丽,日子像桃子一样甜蜜。4月-254月-25Thursday,April3,202510、人的志向通常和他们的能力成正比例。18:04:2018:04:2018:044/3/20256:04:20PM11、夫学须志也,才须学也,非学无以广才,非志无以成学。4月-2518:04:2018:04Apr-2503-Apr-2512、越是无能的人,越喜欢挑剔别人的错儿。18:04:2018:04:2018:04T

温馨提示

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

评论

0/150

提交评论