SQL语句整理
来源:互联网 发布:知乎 收缩毛孔 编辑:程序博客网 时间:2024/05/08 12:44
字段描述增、删、改
添加字段的语法:
alter table tablename add (column datatype [default value][null/not null],….);
删除字段
alter table tablename drop (column);
修改字段alter table tablename modify (column datatype [default value][null/not null],….);
//修改数据表列的类型无数据时:ALTER TABLE INV.TRAN_INV_BILL MODIFY SERIALNO VARCHAR2(36)
有数据时:1、INV.TRAN_INV_BILL 表 2、进行修改列 SERIALNO 3、TEMP_ROWNAME临时列
ALTER TABLE INV.TRAN_INV_BILL RENAME COLUMN SERIALNO TO TEMP_ROWNAME;ALTER TABLE INV.TRAN_INV_BILL ADD SERIALNO VARCHAR2(36);
UPDATE INV.TRAN_INV_BILL SET SERIALNO = CAST(TEMP_ROWNAME AS VARCHAR2(36));
ALTER TABLE INV.TRAN_INV_BILL DROP COLUMN TEMP_ROWNAME
修改表名称语法:
alter table cux.cux_xxx RENAME TO cux_xxx1;
修改表名称语法:
alter table cux.cux_xxx RENAME TO cux_xxx1;
添加主键(联合主键):
constraint PK_tab PRIMARY key (ID1,ID2) --主键(建表语句中写)
alter table tab add constraint pk_tab2 primary key (id1,id2);--建好表后写
新增表修改表名称语法: alter table cux.cux_xxx RENAME TO cux_xxx1;
修改表名称语法:
alter table cux.cux_xxx RENAME TO cux_xxx1;
create table 新表 as select * from 旧表 where rownum < 1;
SQL执行顺序:
1. 先where 后select
2. 先where 再group 再having 后select
3. 先where 再group 再having 再select 后order
4. 先join 再where 后select
序列问题
Oracle中一般将自增sequence重置为初始1时,都是删除再重建,这种方式有很多弊端,依赖它的函数和
存储过程将失效,需要重新编译。
不过还有种巧妙的方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的
这个值(反过来走),然后再改回来。
假设需要修改的序列名:seq_name*/
1、selectseq_name.nextval from dual; //假设得到结果5656
2、 alter sequenceseq_name increment by -5655; //注意是-(n-1)
3、 selectseq_name.nextval from dual;//再查一遍,走一下,重置为1了
4、 alter sequenceseq_name increment by 1;//还原
//可以写个存储过程,以下是完整的存储过程,然后调用传参即可:
create or replace procedure seq_reset(v_seqname varchar2) as n number(10);
tsql varchar2(100);
begin
execute immediate 'select '||v_seqname||'.nextval from dual' into n;
n:=-(n-1);
tsql:='alter sequence '||v_seqname||' increment by '|| n;
execute immediate tsql;
execute immediate 'select '||v_seqname||'.nextval from dual' into n;
tsql:='alter sequence '||v_seqname||' increment by 1';
execute immediate tsql;
end seq_reset;
获取表从XX条到NN条的数据
查询时加rownum字段(update可以直接当过滤条件使用,查询不可以当过滤条件用)
SELECT t1.* FROM (SELECT rownum row_num, t.*
FROM (SELECT * FROM cux.temp_cux_inv_profitloss t
ORDER BY t.serialno) t) t1
WHERE t1.row_num > XX AND t1.row_num <= NN;
修改表名称语法: alter tablecux.cux_xxx RENAME TO cux_xxx1;
- 精妙SQL语句整理
- Sql语句小整理
- SQL 语句的整理!
- 精妙SQL语句整理
- 精妙SQL语句整理
- 精妙SQL语句整理
- 整理的sql语句
- 精妙SQL语句整理
- 精妙SQL语句整理
- 精妙SQL语句整理
- Sql 语句整理
- 精妙SQL语句整理
- SQL语句整理
- 精妙SQL语句整理
- Sql基础语句【整理】
- SQL语句用法整理
- 精妙SQL语句整理
- 精妙SQL语句整理
- windows socket api 函数大全
- Android实现QQ空间沉浸式状态栏,并且滑动ListView实现透明度变化
- Dagger2
- hibernate复合主键映射
- 2.ExpandableListView的使用
- SQL语句整理
- 【NWERC2015】【BZOJ4425】AssigningWorkstations分配工作站
- 淘宝架构框架
- WIFI 热点开发
- 互联网思维
- asm jar包冲突
- 用自己手机调试android app时候target unknown解决办法
- Android项目框架搭建 (分析需求、整理资料)
- 内存管理基本原则