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

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

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

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

  2. Oracle新建的用户看不到表,Oracle 创建用户及数据表的方法

    Oracle 创建用户及数据表的方法 更新时间:2009年09月25日 23:13:29   作者: 刚开始学习oracle的朋友可以看下,这个是基础了. 一.概念 1. 数据库 (Database) ...

  3. Linux中强制结束一个进程的终极方法和其他常用命令

    Linux中强制结束一个进程的终极方法和其他常用命令 1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c ...

  4. gulp安装流程、使用方法及cmd常用命令导览

    gulp安装流程.使用方法及CMD常用命令导览 来自前端小白的gulp及周边知识学习总结 一.名词介绍: Npm--node包管理工具 一开始我不理解,包管理工具是什么鬼.后来用到的gulp也好,gu ...

  5. oracle下导出某用户表的方法

    scott/tiger是用户名和密码,handson是导出的实例名 ²按用户方式导出数据(owner当中写的是用户名) expscott/tiger@handsonfile=scott_backown ...

  6. oracle 数据库密码生产同步模拟环境 ,随记常用命令

    1.查看当前open用户 select username,account_status,expiry_date,profile from dba_users; 2.查看目前的密码过期策略 select ...

  7. oracle修改查询结果,Oracle使用查询结果更新表的方法

    Oracle使用一个查询的结果更新另一个表的数据. 模拟实验如下,使用t2表的查询结果,更新t1表相同id的数据. drop table t1; drop table t2; create table ...

  8. oracle删除用户下所有表、视图等操作(命令操作)

    sqlplus; –登录用户名与密码为需要删除的用户 SET HEAD OFF; SPOOL e:/drop_tables.sql; –delete tables select 'drop table ...

  9. oracle查看asm磁盘组,ASM磁盘组信息查看常用命令

    1.1           获取磁盘组管理信息 1.1.1        查看磁盘路径 SQL> selectname, path, group_number from v$asm_disk_s ...

最新文章

  1. 10大排序算法JAVA源码实现
  2. 2021年春季学期-信号与系统-第二次作业参考答案-第七小题
  3. 通信系统中对眼图的理解(一)
  4. scala 定义空的list_18.scala的型变
  5. android double比较大小吗,Android双向选择控件DoubleSeekBar使用详解
  6. python编程环境要求_python公开课|我们需要优秀Python编程环境的要求居然是这些...
  7. IDEA 变量下面多了一根下划线
  8. tftp ping 不通。无法访问目标主机
  9. 数据库工具一段时间后打开报错:远程过程调用失败0x800706be
  10. 微信红包封面向个人开放,1元定制!
  11. Dubbo(RPC原理、Dubbo架构负载均衡配置方式)(3)
  12. Android手势监听类GestureDetector的使用
  13. 凸优化第六章逼近与拟合 6.4鲁棒逼近
  14. hadoop jps 没有命令_hadoop:伪分布模式启动步骤分解
  15. 3GPP TS 24.301 Release 8 中文版
  16. 破解极验验证码之模拟登录B站
  17. 织梦dedecms蓝色大学院校学校网站模板(自适应手机移动端)
  18. 实现自己的Protobuf Any
  19. Dissect ActiveX Control Safety
  20. 并行网络测试软件,并行程序测试

热门文章

  1. 第二十一课.GBDT
  2. 第十课.简单文本分类
  3. python 提交表单登录不成功_Python http requests模拟登录与提交表单的实现问题
  4. 监控摄像头cad图例_一套实用的智能化弱电系统大样图,可以作为弱电项目CAD设计素材...
  5. Conda 为什么越来越慢?
  6. 零基础入门学习Python(7)-了不起的分支和循环1,2
  7. mSystems:生物地球化学进入病毒时代-采用多样的方法研究病毒和生物地球化学循环...
  8. JGG :微生物所王军-综述固有免疫细胞在胃肠道疾病中研究进展
  9. 拉开你和同龄人差距的,不是基因,不是努力,而是……
  10. Nature:肠道菌群代谢物调节肠道与免疫