设为首页 收藏本站
查看: 1165|回复: 0

[经验分享] Oracle培训(三十)——Oracle 11g 第九章知识点总结——创建和管理表

[复制链接]

尚未签到

发表于 2016-8-1 21:54:54 | 显示全部楼层 |阅读模式
Oracle培训(三十)——Oracle 11g 第九章知识点总结——创建和管理表



  
  知识点预览
  创建和管理表
  

  创建和管理表
  1.常见的数据库对象
  
  
   DSC0000.jpg
  

  
  2.命名规则
  表名和列名:
  a)必须以字母开头
  b)必须在 1–30 个字符之间
  c)必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
  d)必须不能和用户定义的其他对象重名
  e)必须不能是Oracle 的保留字
  

  3.CREATE TABLE 语句
  a)必须具备:
  i.CREATE TABLE权限
  ii.存储空间
  
  CREATE TABLE[schema.]table
   (column datatype [DEFAULT
expr][, ...]);

  
  b)必须指定:
  i.表名
  ii.列名,
数据类型, 尺寸

  

  4.引用其他用户的表
  a)其他用户定义的表不在当前用户的方案中
  b)应该使用用户名座位前缀,引用其他用户定义的对象
  

  5.DEFAULT 选项
  a)插入时为一个列指定默认值
  
  ... hire_dateDATE DEFAULT SYSDATE, ...

  
  b)字符串, 表达式, 或SQL 函数都是合法的
  c)其它列的列名和伪列是非法的
  d)默认值必须满足列的数据类型定义
  

  6.创建表
  a)语法
  
  

CREATE TABLEdept
(deptno   NUMBER(2),
dname    VARCHAR2(14),
loc VARCHAR2(13));


  Table created.
  b)确认
  DESCRIBE dept
  

  7.Oracle 数据库中的表
  a)用户定义的表:
  i.用户自己创建并维护的一组表
  ii.包含了用户所需的信息
  b)数据字典:
  i.由Oracle Server自动创建的一组表
  ii.包含数据库信息
  

  8.查询数据字典
  a)查看用户定义的表.
  
  

SELECTtable_name
FROM     user_tables ;


  b)查看用户定义的各种数据库对象
  


SELECT DISTINCTobject_type
FROM      user_objects ;


  c)查看用户定义的表, 视图, 同义词和序列
  
  

SELECT *
FROM     user_catalog ;


  9.数据类型
  

DSC0001.jpg



  
  10.日期数据类型
  a)Oracle9i对日期的改进:
  加入了新的日期型数据类型.
  有效的存储新数据类型.
  提高对时区和本地时区的支持.
  b)TIMESTAMP 数据类型是对 DATE 数据类型的扩展
  c)按DATE数据类型存放 年, 月, 日, 小时, 分钟, 秒 以及微秒甚至纳秒
  d)TIMESTAMP 数据类型的一般形式:
  
  TIMESTAMP[(fractional_seconds_precision)]
  

DSC0002.jpg



  11.TIMESTAMP WITH TIME ZONE
  a)TIMESTAMP WITH TIME ZONE 是一个带有时区的 TIMESTAMP

  b)时区部分按照小时和分钟显示本地时区与UTC的时差
  
  TIMESTAMP[(fractional_seconds_precision)]
  WITH TIMEZONE
  
  12.TIMESTAMP WITH LOCAL TIME
  a)TIMESTAMP WITH LOCAL TIME ZONE 是一种带有本地时区的 TIMESTAMP

  b)数据库按照数据库的本地时区存放数据
  c)时区不显示在数据后面, Oracle 自动将数据转换为用户所在的时区
  
  TIMESTAMP[(fractional_seconds_precision)]
  WITH LOCALTIME ZONE
  
  13.INTERVAL YEAR TO MONTH 数据
  
  INTERVAL YEAR TOMONTH 存放若干年和若干月的一个时间段。
  
  INTERVAL YEAR[(year_precision)] TO MONTH
  
  

