Oracle的常用修改表及字段的语句
单行注释:--
多行注释:/* */
Oracle中修改表结构
增加字段
ALTER TABLE table_name
ADD column_name data_type;
删除字段
ALTET TABLE table_name
DROP COLUMN column_name;
修改字段类型
ALTER TABLE table_name
ALTER COLUMN column_name new_data_type;
设置主键
ALTER TABLE table_name ADD CONSTRAINT PK_ID PRIMARY KEY(ID) ;
重命名
RENAME obj_name TO new_obj_name;
约束视图
两个数据字典视图提供了约束的详细信息:USER_CONSTRAINTS和USER_CONS_COLUMNS.
一张表可能有也可能没有约束,对于一张表的每一个约束在USER_CONSTRAINTS中都有一条记录描述这个约束。包括约束应用到的表名称。如果你知道约束名想知道约束类型,查询USER_CONSTRAINTS表。这个视图描述了约束的定义。它不提供约束定义在哪些字段名称上。
在USER_CONS_COLUMNS视图中显示约束的字段名称。如果主键是个联合主键,这个视图中将有这个约束的两条记录。联合主键的每一个字段对应一条记录。每一条记录通过POSITION(在联合主键中的位置)来区别。 USER_CONSTRAINTS 和USER_CONS_COLUMNS都有字段CONSTRAINT_NAME 和TABLE_NAME.
---------------------------------------------------------------------
USER_CONSTRAINTS USER_CONS_COLUMNS
---------------------------------------------------------------------
CONSTRAINT_NAME CONSTRAINT_NAME
CONSTRAINT_TYPE TABLE_NAME
TABLE_NAME COLUMN_NAME
POSITION
参考信息
http://blog.sina.com.cn/s/blog_4c22550c010007s3.html
VARRAY的应用
一个例子:
CREATE TYPE phone_type IS VARRAY(20) OF VARCHAR2(20);
/
CREATE TABLE employee(
id NUMBER(4),
name VARCHAR2(10),
sal NUMBER(6,2),
phone phone_type);
/
插入示例:
INSERT INTO employee values(1,'NewName',1000,phone_type('1','2'));
nestedTable的应用
一个例子:
CREATE OR REPLACE TYPE emp_type2 AS OBJECT
(empno NUMBER(4),
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2)
);
/
CREATE OR REPLACE TYPE emp_tab_type AS TABLE OF emp_type2;
/
--使用嵌套表
CREATE TABLE dept_and_emp2
(deptno NUMBER(2) PRIMARY KEY,
dname VARCHAR2(14),
loc VARCHAR2(13),
emps emp_tab_type
)NESTED TABLE emps STORE AS emp_nest2;
插入示例:
insert into dept_and_emp2 values(1,'NewName','NewLoc',emp_tab_type(emp_type2(1,'newName','newJob',7788,sysdate,1000,100),emp_type2(......)));
这两种集合的插入方式是一样的。
IS EMPTY 操作符只适用于嵌套表,而不适用于VARRAY,用于判断集合里的元素是否为空,如果判断是否初始化(是否为null)应该用 IS NULL。
转载来源:http://blog.csdn.net/aqszhuaihuai/article/details/4065482
Oracle的常用修改表及字段的语句的更多相关文章
- PowerDesigner怎样才能在修改表的字段Name的时候Code不自动跟着变
怎样才能在修改表的字段Name的时候,Code不自动跟着变 tools-> General Options-> Dialog:Operation Modes: 去掉 NameToC ...
- MySQL修改表中字段的字符集
MySQL修改表中字段的字符集 ALTER TABLE 表名 MODIFY 字段名 要修改的属性: 例:ALTER TABLE `guaduates` MODIFY `studentno` CHAR( ...
- Oracle修改表或者字段的注释
转自:https://www.cnblogs.com/fx-blog/p/7132833.html 语句:comment on table 表名 is '表的注释信息'; comment on col ...
- Oracle创建表、删除表、修改表、字段增删改 语句总结
创建表: create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 字段类型 默认值 是否为空, ...... ); 创建一个us ...
- 修改表增加字段默认值default
对个生产库的表增加1个字段.字段类型是INT型, 表数据有2千万条, alter table table_name add xxoo number(4) default 0 ; 因此 不仅要修改字典 ...
- .Net程序员学用Oracle系列(6):表、字段、注释、约束、索引
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 ...
- mysql修改表、字段、库的字符集
在一次导入数据表(MYISAM)的经历:复制过来的表打开后中文出现乱码,肯定是字符集出现了不致的问题,所以从原数据库导出.sql文件,修改其中的创建表的语句,加入字符集DEFAULT CHARSET= ...
- mysql修改表、字段、库的字符集(转)
原文链接:http://fatkun.com/2011/05/mysql-alter-charset.html MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 .最终是字段级 的字符集设 ...
- MySQL修改表、字段、库的字符集及字符集说明
修改数据库字符集: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...]; 把表默认的字符集和所有字符列( ...
随机推荐
- 2015年传智播客JavaEE 第168期就业班视频教程17-登录功能业务逻辑实现(代码)
点击红色在业务层接口EmpEbi创建方法login 按F4弹出类继承层次视图 这些快捷键是条件反射了. 业务层做MD5数据加密,不能放在表现层也不能放在数据层必须放在业务层.它属于业务操作. 数据层的 ...
- ibatis 常用标签
prepend:自动在前面加上:自动新手:自动预:自动前置 property:属性 compareValue:指定的常数,值 //判断不相等: <isNotEqual prepend=" ...
- 字符编码codecs模块(读写文件)
python对多国语言的处理是支持的很好的,它可以处理现在任意编码的字符,这里深入的研究一下python对多种不同语言的处理.有一点需要清楚的是,当python要做编码转换的时候,会借助于内部的编码, ...
- facebook对xtrabackup的优化整理
1)Adding xtrabackup files https://github.com/facebook/mysql-5.6/commit/6eb74f86e27410f1ad7bf3379ce15 ...
- Java设计模式(4)——单例模式
转载:http://wiki.jikexueyuan.com/project/java-design-pattern/singleton-pattern.html 单例模式根据实例化对象时机的不同分为 ...
- Python中的排序方法sort(),sorted(),argsort()等
python 列表排序方法sort.sorted技巧篇 转自https://www.cnblogs.com/whaben/p/6495702.html,学习参考. Python list内置sort( ...
- Oracle查看字符集
select * from nls_database_parameters where parameter like 'NLS%CHARACTERSET';
- Gym 101201J Shopping (线段树+取模)
题意:给定 n 个物品,然后有 m 个人买东西,他们有 x 元钱,然后从 l - r 这个区间内买东西,对于每个物品都尽可能多的买,问你最少剩下多少钱. 析:对于物品,尽可能多的买的意思就是对这个物品 ...
- express4.x Request对象获得参数方法小谈【原创】
最近看完慕课网 “node.js 建站攻略”后, 对mongodb 操作有了进一步认识, 为了进一步巩固该数据库知识, 于是使用学到的知识搭建一个最简单的mongoDemo. 搭建完成后已放到Gith ...
- jmeter 调用jar包 本地加密
1.因为加密接口是有我们自己加密方式,所有加密包由开发提供,获得加密包后方式jmeter目录/lib/ext文件夹中 2.选择引入加密包 3.添加BeanShell Sampler和Debug Sam ...