ORACLE基本操作

来源:互联网 发布:淘宝网店代销平台 编辑:程序博客网 时间:2024/05/13 01:49

insert into tt(aa,aa1,aa2..) values(bb,cc,dd...)
 INSERT INTO 表名   SELECT 列名 from 表名

--

创建用户

 

create user han identified by han default tablespace 

users Temporary TABLESPACE Temp; 

grant connect,resource,dba to han; //

授予用户

han

开发人员的权利

 

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

对表的操作

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

--

创建表

 

create table classes( 

       id number(9) not null primary key, 

       classname varchar2(40) not null 

)       

--

查询表

 

select * from classes; 

--

删除表

 

drop table students; 

--

修改表的名称

 

rename alist_table_copy to alist_table; 

--

显示表结构

 

describe test --

不对没查到

 

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

对字段的操作

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

--

增加列

 

alter table test add address varchar2(40); 

--

删除列

 

alter table test drop column address; 

--

修改列的名称

 

alter table test modify address addresses varchar(40; 

--

修改列的属性

 

alter table test modi 

create table test1( 

       id number(9) primary key not null, 

       name varchar2(34) 

      ) 

rename test2 to test; 


-- 查看ORACLE 数据库中本用户下的所有表 
SELECT table_name FROM user_tables;

-- 查看ORACLE 数据库中所有用户下的所有表 
select user,table_name from all_tables;

-- 查看ORACLE 数据库中本用户下的所有列 
select table_name,column_name from user_tab_columns;

-- 查看ORACLE 数据库中本用户下的所有列 
select user,table_name,column_name from all_tab_columns;

-- 查看ORACLE 数据库中的序列号 
select * from user_sequences;

-- 上面的所有对象,都可以通过下面的SQL语句查询得到 
-- 
查询所有的用户生成的ORACLE对象 
SELECT * FROM user_objects;

-- 查看ORACLE 数据库中所有表的注释 
select table_name,comments from user_tab_comments;

-- 查看ORACLE 数据库中所有列的注释 
select table_name,column_name,comments from user_col_comments;

-- 给表加ORACLE的注释 
COMMENT ON TABLE aa10 IS '
系统参数表';

-- 给列加ORACLE的注释 
COMMENT ON COLUMN aa10.aaa100 IS '
参数类别';

-- 查看表中列的属性,包括 数据类型,是否非空等 
DESC aa10; 
-- 
通过系统表,查看表中列的属性,包括 数据类型,是否非空等 
SELECT table_name,COLUMN_ID,column_name,data_type,data_length,DATA_PRECISION,NULLABLE 
FROM user_tab_columns 
ORDER BY table_name,COLUMN_ID;

--查看所有表空间  

selecttablespace_name,sum(bytes)/1024/1024 from dba_data_files  group by tablespace_name

--查看未使用表空间大小

selecttablespace_name,sum(bytes)/1024/1024 from dba_free_space group bytablespace_name;


-- 
查看数据库中表、索引占用的数据库空间大小 
SELECT * FROM user_segments;

-- 查看所有表的记录数 
CREATE TABLE table_count(table_name VARCHAR2(50),columns NUMBER(20)); 
-- 
通过PB运行下面的语句,得到结果集,将结果集在PB下执行,最后提交
select 'insert into table_count values('''||table_name||''', (select count(1)from '||table_name||'));//'||comments from user_tab_comments; 
-- 
所有表的记录都在table_count 
SELECT * FROM table_count;


--

创建自增的序列

 

create sequence class_seq increment by 1 start with 1 MAXVALUE 999999 

NOCYCLE NOCACHE; 

select class_seq.currval from dual 

--

插入数据

 

insert into classes values(class_seq.nextval,'

软件一班

') 

commit; 

--

更新数据

 

update stu_account set username='aaa' where count_id=2; 

commit; 

--

创建唯一索引

 

create unique index username on stu_account(username);   --

唯一索引

 

能插入相同的数据

 

--

行锁

 

在新打开的对话中不能对此行进行操作

 

select * from stu_account t where t.count_id=2 for update; --

行锁

 

 

--alter table stuinfo modify sty_id to stu_id; 

alter table students drop constraint class_fk; 

alter table students add constraint class_fk foreign key (class_id) 

references classes(id);--

外键约束

 

alter 

table 

stuinfo 

add 

constraint 

stu_fk 

foreign 

key 

(stu_id) 

references 

students(id) ON DELETE CASCADE;--

外键约束

,

级联删除

 

alter table stuinfo drop constant stu_fk;    

insert into students values(stu_seq.nextval,'

张三

',1,sysdate); 

insert into stuinfo values(stu_seq.currval,'

威海

'); 

select * from stuinfo; 

create table zhuce( 

       zc_id number(9) not null primary key, 

       stu_id number(9) not null, 

       zhucetime date default sysdate 

create table feiyong ( 

       fy_id number(9) not null primary key, 

       stu_id number(9) not null, 

       mx_id number(9) not null, 

       yijiao number(7,2) not null default 0, 

       qianfei number(7,2) not null 

        

 

create talbe fymingxi( 

       mx_id number(9) not null primary key, 

       feiyong number(7,2) not null,     //

7

位数字,小数后有两位

 

       class_id number(9) not null 

create table card( 

       card_id number(9) primary key, 

       stu_id number(9) not null, 

       money number(7,2) not null default 0, 

       status number(1) not null default 0   --0

表可用

,1

表挂失

 

--

链表查询

 

select c.classname||'_'||s.stu_name as 

班级

_

姓名

,si.address from 

classes c,students s , stuinfo si where c.id=s.class_id and 

s.id=si.stu_id;  

insert into students values(stu_seq.nextval,'

李四

',1,sysdate); 

insert into stuinfo values(stu_seq.currval,'

南京

'); 

--

函数

 

select rownum,id,stu_name from students t order by id asc; 

 

--

中间表实现多对多关联

 

--

1   1

 1   n

n 1

n n 

 

 

--1 n

的描述

   1

的表不作处理

   n

的表有

1

表的字段

 

--1 1

的描述

   

主外键关联

 

--n n

的描述

 

中间表实现多对多关联

 

create 

table course( 

         course_id number(9) not null,


0 0
原创粉丝点击