zoukankan      html  css  js  c++  java
  • Oracle约束的使用

    --5个约束,主键约束、外键约束、唯一约束、检查约束、非空约束。

    --添加主键约束 Alter table table_name Add constraints constraint_name Primary key (column_name);

    --语法说明 constraint_name:约束名称。 column_name:主键约束指定数据表中的列名。

    --移除主键约束 Alter table table_name Drop constraint constraint_name;

    --外键约束

    --直接在表里添加外键约束,需要在创建表时在最后边添加如下语句

    constraint constraint_name foreign key (column_name)  reference table_name(column_name) on delete cascade;  

    --语法说明  constraint_name:外键约束的名称。  

    foreign key(column_name):指定外键约束的列名。

     reference:需要引用的表名(列名)。

     on delete cascade:设置级联删除,当主键子弹被删除是外键对应的字段也同时被删除。

    --创建表后直接添加外键约束

    Alter table table_name add constraint constraint_name foreign key(column_name) reference table_name(column_name) on delete cascade;

    --删除外键约束

    Alter table table_name drop constraint constraint_name;

    --Check约束

    --在创建表是添加检查约束,直接在字段后边添加约束

    constraint constraint_name Check(condition);

    condition:是检查约束的条件。

    --Alter Table 添加Check约束

    Alter table table_name Add constraint constraint_name check(condition);

    --删除Check约束 Alter 

    table table_name Drop constraint constraint_name;

    --Unique约束,唯一约束,

    Create表时添加唯一约束 constraint constraint_name unique(column_name);

    --修改表时添加唯一约束

    Alter table table_name Add constraint constraint_name unique(column_name);

    --移除表的唯一约束

    Alter table  table_name Drop constraint constraint_name;

    --创建非空约束,创建表时直接添加非空约束

    ... not null,

    --修改表时添加非空约束

    Alter table table_name Modify column_name Not null;

    --truncate完全删除表,删除后不可以恢复。

    truncate table table_name;

    --merge语句,批量修改和批量增加语句

    Merge [into] table_name1 using table_name2 on (condition) when matched then merge_update_clause  when not matched then merge_insert_clause;    --语法说明  table_name1:要修改或添加的表。

     table_name2:参照的更新表。  condition:table_name1和table_name之间的关系,或其他的一些条件。  merge_update_clause:如果和参照表table_name2中的条件匹配,就执行更新操作。(update set column_name1=column_name2)  merge_insert_clause:如果条件不匹配,就执行新增操作。(insert into (column_name2,column_name2,...))

    将一些逻辑问题使用代码实现
  • 相关阅读:
    运行jar包读取外部配置文件
    DES加密
    BlockingQueue
    文件锁
    Hive 的 排序
    linux下date命令实现时间戳与日期的转换
    bcov进行覆盖率统计
    对c++服务端进行覆盖率统计
    github基础命令
    gcc编译参数-fPIC问题 `a local symbol' can not be used when making a shared object;
  • 原文地址:https://www.cnblogs.com/gynbk/p/6556073.html
Copyright © 2011-2022 走看看