问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle数据库怎么设置约束不大当前时间

发布网友 发布时间:2022-05-01 16:46

我来回答

2个回答

懂视网 时间:2022-05-01 21:07


  在创建表时设置非空约束:
    CREATE TABLE table_name( column_name datatype NOT NULL)
  在修改表时添加非空约束:
    ALTER TABLE table_name MODIFY column_name datatype NOT NULL
  在修改表时去除非空约束:
    ALTER TABLE table_name MODIFY column_name dataypte NULL

 

主键约束:

  作用:确保表种每一行数据的唯一性
  在创建表时设置主键约束:
    1) CREATE TABLE table_name(column_name dataype PRIMARY KEY)
    2) CONSTRAINT constraint_name PRIMARY KEY(column_name1,..)
    查看约束 SELECT constraint_name FROM USER_CONSTRAINTS WHERE table_name = ‘student‘
  在修改表时添加主键约束:
    ALTER TABLE student ADD CONSTRAINT constraint_name PRIMARY KEY(column_name1,...)
  更改约束名称 :
    ALTER TABLE student RENAME CONSTRAINT old_name to new_name
  删除主键约束:
    暂时不用:ALTER TABLE student DISABLE|ENABLE CONSTRAINT constraint_name

    直接删除:1)ALTER TABLE student DROP CONSTRAINT constraint_name

         2) ALTER TABLE student DROP PRIMARY KEY [CASCADE]
    查看约束状态: SELECT CONSTRAINT_NAME,STATUS FROM USER_CONSTRAINTS WHERE table_name = ‘student‘

外键约束:
  在创建表时设置外键约束:
    1) CREATE TABLE table1 (column_name datatype REFERENCES table2(column_name))
    条件: 主表table2中的字段必须是主键
        主从表table1中的字段类型必须也主表table2中的字段类型一致
        主从表table1中字段的值必须全部来自主表table2中相应的字段,或NULL值
    2) CONSTRAINT constraint_name FOREIGN KEY(column_name ) REFERENCES table_name(column_name1) [ ON DELETE CASCADE] //级联删除 主表数据中的数据被删除时,从表中引用的字段的行数据也删除
  在修改表时设置外键约束:
    ALTER TALBLE student ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table2(column_name) [ ON DELETE CASCADE ]
  删除外键约束:
    暂时不用:ALTER TABLE student DISABLE | ENABLE CONSTRAINT constraint_name
    直接删除:ALTER TABLE student DROP CONSTRAINT constrain_name

 

唯一约束:
  主键约束与唯一性约束的区别:
    主键字段值必须为非空,唯一性约束允许有一个空值
    主键约束在每张表中只能有一个,唯一性约束在每张表中可以有多个
  在创建表时设置唯一性约束:
    1) CREATE TABLE table_name (column_name datatype UNIQUE,...)
    2) CONSTRAINT constraint_name UNIQUE(column_name) //该语句只能设置一个字段,要想设置其他字段必须新创建唯一性约束
  在修改表时设施唯一性约束:
    ALTER TABLE student CONSTRAINT constraint_name UNIQUE(column_name)
  删除唯一性约束:
    暂时禁用: ALTER TABLE student DISABLE |ENABLE CONSTRAINT constraint_name
    直接删除: ALTER TABLE student DORP CONSTRAINT constraint_name

 

检查约束:

  作用:让表中的值更有实际意义
  在创建表时设置检查约束:
    1) CREATE TALBE table_name (column_name datatype CHECK(money > 0))
    2) CONSTRAINT constraint_name CHECK(money > 0)
  在修改表时设置检查约束:
    ALTER TABLE student ADD CONSTRAINT constraint_name CHECK(money > 0)
  删除检查约束:
    暂时禁用: ALTER TABLE student DISABLE | ENABLE CONSTRAINT constrain_name
    直接删除: ALTER TABLE student DROP CONSTRIAN constraint_name

 

 

