数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象
用于操纵表结构的数据定义语言命令有:
CREATE TABLE 创建新的数据表
ALTER TABLE 修改表,包括增加列、修改列的属性和删除列
DROP TABLE 删除表及表中存储的数据
TRUNCATE TABLE 删除了指定表中所有行,但表的结构及其列、约束、索引等保持不变。
创建表示例:
用企业管理控制台方式创建表
命令行方式创建表
CREATE TABLE [ schema.]table_name
(column_name datatype [DEFAULT expression][column_constraint],…n)
[PCTFREE integer]
[PCTUSED integer]
[INITRANS integer]
[MAXTRANS integer]
[TABLESPACE tablespace_name]
[STORAGE storage_clause]
[CLUSTER cluster_name(cluster_column,…n)]
[AS subquery];
创建表创建教师表teacher。
SQL > CREATE TABLE teacher
( t_no char (6) PRIMARY KEY ,
t_name char(8) NOT NULL,
t_sex char(2) CHECK(t_sex IN ('男','女')),
t_birthday DATE,
tech_title char(10))
TABLESPACE users
PCTFREE 10
PCTUSED 60
INITRANS 2 MAXTRANS 255
STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS 20
PCTINCREASE 50);
查看表DESC命令查看表
例:查看teacher表的方案、表空间、存储参数、块空间管理参数等信息。
SQL > Select owner 方案名,tablespace_name 表空间,
pct_free 保留更新百分比,pct_used 插入空间阈值百分比,
initial_extent 第一个区大小,next_extent 下一个区大小,
min_extents 最小数量,max_extents 最大数量,
pct_increase 增量
FROM dba_tables
WHERE table_name='TEACHER';
例:SQL > DESC teacher;
修改表ALTER TABLE [schema.]table_name
[ADD(column_name datatype [DEFAULT expression][column_constraint],…n)]
[MODIFY ([datatype][DEFAULT expression] [column_constraint],…n)];
[STORAGE storage_clause]
[DROP drop_clause]
例:向表teacher中添加age、salary、salary_add三个字段。
SQL > ALTER TABLE teacher
ADD (age number(2),salary number(3), salary_add number(2));
例:从表teacher中删除一个字段age。
SQL > ALTER TABLE teacher DROP COLUMN age;
例:从表teacher中删除两个字段salary、salary_add 。
SQL > ALTER TABLE teacher DROP (salary,salary_add)
DESC teacher;
注意:删除一个字段和删除多个字段的命令格式不同。
例:修改表teacher字段。
SQL > ALTER TABLE teacher
MODIFY (t_name char(10),tech_title DEFAULT '讲师')
删除表例:
DROP TABLE [schema.] table_name;
数据库块介绍
数据库块组成块空间利用情况参数块空间的使用PCTFREE和PCTUSED的设置PCTFREE的计算:(平均行大小 - 初始行大小) * 100/平均行大小
PCTUSED的计算:100 - PCTFREE - 平均行大小 * 100/可用数据空间
声明:该教程仅适用于教学教程大纲
本教程电子下载:
Oracle学习情境3:雇员信息录入修改查询s