Oracle資料庫的基本查詢
阿新 • • 發佈:2019-02-12
·基本sql語句
1、DDL資料庫定義語言
主要用於建立、修改、刪除資料庫物件(表),不需要事務的參與 CREATE:建立表 CREATE TABLE emp( id NUMBER(10), name VARCHAR2(20), gender CHAR(1), birth DATE, salary NUMBER(6,2) ); DESC :查詢表結構 DESC emp; RENAME:重命名錶名 RENAME emp TO employee; DROP:刪除表 DROP TABLE emp; ALTER:列(欄位)操作 ADD:增加欄位 ALTER TABLE employee ADD (birth DATE DEFAULT sysdate); MODITY:修改欄位 ALTER TABLE employee MODIFY (name VARCHAR2(40) DEFAULT 'CLERK' ); DROP:刪除欄位 ALTER TABLE employee DROP (birth);
2、資料庫操作語言DML
用於對資料記錄進行操作,包括插入,刪除,修改,查詢。前三者需要commit才能真正確認操作,如果需要撤銷則rollback。
TIP:Sql語句錯誤時,輸入edit修改,並用/提交修改後的語句
INSERT INTO:插入資料 INSERT INTO employee(id, name, salary) VALUES(1001, 'rose', 5500); UPDATE…SET..:更新資料 UPDATE employee SET salary = 8500 WHERE name = 'ROSE'; DELETE FROM:刪除記錄 DELETE FROM employee WHERE job is null;
注意,如果需要插入時間,需要使用時間格式化函式to_date()進行插入
insert into emp(birth) values (to_date('2018-02-02','yyyy-mm-dd'));
輸入的sql語句出現錯誤,可輸入edit語句進行編輯
EDIT:修改上一條sql
/:提交sql
基本查詢:
select name,birth from emp;
select name||'的工資是'||salary from emp;
select count(*) from emp;
select distinct(name) from emp;
條件查詢
select * from emp where name like '%o%'; select * from emp order by id desc;
·Oracle的函式
·單行函式
·字元函式
小寫化 select lower('Hello World') from dual;
剔除 select trim('h','Hello Worldh') from dual;
查詢位置 select instr('Hello World','r') 位置 from dual;
擷取 select substr('Hello World',3,4) from dual;
·數值函式
四捨五入 select round(45.666,2) from dual;
截斷 select trunc(45.666,2) from dual;
求餘 select mod(45.666,2) from dual;
格式化求系統時間 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
·多行函式(組函式)
avg(),sum(),min(),count()
select sum(salary)/count(*) 一,avg(salary) 二 from emp;
注意,count(*)代表表中所有行數,無論該行的salary列為不為空,所以一可能是錯誤的,數值偏小或等於avg(salary);
分組查詢:
select id,conut(*) from emp group by id;
抽象出來:
select a,b,組函式(b) from xx group by a,b;
如果a,b是部門和職位,組函式(b)求的是薪水平均值,那麼這個分組查詢的結果就是查詢各部門中的各職位的薪水平均值;