-

- 加为好友
- 发送私信
- 在线聊天
|
| 发表于:2008-11-09 20:02:2620楼 得分:50 |
一些基本语句 1)创建表的语法 create table 表名 (列名 数据类型(宽度) [default 表达式][column constraint], [table constraint] [table_partition_clause] ); 1.1)创建图书和出版社表 create table 出版社 (编号 varchar2(2), 出版社名称 varchar2(30), 地址 varchar2(30), 联系电话 varchar2(20) ); create table 图书 (图书编号 varchar2(5), 图书名称 varchar2(30), 出版社名称 varchar2(2), 作者 varchar2(10), 出版日期 date, 数量 number(3), 单价 number(7,2) ); Describe 图书; 2)通过子查询创建表 create table 表名(列名...) as sql 查询语句; 2.1)通过子查询创建新的图书表 create table 图书1 as select *from 图书; create table 图书2(书名,单价) as select 图书名称,单价 from 图书; create table 图书3(书名,单价) as select 图书名称,单价 from 图书 where 1=2; 3)设置列的默认值 3.1)创建表时设置默认值 create table 图书4 (图书编号 varchar2(5) default null, 图书名称 varchar2(30) default'未知', 出版社编号 varchar2(2) default null, 出版社日期 date default '01-1月-1900', 作者 varchar2(10) default null, 数量 number(3) default 0, 单价 number (7,2) default null, 借书数量 number(3) default 0 ); insert into 图书4(图书编号) values ('A001'); select *from 图书4; 4)删除已创建的表 drop table 表名[cascade constraints]; 4.1) 删除“图书1”表 drop table 图书1; 4.1.2 表的操作 1)表的重命名 rename 旧表名 to 新表名; rename 图书 to 图书5; 2)清空表 truncate table 图书4; 3)查看表 describe 表名; 训练7:显示当前用户的所有表 select object_name from user_objects where object_type=' table'; 4.2.2 表的约束 1)主键(primary key) [constrant 约束名] primary key ---列级 [constrant 约束名] primary key (列名1,列名2) ---表级 2)非空(not null) [constrant 约束名] not null ---列级 3)唯一(unique) [constrant 约束名] unique ---列级 [constrant 约束名] unique (列名1,列名2) ---表级 4)检查(check) [constrant 约束名] check(约束条件) ---列级,约束条件只包含本列 [constrant 约束名] check(约束条件) ---表级,约束条件中包含多列 5)外键(foreign key) [constrant 约束名] foreign key (列名1,列名2) references 表名 (列名1,列名2) On delete set null 4.2.3 约束条件的创建 create table 表名 (列名 数据类型 [default 表达式][column constraint], [table constraint] ); 训练1:创建带有约束条件的出版社表,若已存在,先删除 create table 出版社 (编号 varchar2(2) constraint pk_1 primary key, 出版社名称 varchar2(30) not null, 地址 varchar2(30) default '未知', 联系电话 varchar2(20) ); 训练2:创建带有约束条件(包括外键)的图书表(若存在,先删除): creat table 图书 (图书编号 varchar2(5) constraint pk_1 primary key, 图书名称 varchar2(30) not null, 出版编号 varchar2(2) check (length(出版社编号)=2) not null , 作者 varchar2(10) default '未知', 出版日期 date, 数量 number(3), 单价 number(7,2), constraint sy_1 unique(图书名称,作者), constraint fk_1 foreign key (出版社编号) references 出版社(编号) on delete cascade ); 训练3:插入数据,验证约束条件。 步骤1:插入出版社信息 insert into 出版社 values('01','清华大学出版社','北京','010-83456272'); insert into 出版社 values('01','电子科技大学出版社','西安','029-88201467'); insert into 出版社 values('02','电子科技大学出版社','西安','029-88201467'); 步骤2:出入图书信息 insert into 图书(图书编号,图书名称,出版社编号,作者,单价) values('A0001','计算机原理','01','刘勇',25.30); insert into 图书(图书编号,图书名称,出版社编号,作者,单价) values('A0002','C语言程序设计','03','马丽',18.75); insert into 图书(图书编号,图书名称,出版社编号,作者,单价) values('A0002','C语言程序设计','02','马丽',18.75); -- 继续插入: insert into 图书(图书编号,图书名称,出版社编号,作者,数量,单价) values('A0003','汇编语言程序设计','02','黄明海',0,20.18); insert into 图书(图书编号,图书名称,出版社编号,作者,数量,单价) values('A0003','汇编语言程序设计','02','黄明海',15,20.18); --步骤3:显示插入结果: select * from 出版社; --继续查询: select * from 图书; --步骤4:提交插入的数据: commit; 训练4:通过删除数据验证ON DELETE CASCADE的作用。 --步骤1:删除出版社01(清华大学) delete from 出版社 where 编号='01'; --步骤2:显示删除结果,显示出版社表结果: select * from 出版社; --显示图书表结果: select * from 图书; --步骤3:恢 | |