《《创建和管理表》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《创建和管理表》PPT课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、创建和管理表,目标,通过本章学习,您将可以:描述主要的数据库对象。创建表。描述各种数据类型。修改表的定义。删除,重命名和清空表。,常见的数据库对象,对象描述表 基本的数据存储集合,由行和列组成。视图从表中抽出的逻辑上相关的数据集合。序列 提供有规律的数值。索引提高查询的效率同义词 给对象起别名,命名规则,表名和列名:必须以字母开头必须在 130 个字符之间必须只能包含 AZ,az,09,_,$,和#必须不能和用户定义的其他对象重名必须 不能是Oracle 的保留字,CREATE TABLE 语句,必须具备:CREATE TABLE权限存储空间必须指定:表名列名,数据类型,尺寸,CREATE T
2、ABLE schema.table(column datatype DEFAULT expr,.);,引用其他用户的表,其他用户定义的表不在当前用户的方案中应该使用用户名座位前缀,引用其他用户定义的对象,DEFAULT 选项,插入时为一个列指定默认值字符串,表达式,或SQL 函数都是合法的其它列的列名和伪列是非法的默认值必须满足列的数据类型定义,.hire_date DATE DEFAULT SYSDATE,.,语法确认,创建表,DESCRIBE dept,Oracle 数据库中的表,用户定义的表:用户自己创建并维护的一组表包含了用户所需的信息数据字典:由Oracle Server自动创建的一
3、组表包含数据库信息,SELECT table_name FROM user_tables;,SELECT*FROM user_catalog;,查询数据字典,查看用户定义的各种数据库对象,查看用户定义的表,视图,同义词和序列,SELECT DISTINCT object_type FROM user_objects;,查看用户定义的表.,数据类型,数据类型描述VARCHAR2(size)可变长字符数据CHAR(size)定长字符数据NUMBER(p,s)可变长数值数据DATE 日期型数据LONG 可变长字符数据,最大可达到2GCLOB字符数据,最大可达到4GRAW and LONG RAW 裸
4、二进制数据BLOB二进制数据,最大可达到4GBFILE存储外部文件的二进制数据,最大可达到4GROWID行地址,日期数据类型,数据类型 描述TIMESTAMP时间撮INTERVAL YEAR TO MONTH若干年月INTERVAL DAY TO SECOND若干天到秒,Oracle9i对日期的改进:加入了新的日期型数据类型.有效的存储新数据类型.提高对时区和本地时区的支持.,日期数据类型,TIMESTAMP 数据类型是对 DATE 数据类型的扩展按DATE数据类型存放 年,月,日,小时,分钟,秒 以及微秒甚至纳秒TIMESTAMP 数据类型的一般形式:,TIMESTAMP(fractiona
5、l_seconds_precision),TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH TIME ZONE 是一个带有时区的 TIMESTAMP 时区部分按照小时和分钟显示本地时区与UTC的时差,TIMESTAMP(fractional_seconds_precision)WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME,TIMESTAMP WITH LOCAL TIME ZONE 是一种带有本地时区的 TIMESTAMP 数据库按照数据库的本地时区存放数据时区不显示在数据后面,Oracle 自动将数据转换为用户所在的时区TIM
6、ESTAMP WITH LOCAL TIME ZONE 的一般形式,TIMESTAMP(fractional_seconds_precision)WITH LOCAL TIME ZONE,INTERVAL YEAR TO MONTH 数据,INTERVAL YEAR TO MONTH 存放若干年和若干月的一个时间段。,INTERVAL YEAR(year_precision)TO MONTH,INTERVAL 123-2 YEAR(3)TO MONTHIndicates an interval of 123 years,2 months.INTERVAL 123 YEAR(3)Indicate
7、s an interval of 123 years 0 months.INTERVAL 300 MONTH(3)Indicates an interval of 300 months.INTERVAL 123 YEARReturns an error,because the default precision is 2,and 123 has 3 digits.,INTERVAL DAY TO SECOND 数据,INTERVAL DAY TO SECOND 存放若干天到若干秒的一个时间段,INTERVAL DAY(day_precision)TO SECOND(fractional_sec
8、onds_precision),INTERVAL 4 5:12:10.222 DAY TO SECOND(3)Indicates 4 days,5 hours,12 minutes,10 seconds,and 222 thousandths of a second.INTERVAL 123 YEAR(3).INTERVAL 7 DAYIndicates 7 days.INTERVAL 180 DAY(3)Indicates 180 days.,INTERVAL DAY TO SECOND 数据,INTERVAL DAY TO SECOND存放若干天到若干秒的一个时间段,INTERVAL 4
9、5:12:10.222 DAY TO SECOND(3)Indicates 4 days,5 hours,12 minutes,10 seconds,and 222 thousandths of a second.INTERVAL 4 5:12 DAY TO MINUTEIndicates 4 days,5 hours and 12 minutes.INTERVAL 400 5 DAY(3)TO HOURIndicates 400 days 5 hours.INTERVAL 11:12:10.2222222 HOUR TO SECOND(7)indicates 11 hours,12 minu
10、tes,and 10.2222222 seconds.,使用子查询创建表,时候用 AS subquery 选项,将创建表和插入数据结合起来指定的列和子查询中的列要一一对应通过列名和默认值定义列,CREATE TABLE table(column,column.)AS subquery;,使用子查询创建表举例,DESCRIBE dept80,CREATE TABLE dept80 AS SELECT employee_id,last_name,salary*12 ANNSAL,hire_date FROM employees WHERE department_id=80;Table create
11、d.,ALTER TABLE 语句,使用 ALTER TABLE 语句可以:追加新的列修改现有的列为新追加的列定义默认值删除一个列,ALTER TABLE 语句,使用 ALTER TABLE 语句追加,修改,或删除列的语法.,ALTER TABLE tableADD(column datatype DEFAULT expr,column datatype.);,ALTER TABLE tableMODIFY(column datatype DEFAULT expr,column datatype.);,ALTER TABLE tableDROP(column);,追加一个新列,DEPT80,追
12、加一个新列,DEPT80,新列,追加一个新列,使用 ADD 子句追加一个新列新列是表中的最后一列,ALTER TABLE dept80ADD(job_id VARCHAR2(9);Table altered.,修改一个列,可以修改列的数据类型,尺寸,和默认值对默认值的修改只影响今后对表的修改,删除一个列,使用 DROP COLUMN 子句删除不再需要的列.,ALTER TABLE tableSET UNUSED(column);ALTER TABLE tableSET UNUSED COLUMN column;,SET UNUSED 选项,使用 SET UNUSED 使一个或多个列被标记为不可
13、用使用 DROP UNUSED COLUMNS 选项删除不可用的列,OR,ALTER TABLE tableDROP UNUSED COLUMNS;,删除表,数据和结构都被删除所有正在运行的相关事物被提交所有相关索引被删除DROP TABLE 语句不能回滚,DROP TABLE dept80;Table dropped.,改变对象的名称,执行RENAME语句改变表,视图,序列,或同义词的名称必须是对象的拥有者,RENAME dept TO detail_dept;Table renamed.,清空表,TRUNCATE TABLE 语句:删除表中所有的数据释放表的存储空间TRUNCATE语句不能
14、回滚可以使用 DELETE 语句删除数据,TRUNCATE TABLE detail_dept;Table truncated.,表的注释,使用COMMENT 语句给表或列添加注释可以通过下列数据字典视图查看所添加的注释:ALL_COL_COMMENTSUSER_COL_COMMENTSALL_TAB_COMMENTSUSER_TAB_COMMENTS,COMMENT ON TABLE employeesIS Employee Information;Comment created.,总结,语句描述CREATE TABLE 创建表ALTER TABLE 修改表结构 DROP TABLE 删除表RENAME 重命名表TRUNCATE 删除表中的所有数据,并释放存储空间COMMENT 给对象加注释,通过本章学习,您已经学会如何使用DDL语句创建,修改,删除,和重命名表.,