oracle基本操作

今天来复习一下oracle的基本操作,后来在项目中也经常使用oracle,但是只是部分,今天覆习一下学了的oracle常用的基础操作。

  • 登录oracle
sqlplus/as sysdba;
  • 启动oracle
startup;
  • 停止oracle
shutdown;
  • 创建新用户
create user username identified by password;
  • 授予用户权限
grant connect,resource to username;
  • 授予用户具体的权限
grant create session,create table;unlimited tablespace to username;
  • 连接用户
conn username/password;
  • 创建表空间
create tablespace tablespacename datafile '路径/test.dbf' size 50m; 
  • 给用户指定默认表空间
alter user username default tablespace tablespacename;
  • 查询表空间
select *from user_tablespaces;
  • 删除表数据
drop table tablename;
  • 复制空表结构
create table newtable as select *from oldtable where 1=2;
  • 复制表(含记录)
create table newtable as select *from oldtable;
  • 修改约束名称
alter table tablename rename constraint oldname to newname;
  • 删除约束
alter table tablename drop constraint cname;
  • 停止约束
alter table tablename modify constraint cname disable;
  • 启用约束
alter table tablename modify constraint cname enable validate;
  • 新增约束
alter table tablename add constraint constraintname foreigh(org_id) key (外键)references ref_table(ord_id);
  • 更改字段数据类型
alter table tablename modify(org_id varchar2(50 byte));
  • 更改字段数据长度
alter table tablename modify(org_id varchar2(80 byte));
  • 修改表的列名
alter table tablename rename column xx to yy;
  • 创建表(举例)
create table tablename(
sid number(10) primary key,
sname varchar2(100) not null, pwd varchar2(100) not null);
--属性之间逗号隔开,最后一个不加逗号
  • 插入一条数据
insert into tablename values(sequencename.nextval,?,?);
  • 创建一条序列
create sequence seq_tablename_tid start with 1001;
  • 修改表中一条数据
update tablename set tid=?,sname=?,pwd=? where sid=?
  • 修改数据时要拼接数据
update tablename set sid=? where tid in("+tid+");

对应的java中Dao层语句:

String sql=null;
if(tid.constains(",") && !tid.constains(" or ")){
sql="update tablename set sid=? where tid in("+tid+")"; return  .......}else{
sql="update tablename set sid=? where tid=?"; return ........}
  • 级联查询表数据(在做分页时用的sql语句)
select * from (select a.*,rownum rn from(select sid from tablename where tid=? order by sid)a where rownum<=?)where rn>?
  • 查询总数
select count(sid) as tatal from tablename where条件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章