INTERVAL '123-2'YEAR(3) TO MONTH
Indicates aninterval of 123 years, 2 months.
INTERVAL '123'YEAR(3)
Indicates aninterval of 123 years 0 months.
INTERVAL '300'MONTH(3)
Indicates aninterval of 300 months.
INTERVAL '123'YEAR
Returns anerror, because the default precision is 2,
and '123' has 3digits.


  14.INTERVAL DAY TO SECOND 数据
  
  INTERVAL DAY TO SECOND 存放若干天到若干秒的一个时间段
  
  INTERVAL DAY [(day_precision)]
  TO SECOND [(fractional_seconds_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' DAY
Indicates 7 days.
INTERVAL '180' DAY(3)
Indicates 180 days.
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 '4 5:12' DAY TO MINUTE
Indicates 4 days, 5 hours and 12 minutes.
INTERVAL '400 5' DAY(3) TO HOUR
Indicates 400 days 5 hours.
INTERVAL '11:12:10.2222222' HOUR TO SECOND(7)
indicates 11 hours, 12 minutes, and 10.2222222 seconds


.  15.使用子查询创建表
  a)有时候用 AS subquery 选项,将创建表和插入数据结合起来
  
  CREATE TABLE table
    [(column, column...)]
  AS subquery;
  
  b)指定的列和子查询中的列要一一对应
  c)通过列名和默认值定义列
  
  16.使用子查询创建表举例
  
  

CREATE TABLE    dept80
AS
SELECT  employee_id, last_name,
salary*12 ANNSAL,
hire_date
FROM    employees
WHERE   department_id = 80;


  Table created.
  
  DESCRIBE dept80
  

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

  18.ALTER TABLE 语句
  
  使用 ALTER TABLE 语句追加, 修改, 或删除列的语法.
  
  ALTER TABLE table
  ADD (column datatype [DEFAULT
expr]

   [, column datatype]...);
  
  ALTER TABLE table
  MODIFY  (columndatatype [DEFAULT
expr]

   [, column datatype]...);
  ALTER TABLE table
  DROP (column);
  
  19.追加一个新列
  
  使用 ADD 子句追加一个新列
  
  

ALTER TABLEdept80
ADD          (job_id VARCHAR2(9));


  Table altered.
  
  新列是表中的最后一列
  

  20.修改一个列
  a)可以修改列的数据类型, 尺寸, 和默认值
  
  

ALTER TABLE      dept80
MODIFY              (last_nameVARCHAR2(30));


  Table altered.
  
  b)对默认值的修改只影响今后对表的修改
  

  21.删除一个列
  
  使用 DROP COLUMN 子句删除不再需要的列.
  

ALTER TABLE  dept80
DROP COLUMN  job_id;


  Table altered.
  

  22.SET UNUSED 选项
  a)使用 SET UNUSED 使一个或多个列被标记为不可用
  b)使用 DROP UNUSED COLUMNS 选项删除不可用的列
  
  ALTER TABLE table
  SET UNUSED (column);
  OR
  ALTERTABLE table
  SET UNUSED COLUMN column;
  
  ALTER TABLE table
  DROP UNUSED COLUMNS;
  
  
  23.删除表
  a)数据和结构都被删除
  b)所有正在运行的相关事物被提交
  c)所有相关索引被删除
  d)DROP TABLE 语句不能回滚
  
  

DROP TABLE dept80;


  Table dropped.
  

  24.改变对象的名称
  a)改变对象的名称
  
  

RENAME dept TOdetail_dept;


  Table renamed.
  b)必须是对象的拥有者
  

  25.清空表
  a)TRUNCATE TABLE 语句:
  i.删除表中所有的数据
  ii.释放表的存储空间
  
  
  

TRUNCATE TABLE detail_dept;


  Table truncated.
  b)TRUNCATE语句不能回滚
  c)可以使用 DELETE 语句删除数据
  

  26.表的注释
  a)使用COMMENT 语句给表或列添加注释
  
  

COMMENT ON TABLEemployees
IS 'EmployeeInformation';


  Comment created.
  b)可以通过下列数据字典视图查看所添加的注释:
  i.ALL_COL_COMMENTS
  ii.USER_COL_COMMENTS
  iii.ALL_TAB_COMMENTS
  iv.USER_TAB_COMMENTS
  

  27.总结
  
DSC0003.jpg
  

  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251887-1-1.html 上篇帖子: ORACLE深入 第一章ORACLE DBA常用语句和脚本(1) 下篇帖子: Oracle时间日期操作 整理中。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表