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;

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

oracle用命令方式创建表,oracle创建表的方法和一些常用命令相关推荐

  1. oracle创建 number,oracle创建表的方法和一些常用命令

    1.主键和外键 主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(注意是组,可以是一个,也可以是多个)能唯一标识一条记录,那么该属性组就是主键 外键:关系型数据库表中的一列或者某几列 ...

  2. oracle怎么看一个表结构,Oracle查看表结构的几种方法

    Oracle查看表结构的几种方法 1,DESCRIBE 命令 使用方法如下: SQLgt; describe nchar_tst(nchar_tst为表名) 显示的结果如下: Oracle查看表结构的 ...

  3. Linux基础(5)--Linux常用命令表

    Linux常用命令表 1. Linux的目录结构 2. Linux常用命令 2.1 操作文件及目录 2.2 系统常用命令 2.3 压缩解压缩 2.4 文件权限操作 3.Linux系统常用快捷键及符号命 ...

  4. oracle rman 实例,Oracle数据库rman常用命令的使用示例

    Oracle数据库rman常用命令的使用是本文我们主要要介绍的内容,接下来我们就开始介绍这一部分内容,希望能够对您有些收获! 连接到rman 1.连接到目标数据库(不使用恢复目录) [oracle@l ...

  5. oracle删除导入的文件,oracle创建表空间,导入出文件,删除

    1.创建表空间(1-3步在sql plus 中执行) create tablespace SXCGGL_TBS datafile 'E:/oracle/sanxia/SXCGGL_TBS.dbf' s ...

  6. 创建emp表 oracle,Oracle中创建和管理表详解

    Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16   作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...

  7. Oracle数据库用户角色、表空间创建、删除命令

    Oracle数据库用户角色.表空间创建.删除命令 //创建数据表空间 create tablespace BCC datafile 'D:\oracle\oradata\BCC\BCC.dbf' si ...

  8. oracle创建表空间.创建用户.创建表

    oracle创建表空间.创建用户.创建表 转:http://blog.csdn.net/zhoubl668/archive/2009/02/02/3858576.aspx 在SQL*Plus中:(1) ...

  9. oracle创建表空间 扩展表空间文件 修改表空间自动增长

    1. 创建表空间 create tablespace SIRM2  datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 10 ...

最新文章

  1. keras 的 example 文件 lstm_stateful.py 解析
  2. 深度学习和目标检测系列教程 22-300:关于人体姿态常见的估计方法
  3. 电脑手写输入法_QQ拼音输入法除了能打字,竟然还有 N 多妙用!
  4. html复选框不可修改,如何用【伪类】成功修改HTML checkbox默认样式?(新checkbox覆盖老checkbox无法点击的问题)...
  5. 揭秘:导致局域网网速变慢的五大真凶
  6. POJ3421 X-factor Chains【分解质因子+组合数学】
  7. easyswoole验证码的使用
  8. 一种简易的直流电机正反转限位电路
  9. HBuilder常用的快捷操作
  10. linux远程摄像头,通过Web远程浏览Mini6410上的摄像头
  11. 信度效度难度区分度是什么意思_如何区分信度、效度、难度、区分度?
  12. IMU与GPS传感器ESKF融合定位(转载)
  13. 2021-06-08STC15F2K602S串口2驱动代码
  14. Win11系统打开电脑磁盘显示磁盘错误无法打开怎么办?
  15. Linux的文件系统目录说明(FHS)
  16. 深入探究Qt HTTP的内部构架
  17. kali ifconfig没有wlan0的解决方法
  18. 软件企业测试人员的角色与职责
  19. ArcGIS ArcTooBox中的工具执行没有结果的处理办法
  20. ENVI水体提取流程实践与问题

热门文章

  1. 响应式关系数据库处理R2DBC
  2. @SessionAttributes 和 @SessionAttribute的区别
  3. 程序员如何用糖果实现盈利 - [别人家的程序员01]
  4. Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用
  5. 关于pygame和tkinter窗口的那件事-线程
  6. Linux 环境下安装 Golang
  7. 世界上根本没有正确的选择
  8. 17.explain_api
  9. 正式突破两千粉丝!开心!
  10. 同步规则和happen-before规则