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

ORACLE基本操作

2015-12-27 20:37 609 查看
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,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: