SQL基礎

關連式資料庫

Relation Data Base(RDB)

資料表

table

紀錄

record

欄位

field

資料型態

datatype

階層式資料庫

查詢多
異動少

LDAP

Active Directory

RDB一統江湖

RDB的操作語言

Structured Query Language

發音 sequel

宣告式語言

2-tier

資料層獨立

前端獨立開發工具

後端資料庫伺服器

SQL標準

SQL-92

SQL指令類別

DDL, DML, DQL,DCL

資料庫定義語言(DDL)

create

建立資料庫物件

create table student ( SID char(8))

alter

變更資料庫物件屬性

alter table student add tel char(15)

alter table student alter tel char(20)

alter table student drop tel

drop

刪除資料庫物件

drop table student

資料操作語言(DML)

insert

新增記錄

insert into student (sid) values ('961225')

update

更改記錄

update student set nm='張三' where sid='961225'

delete from

刪除記錄

delete from student where nm='張三'

資料查詢語言(DQL)

select

選取資料庫中的資料

SQL命令的核心

縱向篩選

過濾重複

select distinct sid from student

函數配合

別名

select sid 學號, nm 姓名 from student

虛擬欄位

select sid, nm, tall*1.1 身高 from student

橫向篩選

select * from student where sid='95'

比較

select * from student where tall>170

包含

select * from student where nm like '%張%'

集合

select nm from student where dptcd not in ('C507','C302')

連續區間

select nm from student where tall between 170 and 180

函數配合

select nm from student where substring(sid,2,2)='95'

排序

select sid, nm from student order by nm, sid DESC

分類

select dptcd from student group by dptcd

合併查詢

select s.sid, s.nm, d.dptnm from student s, department d where s.dptcd=d.dptcd

資料控制語言(DCL)

grant revoke commit rollback