學習總結 Oracle資料的基本用法

2021-07-28 18:22:51 字數 3310 閱讀 6920

1.解鎖scott使用者

---這句話的目的是為了檢視我登入的例項

select * from v$instance;

---v$開頭的動態效能試圖

---解鎖scott賬戶

select * from dba_users;

alter user scott identified by scott;

2.建立tbl_student表

create table tbl_student

(stu_id number(10),

stu_name varchar2(20),

phone_number varchar2(20)

)

3.給表中插入注釋

comment on table tbl_student is '學生基本資訊表';

comment on column tbl_student.stu_id is '學生編號';

comment on column tbl_student.stu_name is '學生姓名';

comment on column tbl_student.phone_number is '手機號碼';

4.表中插入資料

insert into student(stu_id,stu_name,phone_number)

values (1,'張三','18012341234');

insert into student(stu_id,stu_name,phone_number)

values (2,'李四','18012341234');

insert into student(stu_id,stu_name,phone_number)

values (3,'王五','18012341234');

commit;

5.新增列

alter table tbl_student add(stu_gender number(1));
6.新增性別:0表示男 1表示女

update tbl_student t set t.stu_gender ='0'where t.stu_id='1';
7.表資料的刪除

delete from tbl_student where id ='1';
8.清空表的兩種方式

no.1:delete:後面可以直接加條件 刪除我所指定的資料,刪除資料後 原有的資料塊不會被釋放 會產生高水位線問題 但delete支援回滾 速度較慢

no.2:truncate:truncate後面不能加條件 是對資料的直接清空 速度較快 能夠對錶空間得到釋放 但是turncate無法回滾

delete from tbl_student;

truncate from tbl_student;

9.修改表中資料

update tbl_student t set t.stu_name = '呵呵' where t.stu_id='1';
10.查詢表中的資料及部分用法

--查詢表中所有資料

select * from tbl_student;

--查詢id在3到8之間的資料

select * from tbl_student t where t.stu_id between 3 and 8;

--查詢性別為男的人數

select count(t.stu_id)from tbl_student t where t.stu_gender = '0';

--把兩個表的結果都查詢出來 兩個結果集並起來

--union on 和union 的區別:union 會對錶中的資料進行排序而且會清除重複資料 較消耗效能

select * from tbl_student union all select * from tbl_student2;

select * from tbl_student union select * from tbl_student2;

11.查詢男女比例

--case when 當滿足條件的時候

--then 要取得結果 end 表示case when 語句結束

select (count(case when t.stu_gender = '0'

then t.stu_id end)/count(t.stu_id))*100||'%' cnt_nan,

(count(case when t.stu_gender = '1'

then t.stu_id end)/count(t.stu_id))*100||'%' cnt_nv

from tbl_student t;

查詢結果:

12.統計人數最多的姓氏 和 統計人數最少的姓氏

select z.xin,z.cnt_xin

from(

select substr(t.stu_name,0,1) xin,count(t.stu_id) cnt_xin

from tbl_student t

group by substr(t.stu_name,0,1))z,

(select max(t.cnt_xin) mx,min(t.cnt_xin) mi

from(

select substr(t.stu_name,0,1) xin,count(t.stu_id) cnt_xin

from tbl_student t

group by substr(t.stu_name,0,1))t

) z2

where z.cnt_xin = z2.mx or z.cnt_xin = z2.mi;

查詢結果:

未完待續。。。。。。

oracle學習總結 plsql基本語法

if 布林表示式 then pl sql 和 sql語句 end if loop 要執行的語句 exit when 條件語句 條件滿足,退出迴圈語句 end loop declare int number 5 0 stuname student.sname type student.s type 男...

Oracle學習總結3 基本物件

一 表 1 表建立表 create table test1 tid number,tname varchar2 20 增加新列 alter table test1 add photo blob 修改列 alter table test1 modify tname varchar2 40 刪除列 al...

oracle資料庫逐步學習總結之基本命令(基礎一)

一 oracle的基本命令 1 連線命令 用法 conn 使用者名稱 密碼 網路服務名 as sysdba sysoper 2 disc onnection 斷開與當前資料庫的連線 3 passw ord 修改使用者密碼,修改其他使用者密碼,需要sys system使用者 4 show user 顯...