sqlplus命令的集合

格式化从varchar2到clob字段类型修改:

1.第一步,先备份要操作的表,如下

   C:\Documents and Settings\Administrator>D:

   D:\>cd D:\oracle\product\10.2.0\db_1\BIN

   D:\oracle\product\10.2.0\db_1\BIN>exp 用户名/密码 tables=(BO_INFO_SEND) file=D:\
 BO_INFO_SEND.dmp

2.清空要操作的表,(如有数据不能进行表结构的修改)

    SQL> Truncate Table BO_INFO_SEND; 

3. 先将操作的表中DESCRIPT字段,转换成LONG, 再将LONG类型转成clob类型(不知为何不能直接转成CLOB类型)

ALTER TABLE BO_INFO_SEND MODIFY DESCRIPT LONG;

ALTER TABLE BO_INFO_SEND MODIFY DESCRIPT CLOB;

4. 导入数据(不要导入表结构)即可:
   D:\oracle\product\10.2.0\db_1\BIN>imp 用户名/密码  file=D:\BO_INFO_SEND.dmp ignore=y

  (2)imp 用户名/密码@数据库名 FILE=/aa/bb/20110317.dmp LOG=20110317.log  ignore=y  fromuser=原用户名  touser=新用户名

 ---------------------------------------------上面那种方式好像没起到效果。

--------------------------------用下面的方式:

ALTER TABLE BO_INFO_SEND ADD (MONITOR_LIST_CLOB CLOB);   --新增一列
UPDATE BO_INFO_SEND SET MONITOR_LIST_CLOB=MONITOR_LISt;  --将内容复制
ALTER TABLE BO_INFO_SEND DROP COLUMN MONITOR_LIST;   ----删掉旧列
ALTER TABLE BO_INFO_SEND RENAME COLUMN MONITOR_LIST_CLOB TO MONITOR_LIST;   ---将新列改名

------------------------------------------------- 

 

格式化:col first_name format a10;

1. desc ES_PROG_INSTALL;
2. alter table ES_PROG_INSTALL add id number(12) not null primary key;

    alter table ES_BILL_FIELD_MAP modify id not null;

    alter table sc_sys_para modify value_chname varchar2(512);

    alter  table people  rename column  sex1 to sex;

    alter table people  drop column sex;

    --删除列 ALTER TABLE ES_BRANCH_REGISTER DROP COLUMN id;
3. 查询某个表中的主键字段名(这里是区分大小写的)
  select col.column_name
  from user_constraints con,  user_cons_columns col
  where con.constraint_name = col.constraint_name
  and con.constraint_type='P'
  and col.table_name = 'ES_PROG_INSTALL'
      //下面是转换的,通用的sql。
      select col.column_name
  from user_constraints con,  user_cons_columns col
  where con.constraint_name = col.constraint_name
  and con.constraint_type='P'
  and upper(col.table_name) = upper('ES_PROG_INSTALL')
  或者and lower(col.table_name) = lower('ES_PROG_INSTALL')

4.查询某个表中的字段名称、类型、精度、长度、是否为空
  select COLUMN_NAME,DATA_TYPE,DATA_PRECISION,DATA_SCALE,NULLABLE
  from user_tab_columns
  where table_name ='ES_PROG_INSTALL'
5.--查找主键约束名
    select T.constraint_name from USER_CONSTRAINTS T where table_name='ES_PROG_INSTALL' and constraint_type='P' AND ROWNUM<2;
    结果是:PK_ES_PROG_INSTALL
--删除主键约束
  ALTER TABLE ES_PROG_INSTALL DROP CONSTRAINT  PK_ES_PROG_INSTALL;
--添加主键
  alter table ES_PROG_INSTALL add constraint PK_ES_PROG_INSTALL  primary key (id); 

--添加唯一性约束、添加unique约束
  alter table ES_BILL_FIELD_MAP add constraint UN_EC_BILL_FIELD_MAP unique(CUST_ID, FIELD_NAME)
--取消唯一性约束unique
  alter table ES_BILL_FIELD_MAP drop constraint sys_c005472;

 

--删除索引
查找要删除的索引名称
运行此语句:
select index_name,table_owner,table_name,tablespace_name,status from user_indexes order by table_name;
然后运行
drop index sys_coo5472;

 

--先用此语句查看某个表的所有约束:
select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUS from user_constraints WHERE TABLE_name=upper('&TABLE_Name');

删除表:drop table ES_BILL_FIELD_MAP

创建表:

create table ES_BRANCH_REGISTER (
   ID                   NUMBER(12)                     not null constraint PK_ES_BRANCH_REGISTER primary key,
   BRAN_ID              NUMBER(12)                     not null,
   SERIAL_NUM           VARCHAR2(40)                   not null,
   AUTH_STAT            number(4)                      null,
   VERSION              VARCHAR(14)                    not null,
   CREATED              DATE                           default SYSDATE not null,
   CREATED_BY           number(12)                     not null,
   STATUS               VARCHAR(2)                     not null,
   LAST_UPD             DATE                           default SYSDATE null,
   LAST_UPD_BY          number(12)                     null,
   REMARKS              VARCHAR(100)                   null
)

 

***********************************************************************

 

参考如下:

--以表 student,study,score 为例
--1.增加列
alter table student  add (sex varchar2(2) DEFAULT '女',age integer,address varchar(100)) ;
/
--2.修改列定义
ALTER TABLE student MODIFY sex VARCHAR2(4)  DEFAULT '男';
/
--3.删除列
ALTER TABLE student DROP COLUMN address;
/
--4.修改列名
ALTER TABLE student RENAME COLUMN   sid to sno;
/
ALTER TABLE student RENAME COLUMN   sno to sid;
/
--5.修改表名
RENAME study TO Learn;
/
RENAME Learn TO study;
/
--6.增加注释
-- 给表添加释
COMMENT ON TABLE STUDY IS '学习信息表';
/
--给列添加注释
COMMENT ON COLUMN STUDY.SID IS '学员编号';
/
--7.增加外键关联
ALTER TABLE study ADD CONSTRAINT FK_study_R_student_S FOREIGN KEY (SID) REFERENCES  student(SID);

/
--8.修改主键
--查找主键约束名
select T.constraint_name from USER_CONSTRAINTS T where table_name='STUDY' and constraint_type='P' AND ROWNUM<2;
/
--删除主键约束
ALTER TABLE study DROP CONSTRAINT  PK_STUDY 
/  
--添加主键
alter table study add constraint PK_STUDY  primary key (cid,sid); 
/
commit;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值