您的位置:首页 > 数据库 > Oracle

oracle基本操作

2016-10-16 15:51 155 查看
今天来复习一下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条件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle