Oracle資料庫操作

來源:互聯網
上載者:User

標籤:res   外鍵   nbsp   修改表   including   rom   例子   tables   ons   

--查詢員工表資料
select * from emp;

--建立資料表空間
create tablespace sp_java1608
datafile ‘e:\data\data1.mdf‘ size 100 M;

--修改資料表空間

--空間變為200M
alter tablespace sp_java1608
add datafile ‘e:\data\data2.mdf‘ size 100 M;

--刪除資料表空間
drop tablespace sp_java1608 including contents and datafiles;

--建立使用者(create user username identified by password)設定預設資料表空間

create user java1608
identified by java1608
default tablespace sp_java1608;

--刪除使用者
drop user java1608;

--賦予許可權:

--connect :可以登入Oracle,不可以建立實體,不可以建立資料庫結構。

--session 建立會話的許可權

--DBA:擁有全部特權

--RESOURCE:擁有Resource許可權的使用者只可以建立實體,不可以建立資料庫結構

 

grant create session to java1608;

grant create connect to Java1608;

grant resource to java1608;

--回收許可權
revoke resource from java1608;

--rowID,rownum   都是偽列

--rowid在資料庫中具有唯一性,在同一個資料庫中是不會重複的,而rownum則可以理解為行號。
--常用於資料庫分頁
--如下例子:3當前是第幾頁,2代表每頁顯示幾條資料
select * from
(
select rownum as eid,emp.* from emp
) tmp where eid between (3*2)+1 and (3+1)*2;

 

--單表查詢
--select 列名1,列名2,... from 表名 where 條件

select * from emp;

select ename,sal from emp;

select * from emp where empno = 7369;

--distinct 除去列名重複

 

select distinct job from emp;

--oracle預設是隱含交易
--插入資料
insert into emp values(1000,‘張三‘,‘CLERK‘,7698,to_date(‘2000/01/01‘,‘yyyy/mm/dd‘),300.5,100.6,20);

insert into emp values(1001,‘lisi‘,‘CLERK‘,7698,to_date(‘2000/01/01‘,‘yyyy/mm/dd‘),300.5,100.6,20);

--rollback為撤回行為 與之相對的為commit提交事務 

rollback;

--計算資料行
select ename,sal+comm as totalsal from emp where comm is not null;

select * from emp where ename like ‘%E%‘;

select * from emp where ename like ‘%E_‘;-- _偉%

--串連運算子

--dual 是為了讓查詢文法完成而存在的關鍵字
select ‘a‘ || ‘b‘ from dual;

--彙總函式,資料庫通用函數 
select min(sal) from emp;

select job, max(sal) from emp group by job having max(sal)>=2000;

select avg(sal) from emp;

select sum(sal) from emp;

select count(*) from emp;

--建立表
create table t_student
(
sno char(10),
name nvarchar2(6),
sex char(1),
address varchar2(200),
birthday date
);

select * from t_student;

insert into t_student(sex) values(‘m‘);

--資料完成整性
--修改表/增加列
alter table t_student
add mphone char(11);

--修改表/修改列
alter table t_student
modify mphone char(12) not null;

--修改表/刪除列
alter table t_student
drop column mphone;

--表改名
alter table t_student_1
rename to t_student;

--刪除表
drop table t_student;

--實體完整性\值域完整性\參考完整性(約束來實現)
--主鍵約束(非空,唯一,聚焦索引)
alter table t_student
add constraint pk_student_sno primary key (sno);

--非空約束
alter table t_student
modify name varchar2(6) not null;

alter table t_student
modify sex not null;

--預設值約束
alter table t_student
modify sex default ‘m‘;

--唯一性限制式
alter table t_student
add constraint un_student_name unique (name);

--檢查性約束

--between為前後閉區間
alter table t_student
add constraint ck_student_sex check (sex=‘m‘ or sex =‘f‘);

alter table t_student
add constraint ck_student_birthday check (birthday between to_date(‘1900/01/01‘,‘yyyy/mm/dd‘) and to_date(‘2016/11/27‘,‘yyyy/mm/dd‘));

--外鍵約束

--主鍵(主表);外鍵 (從表)

alter table t_score
add constraint fk_score_sno foreign key (sno) references t_student(sno);

create table t_score
(
sid int primary key,
math int not null,
chenese int not null,
sno char(10) 
) ;

select * from t_score;

--刪除表所有資料

delete from t_score;

--關聯表資料一一對應

insert into t_score values(1,20,30,‘s001‘);
insert into t_score values(2,20,30,‘s002‘);
insert into t_score values(3,20,30,‘s003‘);
insert into t_score values(4,20,30,‘s004‘);

insert into t_student(sno,name,sex,birthday) values(‘s001‘,‘zhang‘,‘f‘,to_date(‘1900/01/01‘,‘YYYY/MM/DD‘));
insert into t_student(sno,name,sex,birthday) values(‘s002‘,‘li‘,‘m‘,to_date(‘1900/01/01‘,‘YYYY/MM/DD‘));
insert into t_student(sno,name,sex,birthday) values(‘s003‘,‘zhao‘,‘f‘,to_date(‘1900/01/01‘,‘YYYY/MM/DD‘));
insert into t_student(sno,name,sex,birthday) values(‘s004‘,‘wang‘,‘m‘,to_date(‘1900/01/01‘,‘YYYY/MM/DD‘));

select * from t_student;

delete from t_student;

 

Oracle資料庫操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.