-创建表格语法:

     create table 表名(
       字段名1 字段类型(长度) 是否为空,
        字段名2 字段类型       是否为空
);

-增加主键
     alter table 表名 add constraint 主键名 primary key (字段名1);

-增加外键:
     alter table 表名
       add constraint 外键名 foreign key (字段名1)
         references 关联表 (字段名2);

在建立表格时就指定主键和外键

create table T_STU (
      STU_ID               char(5)                         not null,
       STU_NAME             varchar2(8)                     not null,
      constraint PK_T_STU primary key (STU_ID)
);

主键和外键一起建立:
     create table T_SCORE (
       EXAM_SCORE           number(5,2),
       EXAM_DATE            date,
        AUTOID               number(10)                      not null,
       STU_ID               char(5),
       SUB_ID               char(3),
       constraint PK_T_SCORE primary key (AUTOID),
       constraint FK_T_SCORE_REFE foreign key (STU_ID)
        references T_STU (STU_ID)
)


oracle命令建立主键外键

1、创建一张学生表
[sql]
SQL> create table t_stu(
2 stuid number(10) primary key,
3 stuname varchar2(20) not null,
4 stusex varchar2(2) default '男' check(stusex in('男','女'))); Table created
Executed in 0.547 seconds 2、创建一张课程表
[sql]
SQL> create table t_couse(
2 couseid number(10) primary key,
3 cousename varchar2(20) not null,
4 cousetype varchar2(4));
www.2cto.com
Table created
Executed in 0.062 seconds 3、创建一张学生课程成绩表(包括主外键)
[sql]
SQL> create table t_score(
2 scoreid number(10) primary key,
3 stuid number(10) references t_stu(stuid),
4 couseid number(10),
5 constraint fk_couseid foreign key(couseid)
6 references t_couse(couseid)
7 on delete cascade); Table created

Oracle创建主外键的更多相关文章

  1. sql server 中常用修改列 ,创建主外键操作

    表结构 CREATE TABLE [staff] ( [id] [varchar](50) NOT NUL L, [name] [varchar](50) NOT NULL, [password] [ ...

  2. 2017年10月22日 基础SQL语句&数据库创建主外键关系

    1.SQL语句的注释 双减号:-- 或者/**/2.创建数据库create database 数据库名称(不允许以数字开头,不允许以符号开头,不要起汉语名字) 3.如何选中这个数据库use 数据库名 ...

  3. Oracle创建主键自增表

    Oracle创建主键自增表   1.创建表    create table Test_Increase(            userid number(10) NOT NULL primary k ...

  4. oracle创建主键序列和在ibatis中应用

    oracle创建主键序列 oracle主键序列的查询和ibitas中应用

  5. Oracle系统表外键的更名

    正在看的ORACLE教程是:Oracle系统表外键的更名. Oracle中表的外键是保证系统参照完整性的手段,而参照完整性是指分布在两个表中的列所满足的具有主从性质的约束关系.外键涉及到两个表,其中一 ...

  6. Oracle创建主键优劣

    创建主键方式 一个表的主键是唯一标识,不能有重复,不允许为空. 一个表的主键可以由一个字段或多个字段共同组成. -- 列级,表级建立主键 1.create table constraint_test ...

  7. ORACLE中关于外键缺少索引的探讨和总结

    在ORACLE数据库中,定义外键约束时,ORACLE是不会自动创建对应索引的,必须手动在外键约束相关的列上创建索引.那么外键字段上是否有必要创建索引呢?如果有必要的话,巡检时,如何找出外键字段上没有创 ...

  8. oracle 查看主外键约束

    select a.constraint_name, a.table_name, b.constraint_name from user_constraints a, user_constraints ...

  9. 通过在Oracle子表外键上建立索引提高性能

    根据我的经验,导致死锁的头号原因是外键未加索引(第二号原因是表上的位图索引遭到并发更新).在以下两种情况下,Oracle在修改父表后会对子表加一个全表锁: 1)如果更新了父表的主键(倘若遵循关系数据库 ...

随机推荐

  1. 2014 Super Training #10 D 花生的序列 --DP

    原题: FZU 2170 http://acm.fzu.edu.cn/problem.php?pid=2170 这题确实是当时没读懂题目,连样例都没想通,所以没做了,所以还是感觉这样散漫的做不好,有些 ...

  2. UVA 11573 Ocean Currents --BFS+优先队列

    采用优先队列做BFS搜索,d[][]数组记录当前点到源点的距离,每次出队时选此时eng最小的出队,能保证最先到达的是eng最小的.而且后来用普通队列试了一下,超时..所以,能用优先队列的,就要用优先队 ...

  3. 第51课 C++对象模型分析(下)

    1. 单继承对象模型 (1)单一继承 [编程实验]继承对象模型初探 #include <iostream> using namespace std; class Demo { protec ...

  4. java9-4 包

    面试题: package,import,class有没有顺序关系? 有. package > import > class Package:只能有一个 import:可以有多个 class ...

  5. Linux下如何知道文件被那个进程写

    http://blog.yufeng.info/archives/2581#more-2581

  6. localStorage实现购物车数量单价和结算页面的实时同步

    While there is life there is hope.一息若存,希望不灭 用localStorage实现简易的购物车数量单价和结算页面两个页面的实时同步: 购物车页面:实时更新页面,在i ...

  7. python将文件写成csv文件保存到本地

    举个例子: import csv import os path='/tmp/' file='test.csv' def generate_csv(path,file): if not os.path. ...

  8. spring核心组件

    spring的对象是bean组件,就像面向对象的object,bean包装的是object.context的作用,发现每个bean之间的关系,为他们之间建立好这种关系并进行维护.所以,可以把conte ...

  9. 04JavaIO详解_DataInputStream(属于过滤l流)

    DataInputStream这个类是二进制读写的.并且 是过滤流,会一层套一层的.这里就是装饰者模式. public class DataStream1 { public static void m ...

  10. C++创建对象的两种方式

    C++创建对象有两种方式,在栈上创建对象(Objects on the Stack)和在堆上创建对象(Objects on the Heap). 假设我们有以下的类: #include <str ...