8 11Oracle 資料查詢

2021-09-26 23:03:32 字數 1946 閱讀 8993

重點

單張表的curd

多張表的curd

1 sql

sql structed query language 結構化查詢語言

授權:scott把查詢emp的許可權給tom

grant select on emp to tom

語句要傳輸到oracle伺服器,被執行

2 查詢

select 字段 from 表

查詢乙個字段

select ename from scott.emp

查詢多個字段

select eno,ename from scott.emp

查詢所有

select * from 表

3 按條件查詢

select 字段 from 表 where 條件

例如 查詢工資大於2000的員工資訊

select * from emp where sal>2000

查詢scott的員工資訊

select * from emp where ename=『scott』

查詢除了scott的員工資訊

select * from emp where ename <> 『scott』

4 插入資料

向s表中新增一條記錄

insert into s(sno,sname,city) values(『s1』,『海南公司』,『海口』);

如果向表種插入所有欄位都插入記錄,則字段可以省略

insert into s values(『s1』,『海南公司』,『海口』);

向某些列插入資料

insert into s(sno,sname) values(『s1』,『海南公司』);

現在有乙個stuinfo表,要做一張備份表。備份表結構要跟stuinfo一樣。

問:怎麼建立乙個備份表?

複製一張表,包括資料

create table stuinfobak as select * from stuinfo;

如果只想要表結構,不想要資料

create table stuinfobak as select * from stuinfo where 4=3;

向sruinfobak中插入stuinfo的資料

insert into stuinfobak select * from stuinfo。

5 更新

update 表名 set 字段=值 where 條件

如果不加條件會修改所有的記錄

update stuinfo set stuage = 26;

修改的條件,條件一般是主鍵等於***

– to-date('2019/1/1,『yyyy-mm-dd』)把字串按格式轉換成日期型別

update stuinfo set stuage =27,stuname=『sadsa』,

behin_date=to-date('2019/1/1,『yyyy-mm-dd』) where stuno=『101010』;

6 刪除

delete from 表 where 條件

刪除 學號是101012的記錄

delete from stuinfo where stuno=『101012』;

清空表(事物)

truncate table stuinfo;

如果沒有新增主鍵,插入的資料重複了

查詢不重複的資料

select distinct * from stuinfo;

移除掉重複的資料

select

dba database administrator

不要弄聯合主鍵 維護效率低 要搞主鍵可以設定乙個 scno當主鍵

oracle高階資料查詢技術

實驗目的 一 掌握日期型資料的操作技術 二 掌握層次查詢技術 三 理解情景查詢與翻譯查詢技術 四 了解統計查詢技術 實驗內容 一 日期型資料的操作 日期型資料的查詢顯示 不同語言環境下日期型資料查詢結果的差異 session 每建立乙個連線connection會建立乙個session會話 自由控制日...

oracle資料查詢時間

現在我要查 select from dual where time to date 2012 06 18 11 41 41 yyyy mm dd hh24 mi ss 這樣是能查詢處理的。但是,時間是我從頁面得到的值,是省略了時分秒的 select from dual where time to d...

oracle千萬級資料查詢優化

需求 組合查詢,按條件統計某幾個欄位取前100條記錄 問題 沒建索引導致查詢結果耗時5秒多,不能忍受。解決方法 建索引,在哪個欄位建?在這裡先提下oracle的sql語句的執行。oracle在執行sql語句之前會用優化器optimizer對sql語句進行解析,解析出最優的執行計畫再執行,這樣所花費的...