Oracle 关于定义约束 / 修改表结构 /修改约束
---约束分5种:主键 外键 唯一 非空 检查5类约束
Oracle中分列级别约束 与 表级别约束
列级别约束:在创建表时再列上面加约束
例如:
create table table11(
stuno number(2) constraint table_pk primary key,
tname varchar2(5)unique--唯一约束
)
上面两个字段都是在列上面直接写的约束 :可选[constraint table_pk] primary key,
表级别约束:
例如:
--表级别约束
create table table22(
idno number(2),
tname varchar2(5)unique,--唯一约束
price number(5,2) check(price>100),--check约束
stuno number(2),
--下面是表级别约束就是鞋子所有列下面
constraint tb_2_pk primary key(idno),
constraint tb_2_fk foreign key(stuno) references table11(stuno)
)
在所有字段下面添加约束叫 表级别约束
----------------修改表
alter table table22 drop [列名,,,]--删除列
alter table table22 add 列名 类型 [默认值]--添加列
alter table table22 modify 列名 类型 [默认值]--修改列
--------添加表级别约束
alter table tablename
add constraint table_pk primary key(id);--添加主键 alter table tablename
drop table_pk;--删除主键
------修改列的约束
alter table tablename modify 列名 constraint notnull not null;--添加非空约束
alter table tablename modify 列名 constraint check2 check(列名>1200);--check约束
-----删除列的约束
alter table tname drop constraint 约束名;--按约束名删除
alter table tname modify 列名 null;--删除非空约束
Oracle 关于定义约束 / 修改表结构 /修改约束的更多相关文章
- SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询
SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, ...
- Oracle(修改表结构和约束)
目标: 1.添加和修改列 2.添加,enable,disable,或者remove约束 3.删除表 4.删除表中所有数据并回到表定义的初始状态(截断表) 5.修改对象的名字 6.给对象添加注释,从数据 ...
- mysql alter 增加修改表结构及约束
1) 加索引,添加时若未指定索引名,默认为字段名 mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]); 例子: mysql> alt ...
- oracle 11g 通过在线重定义方式修改表结构
今天因为要对一套数据库的数据抽取进行io优化,希望通过修改表结构将抽取io降下来,因为抽取只针对标签HAVE_FLAG为"0"的值进行抽取,抽取之后更新HAVE_FLAG为其他值, ...
- ORACLE 中写入txt文本与从Txt文件中读入数据 修改表结构
--创建一个表 DROP TABLE TEST CASCADE CONSTRAINTS ; CREATE TABLE TEST(A VARCHAR(30),B VARCHAR(30)); --查看具体 ...
- sqlserver和oracle修改表结构
sqlserver和oracle修改表结构常用SQL Server:1.增加列 ALTER TABLE users ADD address varchar(30);2.删除列 ALTER TABL ...
- [20171113]修改表结构删除列相关问题4.txt
[20171113]修改表结构删除列相关问题4.txt --//连续写了3篇修改表结构删除列的相关问题,链接如下: http://blog.itpub.net/267265/viewspace-214 ...
- [20171113]修改表结构删除列相关问题.txt
[20171113]修改表结构删除列相关问题.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_n ...
- (转)pt-online-schema-change在线修改表结构
原文:http://www.ywnds.com/?p=4442 一.背景 MySQL大字段的DDL操作:加减字段.索引.修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响 ...
随机推荐
- Effective C++ 第二版 17)operator=检查自己 18)接口完整 19)成员和友元函数
条款17 在operator=中检查给自己赋值的情况 1 2 3 class X { ... }; X a; a = a; // a 赋值给自己 >赋值给自己make no sense, 但 ...
- Print2flash在.NET(C#)64位中的使用,即文档在线预览
转:http://www.cnblogs.com/flowwind/p/3411106.html Print2flash在.NET(C#)中的使用,即文档在线预览 office文档(word,ex ...
- [008]new、delete及动态内存分配
1.new和delete都会用,这里只声明一点: C++ 没有明确定义如何释放指向不是用 new 分配的内存地址的指针. 比如下面的代码: #include<iostream> using ...
- ajax调用webService中的方法
页面代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx. ...
- iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求
这篇文章会提供一种在 Cocoa 层拦截所有 HTTP 请求的方法,其实标题已经说明了拦截 HTTP 请求需要的了解的就是 NSURLProtocol. 由于文章的内容较长,会分成两部分,这篇文章介绍 ...
- python--判断数据类型可不可变
内存是一块空间,可以比喻成一个比较大的房子,定义一个变量就是在大房子中建立一个小房子,判断一个数据类型可不可变,就是看在这个这个大房子中有没有新建小房子,可以通过id来判断,如果id没有变化则是不可变 ...
- 基于动态库的C++插件开发模型
基类为抽象类,在不同的动态库中实现不同的执行行为,但是每个动态库要提供2个统一的方法:1) baseClass * create(); 2) void destroy( baseClass* );,调 ...
- APUE(3)——文件I/O
大多数情况下,我们都会利用Standard I/O Library来进行I/O操作,而这一章所讲的I/O是UNIX系统直接提供的I/O操作,且大多是Unbuffered I/O,即每一次读或写都会出现 ...
- Redis主备自动切换
Sentinel(哨兵)是用于监控redis集群中Master状态的工具. 一.Sentinel作用 1.Master状态检测 2.如果Master异常,则会进行Master-Slave切换,将 ...
- 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...