• orale建表查询


    orale数据类型:

    类型

    含义

    CHAR(length)

    存储固定长度的字符串。参数length指定了长度,如果存储的字符串长度小于length,用空格填充。默认长度是1,最长不超过2000字节。

    VARCHAR2(length)

    存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。

    NUMBER(p,s)

    既可以存储浮点数,也可以存储整数,p表示数字的最大位数(如果是小数包括整数部分和小数部分和小数点,p默认是38为),s是指小数位数。

    DATE

    存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间从公元前4712年1月1日到公元后4712年12月31日。

    TIMESTAMP

    不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。

    CLOB

    存储大的文本,比如存储非结构化的XML文档

    BLOB

    存储二进制对象,如图形、视频、声音等。

      

    orale表管理: 

    Oracle创建表同SQL Server一样,使用CREATE TABLE命令来完成。创建约束则使用如下命令:

    语法格式:ALTER TABLE命令

       ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容。

     

    不论创建表还是约束,与SQL Server基本相同,注意:在Oracle中default是一个值,而SQL Server中default是一个约束,因此Oracle的default设置可以在建表的时候创建。

     

    案例1:创建一个学生信息(INFOS)表和约束

     

    代码演示:Oracle创建表和约束

    CREATE TABLE INFOS

    (

      STUID VARCHAR2(7) NOT NULL,    --学号 学号=‘S’+班号+2位序号

      STUNAME VARCHAR2(10) NOT NULL,  --姓名

      GENDER VARCHAR2(2) NOT NULL,    --性别 

      AGE NUMBER(2) NOT NULL,        --年龄

      SEAT NUMBER(2) NOT NULL,        --座号

      ENROLLDATE DATE,      --入学时间

      STUADDRESS VARCHAR2(50) DEFAULT '地址不详',      --住址

      CLASSNO VARCHAR2(4) NOT NULL    --班号 班号=学期序号+班级序号 

    )

    /  ①

    ALTER TABLE INFOS ADD CONSTRAINT PK_INFOS PRIMARY KEY(STUID)  ②

    /

    ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_GENDER 

    CHECK(GENDER = '男' OR GENDER = '女')  ③

    /

    ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_SEAT

    CHECK(SEAT >=0 AND SEAT <=50)  ④

    /

    ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_AGE 

    CHECK(AGE >=0 AND AGE<=100)  ⑤

    /

    ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_CLASSNO 

    CHECK((CLASSNO >='1001' AND CLASSNO<='1999') OR

    (CLASSNO >='2001' AND CLASSNO<='2999'))  ⑥

    /

    ALTER TABLE INFOS ADD CONSTRAINTS UN_STUNAME UNIQUE(STUNAME)  ⑦

    /

    代码解析:

    ①  在Oracle代码中,“/”执行缓存区中的语句,由于缓冲区中只存储一条刚刚保存过语句,由于每条语句没有用分号结尾,只是保存在缓冲区,因此每条语句后面都有单独一行“/”。

    ②  创建一个主键约束。

    ③  与 ④ ⑤ ⑥ ⑦一起创建各种check约束。其中⑦是唯一约束,表示该列值是唯一的,列中的值不能重复。

     

    Oracle中创建外键约束与SQL Server相同。比如:现有成绩表定义如下:

     

    案例2:创建一个成绩表(SCORES)表和约束

     

    代码演示:Oracle创建表和约束

    CREATE TABLE SCORES

    (

         ID NUMBER ,        --ID  ①

         TERM VARCHAR2(2),                                   --学期 S1或S2

          STUID VARCHAR2(7) NOT NULL,                   --学号

          EXAMNO VARCHAR2(7) NOT NULL,               --考号 E+班号+序号     

          WRITTENSCORE NUMBER(4,1) NOT NULL,    --笔试成绩

          LABSCORE NUMBER(4,1) NOT NULL             --机试成绩

    )

    ALTER TABLE SCORES

        ADD CONSTRAINT CK_SCORES_TERM CHECK(TERM = 'S1' OR TERM ='S2')

    /

    ALTER TABLE SCORES

        ADD CONSTRAINT FK_SCORES_INFOS_STUID FOREIGN KEY(STUID) REFERENCES INFOS(STUID)  ②

    /

    代码解析:

    ①  SQL Server中可以使用identify创建自动增长列,但是Oracle中的自动增长需要借助序列(Sequence)完成,在后面章节中讲解。

    ②  Oracle中的外键约束定义。

     

     

  • 相关阅读:
    C代码优化的一些方法
    读书笔记之:C++程序设计原理与实践(其他)[+++]
    读书笔记之:C++ Primer Plus(第5版)
    使用SoapFormatter 类序列化
    C# 多线程学习系列
    winform中读取嵌入的xml文件
    使用Web Service上(服务器端访问)
    jquery ajax调用webservice
    ashx文件和HttpHandler
    以Window服务作为wcf的寄主
  • 原文地址:https://www.cnblogs.com/cxyzl/p/2715504.html
Copyright © 2020-2023  润新知