zoukankan      html  css  js  c++  java
  • Oracle数据库建表

    ---数据类型   

    /*

    1  数字 number [小数,整数]

    number(5,3)表示总共5个数字,小数点后3,最大值99.999

    number(5) 表示整数  最大值99999

    2  字符  char 定长字符  

       char(10)   如果没有达到10字符就用空格补充,他所占的大小总是10字符空间

       varchar2  变长字符和varchar类似  

       varchar2(10) 如果没有达到10个字符长度不用空格补充

       clob   大文本类型  

       文字很多,小说,简介,新闻内容

       blob  存入大数据文件  

       图片,压缩文件..

       

    3 时间  date       年月日 时分秒

            timestamp  年月日 时分秒  秒可以带小数点

             

    */

        

    /*

    约束

    1 主键  primary key

    2 外键  foreign key,

    3 唯一  unique,

    4 检测  check

    5 非空  not null

    */

    -- 商品表   客户表   购物车表

    /*

    商品表 goods  编号gid , 名称 , 价格 ,厂商

    客户表 customer 编号cid  ,姓名,性别,出生日期,身份证

    购物车表 purchase  商品编号,客户编号,商品数量

    请建立表,要求 必须有主外键,所有的名称不能为空,价格必须大于0,身份证必须唯一,性别必须是男女默认男,商品数量必须是130之间

    */

    create table goods(
    
    gid number(8) primary key,
    
    gname varchar2(50) not null,
    
    price number(15,2) check(price >0),
    
    firm varchar2(100)
    
    );
    create table customer(
    
    cid number(8) primary key,
    
    cname varchar2(30) not null,
    
    sex char(2) default '' check (sex in ('','' )),
    
    birth date,
    
    idcard  char(18) unique
    
    );
    create table purchase (
    
    gid number(8)    references goods(gid),
    
    cid number(8)    references customer(cid),
    
    goodsnum number(8) check( goodsnum  between 1  and  30 )
    
    );

    /*

    --创建表  

    --系别[编号,名称,地址,主任编号]

    --班级[编号,名称,系别,班主任编号]

    --学生[学号,姓名,性别,出生年月,年龄,班级号]

    --分数[学号,课程号,分数,]

    --课程表[编号,名称,任课老师编号]

    --老师表[编号,姓名,年龄,性别]

    --6张表的要求

    --1 每张表插入35条数据

    --2 有主键或外键

    --3 所有姓名不能为空

    --4性别只能是10

    --5学生年龄在16-30之间

    --将学号为3的学生的姓名修改为李强,性别修改为1,年龄修改为20

    update student set sname='李强',ssex='1',sage=20 where stid=3003;

    --在创建的学生表上增加一个栏目 address

    alter table student add saddress varchar2(30);

    --address的长度修改为100

    alter table student modify saddress varchar2(100);

    --将老师表增加一个栏目email

    alter table teacher add temail varchar2(30);

    --显示2班所有人的姓名

    select sname from student where gid=2002;

    */

    系别表

    create table department(
    
    did number(8) primary key,
    
    dname varchar2(30) not null,
    
    address varchar2(50),
    
    directorid number(8)
    
    );
    
    insert into department values(1001,'电子信息工程','xxxx学院',1101);
    
    insert into department values(1002,'外语外贸学院','xxxx学院',1102);
    
    insert into department values(1003,'抱石艺术学院','xxxx学院',1103);
    
    insert into department values(1004,'文理学院','xxxx学院',1104);

    班级表

    create table grade(
    
    gid number(8) primary key,
    
    gname varchar2(30) not null,
    
    did number(8) references department(did),
    
    classteacherid number(8) 
    
    );
    
    insert into grade values(2001,'应电2班',1001,2201);
    
    insert into grade values(2002,'商务英语1班',1002,2202);
    
    insert into grade values(2003,'室内设计3班',1003,2203);
    
    insert into grade values(2004,'数学8班',1004,2204);

    学生表

    create table student(
    
    stid number(8) primary key,
    
    sname varchar2(30) not null,
    
    ssex varchar(2) default '1' check (ssex in ('1','0')),
    
    birth date,
    
    sage number(8),
    
    gid number(8) references grade(gid) 
    
    );
    
    insert into student values(3001,'张三',1,to_date('2016-2-23','yyyy-MM-dd'),21,2001);
    
    insert into student values(3002,'李丽',0,to_date('2012-6-13','yyyy-MM-dd'),21,2002);
    
    insert into student values(3003,'赵立',1,to_date('2014-3-19','yyyy-MM-dd'),21,2003);
    
    insert into student values(3004,'王生',1,to_date('2015-7-30','yyyy-MM-dd'),21,2004);

    老师表

    create table teacher(
    
    tid number(8) primary key,
    
    tname varchar2(30) not null,
    
    tage number(8),
    
    tsex varchar(2) default '1' check (tsex in ('1','0'))
    
    );
    
    insert into teacher values(4001,'讲英语',21,1);
    
    insert into teacher values(4002,'朗诵',21,0);
    
    insert into teacher values(4003,'长风',21,0);
    
    insert into teacher values(4004,'来的是',21,0);

    课程表

    create table course(
    
    cid number(8) primary key,
    
    cname varchar2(30) not null,
    
    tid number(8) references teacher(tid)
    
    );
    
    insert into course values(5001,'电工',4002);
    
    insert into course values(5002,'英语',4004);
    
    insert into course values(5003,'室内设计',4003);
    
    insert into course values(5004,'数学',4001);

    分数表

    create table scoretable(
    
    stid number(8) references student(stid),
    
    cid number(8) references course(cid),
    
    score number(8)
    
    );
    
    insert into scoretable values(3002,5003,98);
    
    insert into scoretable values(3003,5004,120);
    
    insert into scoretable values(3004,5001,89);
    
    insert into scoretable values(3001,5002,102);
  • 相关阅读:
    php二维数组指定下标排序
    laravel使用auth管理后台amdin数据表
    laravel插件
    laravel中Horizon简单介绍适合于redis操作队列
    laravel5.5或laravel5.7版本自定义日志记录
    laravel使用"tymon/jwt-auth": "0.5.*"
    larval5.7安装jwt使用
    ubuntu ibus 输入法总在左下角不跟随光标的处理
    Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier
    30种mysql优化sql语句查询的方法<转>
  • 原文地址:https://www.cnblogs.com/Liang-Haishan216/p/6442546.html
Copyright © 2011-2022 走看看