oracle 学习(二)

来源:互联网 发布:相关人工智能的书籍 编辑:程序博客网 时间:2024/04/28 17:30

学习笔记:

创建一个items表,设置ItemNo列为主键,ItemName列不能为空。

create table Items (ItemNo number(2) constraint PK_Items primary key,

ItemName varchar2(20) not null);

create table 创建表的关键字,位于开头,跟随着表名。

constraint 定义表中约束所必需的关键字,后面跟约束名。

primary key 主键约束的关键字。


删除数据库表

drop table items;

drop table 这是删除表的关键字,后面跟删除的表名;


创建带有外键的表

create table Business(BusiNo number(2) constraint PK_business primary key,

BusiName varchar2(32) not null,

ItemNo number(2) ,constraint FK_Business foreign key (ItemNo) references Items (ItemNo),

StartTime date);

foreign key ...references...这是创建表外键的关键字,并且该列需要和另外一个表的主键对应起来。

insert into Business (BusiNo,BusiName,ItemNo,StartTime) values(1,'Book',1,to_date('2008-08-08','YYYY-MM-DD'));

to_date是oracle的内部函数,可以把字符串转变成时间。


在表中设置列值的条件和唯一性。

create table Computers (CompNo number(4) constraint PK_Computers primary key,CompModel varchar2(64) unique,BuyTime date,Price number(7,2) constraint ch_price check(Price>0 and Price<=30000),Owner varchar2(32));

unique:唯一约束的关键字,表示该列的值具有唯一性。

constraint...check...条件约束关键字,插入、更改的数据需要符合这个条件才能提交到数据库中。

date 数据库中的表列数据类型,这里是时间类型,输入数据必须是时间格式。

number(7,2)这里的number为数字类型,表示只能是7位数,可以保持2位小数。


创建一个business表,并复制business表的数据

create table business_copy as select * from business;

as select * from business 就是把business表中的数据全部复制到新表business_copy中

注意:该语句只是创建了表和复制了表的数据,但并没有把表的约束复制过去。


把其他表的数据快速导入新表中

insert into business (busino,businame,itemno,starttime) select * from business_copy;

注意:两个表的列数据类型需要一致,并且列的顺序不能错。


给已存在的表添加字段

alter table items add (manager varchar2(6));


修改字段信息

alter table items modify (manager varchar2(8));


删除字段信息

alter table items drop manager;







0 0
原创粉丝点击