1、主键和外键
主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(注意是组,可以是一个,也可以是多个)能唯一标识一条记录,那么该属性组就是主键
外键:关系型数据库表中的一列或者某几列的组合,它的值与另外一张表的某一列或者某几列相匹配,且为另一张表的主键(即这张表的某一列或某几列是另外一张表的主键,称这一列或几列为另外一张表的外键)
注1:一张表主键只能有一个,可以有多个外键以及唯一索引
注2:Oracle数据库共有5个约束:主键、外键、非空、唯一、条件
非空:这个列的值不能为空(NOT NULL)
唯一:这个列的值在表中是唯一存在的,不能重复,但可以为空值(NULL)
条件:可以对列的值设定在某个范围内,如人的年龄就不能为负数等。
注3:主键和唯一约束的区别
表的主键是列的值为表中的唯一标识,不能为空值(NULL),而表的唯一约束是列的值在表中唯一存在,可以为空值(NULL)
2、表的创建及删除
无约束创建:
复制代码 代码如下:
create table Items(ItemNO number(2),ItemName varchar2(20));
删除:
复制代码 代码如下:
drop table Items;
有主键约束创建:
复制代码 代码如下:
create table Items(ItemNO number(2) constraint PK_Items primary key,ItemName varchar2(20) not null);
有外键约束创建:
[code]
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);
注:constraint:定义表中约束所必须的关键字
primary key:主键约束关键字
foreign key...references...:创建表的外键关键字
3、to_date:Oracle的一个内部函数,可以把字符串变成时间
复制代码 代码如下:
insert into Business(Busino,Businame,Itemno,Starttime)
values(4,'SuperMarket',2,to_date('2008-08-08','YYYY-MM-DD'));
4、创建有“唯一”和“条件”约束的表
复制代码 代码如下:
create table Computers(
CompNo number(4) constraint PK_Comp 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...:为条件约束的关键字
5、创建新表business_copy,并复制business表的数据
create table business_copy as select * from business;
注:create table:创建表的关键字
as select * from business:把business中的数据全部复制到business_copy中(不复制表的约束)
6、把备份表中的数据导入新表
复制代码 代码如下:
insert into business(busino,businame,itemno,starttime) select * from business_copy;
7、常用的字段数据类型
Number(p,s):数值类型,其中p最小值为1,最大值为38,s最小值为-84,最大值为124
Date:日期类型,用于记录时间
Char(size):定长字符串类型,知道规定的长度,可以节省很大空间,比如性别,F表示女,M表示男
varchar(size):可变长字符串类型
Blob(二进制大对象类型):用于存储二进制对象,比如照片、文档资料等
Clob(字符大对象类型):用于存储字节的大对象数据,比如简历之类
Bfile(二进制文件):存储大对象,比如电影胶片等
8、修改表结构
增加一个表字段
复制代码 代码如下:
alter table items add(manager VARCHAR2(6));
注:alter,这是Oracle数据库中更改数据库参数、表结构等均会使用到
add:这里是增加一个列的关键字
修改表的字段最大值
复制代码 代码如下:
alter table items modify(manager varchar2(8));
删除表的某一列
[code]
alter table items drop column manager;
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]