其他知识点:

  数据类型:
    字符型:
      CHAR(n):固定长度 , MAX :2000
      NCHAR(n):固定长度,按照Unicode格式存放数据的,用于存放汉字,MAX:1000
      VARCHAR2(n):可变长度, MAX : 4000
      NVARCHAR2(n): 可变长度,按照Unicode格式存放数据的 MAX: 2000
    数值型:
      NUMBER(p,s):p->有效数字 ; s > 0 小数后的位数 s < 0 最大有效数字到小数点的位数
      FLOAT(n) :用来存放二进制数据的,能够表示二进制的1~126位 ,若要若要转换成十进制 则需要乘以 0.30103
    日期型:
      DATA: 精确到秒(常用)
      TIMESTAMP:精确到小数秒
    其他类型:
      BLOB: MAX : 4G 以二进制格式存放
      CLOB: MAX : 4G 以字符串格式存放

 

  给表改名:

    rename old_name to new_name

  清空表:

    TRUNCATE TABLE table_name

  日期字段:

    regdate date default sysdate

  修改表字段:
    ALTER TABLE table_name modify email default ‘无‘;


  复制表数据:
    创建表时复制:

      CREATE TABLE table_new AS SELECT column1,...|* FROM table_old
      eg. CREATE TABLE TEST007 AS SELECT * FROM STUDENT;
    在添加数据是复制:

      INSET INTO table_new [(column1,...)] SELECT column1,...|* FROM table_old;
      eg. INSERT INTO STUDENT (ID,NAME) SELECT ID,NAME FROM TEST007;
        INSERT INTO STUDENT SELECT * FROM TEST007;

 

oracle如何操作约束

标签:time   key   固定   检查   oracle   unicode   ima   tab   小数   

热心网友 时间:2022-05-01 18:15

用check约束呀。
create table king(
id int,
sptime date check (sptime=< sysdate)
);
对于已建好的表,给它添加约束就好了:
alter table king add constraint k_name check (sptime =< sysdate)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2023文科男生最吃香的专业 哪些专业好就业 在南京想找上海音乐学院的老师,怎么找? 荔枝核怎么服用-荔枝核煮水一般煮几颗合适 属虎适合什么名字2022年新生儿 有内涵热门名字精选 国内读研好,还是出国读研好 出国读研和国内读研哪个更好 在一个比例中,如果两个外项互为倒数。那么两个内向的什么是一?_百度知 ... 两个外项互为倒数,一个内向是8分之3,另一个内项是多少【怎样求出来... 在一个比例中,两个外向互为倒数,其中一个内项是8,另一个内项是_百度... 在比例中两个外项互为倒数,其中一个内向是2.75,另一个内项是多少_百度... PS通道抠出图像为什么背景不是纯透明而是半透明,何解?? photoshop怎么让抠出来的图的边缘不是透明的 PS抠图 抠出后 不管保存为什么格式。打开后都还有背景,不是透明的,怎么办? 怎样把表格转到word 这个是真爱加冕的什么系列? I DO真爱加冕系列的这个价值多少钱?钻是多少克的,有没有这个戒指的详细介绍? I DO的钻戒怎么样,我买的是真爱加冕系列的,侧面有红宝石,打的九折,花了9千多 约瑟芬戒指有什么寓意? 订婚送男朋友什么礼物好 订婚送给老公什么礼物好 真爱驾到“为爱加冕”有什么意义? 当爱情经过时”为爱加冕”是什么? 如果对方不让你看他的朋友圈,那他发朋友圈的时候会有提醒吗? 中国人寿保险理赔的步骤是什么先有精神疾病后加入中国人寿保险,理赔的步骤是什么 怎样用华为手机用定位找到vivo手机? 中国人寿微信理赔需要上传哪些资料 怎么用华为手机寻找VIVO手机的位? 请教有关报考中国刑警学院研究生的几个问题 成人自考的考生考入中国刑警学院的研究生能分配当police么? 别人拿了我办的银行卡有什么用 ps从抠出来的图里再抠一个小图,里面有一部分不透明? 关于夏天的日记 250字三年级 描写夏景作文250字 夏天的什么作文250字 写一篇在夏天里发生的事250字 作文记得那是一个夏天250字 小兴安岭的夏天的作文250个字 今年夏天太热了作文250字 写夏天的热,不能出热字写一篇250字的作文 写一篇小短文我喜欢夏天不少于五句话 夏天的风作文(250字) 温暖的夏夜作文250字 夏天的变化 小学作文怎么写250字 寻找夏天的快乐作文250字 我在学校的一天日历五年级英语作文 英语作文《my school calendar》 英语作文myschoolcalendar五年级作文 五年级我学校的日历英文作文怎么写? 五年级的英语作文我的假期 五年级英语作文 我的假期 50字