oracle create table(转)
- //建测试表
- create table dept(
- deptno number(3) primary key,
- dname varchar2(10),
- loc varchar2(13)
- );
- create table employee_info(
- empno number(3),
- deptno number(3),
- ename varchar2(10),
- sex char(1),
- phone number(11),
- address varchar2(50),
- introduce varchar2(100)
- );
- --
- //0.重命名
- //0.1 表:rename dept to dt;
- rename dt to dept;
- //0.2 列:alter table dept rename column loc to location;
- alter table dept rename column location to loc;
- //1.添加约束
- //1.1 primary key
- alter table employee_info add constraint pk_emp_info primary key(empno);
- //1.2 foreign key
- alter table employee_info add constraint fk_emp_info foreign key(deptno)
- references dept(deptno);
- //1.3 check
- alter table employee_info add constraint ck_emp_info check
- (sex in ('F','M'));
- //1.4 not null
- alter table employee_info modify phone constraint not_null_emp_info not null;
- //1.5 unique
- alter table employee_info add constraint uq_emp_info unique(phone);
- //1.6 default
- alter table employee_info modify sex char(2) default 'M';
- //2.添加列
- alter table employee_info add id varchar2(18);
- alter table employee_info add hiredate date default sysdate not null;
- //3.删除列
- alter table employee_info drop column introduce;
- //3.修改列
- //3.1 修改列的长度
- alter table dept modify loc varchar2(50);
- //3.2 修改列的精度
- alter table employee_info modify empno number(2);
- //3.3 修改列的数据类型
- alter table employee_info modify sex char(2);
- //3.4 修改默认值
- alter table employee_info modify hiredate default sysdate+1;
- //4.禁用约束
- alter table employee_info disable constraint uq_emp_info;
- //5.启用约束
- alter table employee_info enable constraint uq_emp_info;
- //6.延迟约束
- alter table employee_info drop constraint fk_emp_info;
- alter table employee_info add constraint fk_emp_info foreign key(deptno)
- references dept(deptno)
- deferrable initially deferred;
- //7.向表中添加注释
- comment on table employee_info is 'information of employees';
- //8.向列添加注释
- comment on column employee_info.ename is 'the name of employees';
- comment on column dept.dname is 'the name of department';
- //9.清除表中所有数据
- truncate table employee_info;
- //10.删除表
- drop table employee_info;
- --
- //下面来看看刚刚才我们对表dept和表employee_info所做的更改
- //user_constraints视图里面包含了刚刚才我们创建的所有约束,以及其他信息,
- //你可以用desc user_constraints命令查看其详细说明
- select constraint_name,constraint_type,status,deferrable,deferred
- from user_constraints
- where table_name='EMPLOYEE_INFO';
- --
- CONSTRAINT_NAME CONSTRAINT_TYPE STATUS DEFERRABLE DEFERRED
- ------------------------------ --------------- -------- -------------- ---------
- PK_EMP_INFO P ENABLED NOT DEFERRABLE IMMEDIATE
- FK_EMP_INFO R ENABLED DEFERRABLE DEFERRED
- NOT_NULL_EMP_INFO C ENABLED NOT DEFERRABLE IMMEDIATE
- SYS_C005373 C ENABLED NOT DEFERRABLE IMMEDIATE
- UQ_EMP_INFO U ENABLED NOT DEFERRABLE IMMEDIATE
- CK_EMP_INFO C ENABLED NOT DEFERRABLE IMMEDIATE
- //我们可以通过user_cons_columns视图查看有关列的约束信息;
- select owner,constraint_name,table_name,column_name
- from user_cons_columns
- where table_name='EMPLOYEE_INFO';
- --
- OWNER CONSTRAINT_NAME TABLE_NAME COLUMN_NAME
- ------------------------------ ------------------------------ ------------------------------ ---------------
- YEEXUN PK_EMP_INFO EMPLOYEE_INFO EMPNO
- YEEXUN CK_EMP_INFO EMPLOYEE_INFO SEX
- YEEXUN NOT_NULL_EMP_INFO EMPLOYEE_INFO PHONE
- YEEXUN SYS_C005373 EMPLOYEE_INFO HIREDATE
- YEEXUN UQ_EMP_INFO EMPLOYEE_INFO PHONE
- YEEXUN FK_EMP_INFO EMPLOYEE_INFO DEPTNO
- //我们将user_constraints视图与user_cons_columns视图连接起来
- //查看约束都指向哪些列
- column column_name format a15;
- select ucc.column_name,ucc.constraint_name,uc.constraint_type,uc.status
- from user_constraints uc,user_cons_columns ucc
- where uc.table_name=ucc.table_name and
- uc.constraint_name=ucc.constraint_name and
- ucc.table_name='EMPLOYEE_INFO';
- --
- COLUMN_NAME CONSTRAINT_NAME CONSTRAINT_TYPE STATUS
- --------------- ------------------------------ --------------- --------
- EMPNO PK_EMP_INFO P ENABLED
- DEPTNO FK_EMP_INFO R ENABLED
- PHONE NOT_NULL_EMP_INFO C ENABLED
- HIREDATE SYS_C005373 C ENABLED
- PHONE UQ_EMP_INFO U ENABLED
- SEX CK_EMP_INFO C ENABLED
- --
- //这里有个constraint_type,他具体指下面几种类型:
- //C:check,not null
- //P:primary key
- //R:foreign key
- //U:unique
- //V:check option
- //O:read only
- --
- //我们可以通过user_tab_comments视图获得对表的注释
- select * from user_tab_comments
- where table_name='EMPLOYEE_INFO';
- TABLE_NAME TABLE_TYPE COMMENTS
- ------------------------------ ----------- --------------------------
- EMPLOYEE_INFO TABLE information of employees
- --
- //我们还可以通过user_col_comments视图获得对表列的注释:
- select * from user_col_comments
- where table_name='EMPLOYEE_INFO';
- --
- TABLE_NAME COLUMN_NAME COMMENTS
- ------------------------------ ------------------------------ ---------------------------
- EMPLOYEE_INFO EMPNO
- EMPLOYEE_INFO DEPTNO
- EMPLOYEE_INFO ENAME the name of employees
- EMPLOYEE_INFO SEX
- EMPLOYEE_INFO PHONE
- EMPLOYEE_INFO ADDRESS
- EMPLOYEE_INFO ID
- EMPLOYEE_INFO HIREDATE
- --
- select * from user_col_comments
- where table_name='EMPLOYEE_INFO' and
- comments is not null;
- --
- TABLE_NAME COLUMN_NAME COMMENTS
- ------------------------------ ------------------------------ ------------------------
- EMPLOYEE_INFO ENAME the name of employees
- --
- //最后我们来查看一下修改后的表:
- desc employee_info;
- Name Type Nullable Default Comments
- -------- ------------ -------- --------- ---------------------
- EMPNO NUMBER(2)
- DEPTNO NUMBER(3) Y
- ENAME VARCHAR2(10) Y the name of employees
- SEX CHAR(2) Y 'M'
- PHONE NUMBER(11)
- ADDRESS VARCHAR2(50) Y
- ID VARCHAR2(18) Y
- HIREDATE DATE sysdate+1
- --
- desc dept;
- Name Type Nullable Default Comments
- ------ ------------ -------- ------- ----------------------
- DEPTNO NUMBER(3)
- DNAME VARCHAR2(10) Y the name of department
- LOC VARCHAR2(50) Y
oracle create table(转)的更多相关文章
- oracle, create table, insufficient privileges
SQL> exec pro_gz_day_report; ORA-01031: insufficient privileges ORA-06512: at & ...
- create table 使用select查询语句创建表的方法分享
转自:http://www.maomao365.com/?p=6642 摘要:下文讲述使用select查询语句建立新的数据表的方法分享 ---1 mysql create table `新数据表名` ...
- oracle job create table insert into
create or replace procedure proc_tzyj is begin insert into t_trade_activity@dw3_link.regress.rdbms.d ...
- Oracle Demo ->> CREATE TABLE
Demo One CREATE TABLE employees_demo ( employee_id ) , first_name ) , last_name ) CONSTRAINT emp_las ...
- Oracle创建表语句(Create table)语法详解及示例
创建表(Create table)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字 ...
- sql: Oracle 11g create table, function,trigger, sequence
--书藉位置Place目录 drop table BookPlaceList; create table BookPlaceList ( BookPlaceID INT PRIMARY KEY, -- ...
- Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13| 分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...
- oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别
create table as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...
- ORACLE的Copy命令和create table,insert into的比较
在数据表间复制数据是Oracle DBA经常面对的任务之一,Oracle为这一任务提供了多种解决方案,SQL*Plus Copy 命令便是其中之一.SQL*Plus Copy 命令通过SQL*Net在 ...
随机推荐
- NBIbatis 框架体系说明
框架体系说明 Application 表现层 表现层必须通过Business业务规则层操作数据库,不能直接调用DataAccess数据访问. Sqlmap.config配置: connectionSt ...
- [ACM_其他] 总和不小于S的连续子序列的长度的最小值——尺缩法
Description: 给定长度为n的整数数列,A[0],A[1],A[2]….A[n-1]以及整数S,求出总和不小于S的连续子序列的长度的最小值.如果解不存在,则输出0. Input: 输入数据有 ...
- [汇编] 从键盘输入一个一位数字,然后响铃n声
; multi-segment executable file template. data segment ends stack segment dw dup() ends code segment ...
- 利用模拟退火提高Kmeans的聚类精度
http://www.cnblogs.com/LBSer/p/4605904.html Kmeans算法是一种非监督聚类算法,由于原理简单而在业界被广泛使用,一般在实践中遇到聚类问题往往会优先使用Km ...
- beego中orm关联查询使用解析
这两天在学习beego框架,之前学习的时候遗漏了很多东西,比如orm.缓存.应用监控.模板处理等,这里将通过实例记录下如何使用beego自带的orm进行关联查询操作. 首先说明下,beego的orm有 ...
- MyEclipse使用总结——MyEclipse文件查找技巧 ctrl+shift+R ctrl+H
一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...
- this和super用法的总结
在学习this和super关键字时,发现它们有诸多相同点,同时这两个关键字非常常用,现对它们做以下的总结. 一.概况 This: This指代当前对象,this()指代当前对象的其他构造函数 Supe ...
- javaweb回顾第五篇浅谈会话
1:什么是会话 通俗来说就是客户和服务器的一次私密谈话,客户发送请求以后服务器能够识别请求是来自同一个客户,他们是1对1的关系. 了解会话以后我们就要去考虑如何去实现这些问题下面一一进行解析 2:会话 ...
- Activiti 删除流程定义
package com.mycom.processDefinition; import java.io.InputStream; import java.util.List; import java. ...
- 翻译:微软style的并行计算
Parallel Microsoft-Style By Andrew Binstock, July 20, 2011 Note:主要是自动翻译,俺做了小量修改 1 Comment The actor ...