资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Oracle 10g,基础课程,Oracle,大学,第一讲:创建和管理表,通过本节课程,同学们应当有以下收获:,了解各种数据类型。(识记、理解、应用),学会创建表。(识记、理解、应用),理解数据字典的用途,(,理解、应用,),修改表的定义。(识记、应用),删除,重命名表、给表和列添加注释。(识记、应用),1.1,命名规则,表名和列名,:,必须以字母开头,必须在,130,个字符之间,必须只能包含,AZ,az,09,_,$,和,#,必须不能和用户定义的其他对象重名,必须不能是,Oracle,的保留字,1.2,数据类型,数据类型,数据类型,说明,VARCHAR2(n),长度可变的字符数据,其中,n,表示这个列的最大长度。最大大小是,4000,个字节数据。这种数据类型没有默认大小,必须指定一个最大值。例子:,VARCHAR2(9),最多可包含,9,个字母、数字或符号,CHAR(n),长度固定的字符列,其中,n,表示列的长度。默认大小是,1,。最大大小,2000,个字节数据。例子,:CHAR(9),可以包含,9,个字母、数字或符号。但是,如果输入的字符少于,9,个,则会向右边添加空格,使数据达到,9,个,NUMBER(p,s),数字列,其中,p,表示精确度,(,或小数点右边和左边的总位数,),,最大值是,38,位。,S,表示小数点右边的位数。例子:,NUMBER(7,2),最多可以存储数值,99999.99,。如果没有指定精确度或小数位,那么该列将默认为,38,位,1.2,数据类型,(,续,),数据类型,数据类型,说明,DATE,存储公元前,4712,年,1,月,1,日与公元,9999,年,12,月,31,日之间的日期和时间。为这个列分配了,7,个字节来存储日期的世纪、年、月、日、小时、分和秒。,Oracle 10g,以,DD-MON-YY,格式显示日期。,LONG,存储最多,2GB,的长度可变的字符数据,CLOB,用于存储最多,4GB,的单字节字符数据,ROWID,行地址、它是数据表中每行数据内在的唯一的标识,TIMESTAMP,对,DATE,数据类型的扩展、精确到十亿分之一秒,INTERVAL YEAR TO MONTH,存放时间间隔、若干年月,INTERVAL DAY TO SECOND,存放时间间隔、若干天到秒,1.3,CREATE TABLE,语句,必须具备,:,CREATE TABLE,权限,存储空间,必须指定,:,表名,列名,数据类型,尺寸,CREATE TABLE,table,(,column,datatype,);,1.4,创建表,语法,确认,CREATE TABLE dept(deptno NUMBER(2),dname VARCHAR2(14),loc VARCHAR2(13);,Table created.,DESCRIBE dept,1.5,书写,SQL,语句的注意点,SQL,语言大小写不敏感。,SQL,可以写在一行或者多行,关键字不能被缩写也不能分行,各子句一般要分行写,使用缩进提高语句的可读性,1.6 Oracle,数据库中的表,用户定义的表,数据字典,Oracle,服务器,1.7 Oracle,数据库中的表,(,续,),用户定义的表,:,用户自己创建并维护的一组表,包含了用户所需的信息,数据字典,:,由,Oracle Server(DBMS),自动创建的一组表,包含数据库信息,1.8,查询数据字典,SELECT table_name,FROM user_tables;,SELECT DISTINCT object_type,FROM user_objects;,查看用户定义的各种数据库对象,查看用户定义的表,1.9,使用子查询创建表,*,创建表的时候用,AS,subquery,选项,将创建表和插入数据结合起来,指定的列和子查询中的列要一一对应,CREATE TABLE,table,(,column,column,.),AS,subquery;,1.10,追加一个新列,DEPT80,追加一个新列,DEPT80,新列,1.11,追加一个新列,(,续,),使用,ADD,子句追加一个新列,新列是表中的最后一列,ALTER TABLE dept80,ADD (job_id VARCHAR2(9);,Table altered.,1.12,修改和删除列,可以修改列的数据类型,尺寸,和默认值,ALTER TABLEdept80,MODIFY(last_name VARCHAR2(30);,Table altered.,使用,DROP COLUMN,子句删除不再需要的列,ALTER TABLE dept80,DROP COLUMN job_id;,Table altered.,1.13 ALTER TABLE,语法总结,使用,ALTER TABLE,语句追加,修改,或删除列的语法,.,ALTER TABLE,table,ADD (,column datatype,column datatype,.);,ALTER TABLE,table,MODIFY (,column datatype,column datatype,.);,ALTER TABLE,table,DROPCOLUMN(,column,);,1.14,删除表,数据和结构都被删除,所有正在运行的相关事务被提交,所有相关索引被删除,DROP TABLE,语句不能回滚,DROP TABLE dept80;,Table dropped.,从,oracle10g,开始,删除的表可以被恢复,恢复被删除的表:,flashback table,表,to before drop;,1.15,重命名表名和列名,执行,RENAME,语句改变表的名称,RENAME dept TO detail_dept;,Table renamed.,修改列名,alter table,表名,rename column,列名,to,新列名,;,1.16,表的注释,使用,COMMENT,语句给表添加注释,使用,COMMENT,语句给列添加注释,可以查询数据字典查看表和列的注释,COMMENT ON TABLE employees,IS Employee Information;,Comment created.,select*from user_tab_comments;,select*from USER_COL_COMMENTS;,comment on column,employees.employee_id is,员工编号,;,Comment created.,总结,语句描述,CREATE TABLE,创建表,ALTER TABLE,修改表结构,DROP TABLE,删除表,RENAME,重命名表,COMMENT,给表或列加注释,通过本章学习,你已经学会如何使用,DDL,语句创建,修改,删除,和重命名表,.,
展开阅读全文