重點
單張表的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語句進行解析,解析出最優的執行計畫再執行,這樣所花費的...