导航

SQL基础速查

Posted on 2007-01-19 15:53  小西  阅读(200)  评论(0)    收藏  举报

/*****************************************
    修改表名
******************************************/
ALTER TABLE  原表名  RENAME TO 修改后的表名 ;

/****************************
    用system查看表是所那个用户的
*****************************/

select owner,table_name from dba_tables where table_name='<table_name>';

//表是否存在

SELECT COUNT(*) FROM USER_TABLES WHERE TABLE_NAME = '<表名大写>';
0不存在,1存在


/*****************************************
    删除列
******************************************/
alter table table_name drop Column field_name
例:
alter table NOR_NOAA_INFO drop column WRONG_NO;

/*** 添加字段 *********/
alter table hetong_da add(FH_TYPE  VARCHAR2(40));

/*修改字段类型*/
alter table nor_dtmt_info modify (user_no number(10));
或者
try:

alter table tbname add col_temp varchar2(..);
update tbname st col_temp=col_name;
update tbname set col_name=null;
commit;
alter table tbname modify (col_name clob);
update tbname set col_name=col_temp;
alter table tbname drop column col_temp;
 


/*****用SQL语句抓出表中栏位的字段大小等相关信息 **/
 desc 表名;

/***如何使用SQL修改字段长度? **/
alter table 表名 modify(字段 varchar2(20), 字段 varchar2(50))

/****在数据库中随机抽N条记录****/
select rownum,device_number from info_cdma  where rownum=round(dbms_random.value*n)

/****删除重复数据*****/
SELECT * from cdma_local_tmp a where a.rowid!=(select max(rowid) from cdma_local_tmp b
where a.user_no=b.user_no)

/**修改字段名** address 为原字段,city为修改后字段/
ALTER TABLE tablename RENAME COLUMN address TO city;

//update 多个字段

UPDATE staff_base_info t
SET (T.CDMA_NUM,T.CDMA_PAY)=
(SELECT B.CDMA_NUM,B.CDMA_PAY from temp22 B where t.staff_id=b.staff_id  )

//直接删除表数据
truncate table  nor_detainment_info
//读表的字段属性
SELECT * FROM USER_TAB_COLUMNS k where k.TABLE_NAME = 'ERP_POP_TYPE_LOG'
//查树形结构
select dept_id, dept_name,level
  from code_dept m
 start with dept_id = 530
connect by prior dept_id = parent_dept_id
 order by level
//查最大ID别一种方法
select *
  from
(
select row_number() over(partition by m.userno order by m.examdate desc) rno,
        m.*
        from adsl_visit_exam m
        )
        where rno =1