1. 程式人生 > >Oracle資料庫的基本查詢

Oracle資料庫的基本查詢

·基本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)求的是薪水平均值,那麼這個分組查詢的結果就是查詢各部門中的各職位的薪水平均值;