1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

hoa cuong có thì sử dụng – thích thì lao vào

61 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Neáu caùc bieåu thöùc sau töø khoaù VALUES hoaøn toaøn phuø hôïp veà thöù töï vôùi caùc coät trong baûng  danh saùch caùc coät sau töø khoùa INTO coù theå ñöôïc boû qua. INSERT INTO [r]

(1)

NGƠN NGỮ SQL

1 Ngơn ngữ mô tả liệu

(2)

CƠ SỞ DỮ LIỆU VÍ DỤ

Cho CSDL gồm Baûng sau:

SINHVIEN (MSSV, HOLOT, TEN, PHAI, NGAYSINH,

QUEQUAN, DIACHI, MALOP)

DSLOP (MALOP, TENLOP, SISO, MAKHOA) DSKHOA (MAKHOA, TENKHOA)

(3)

CƠ SỞ DỮ LIỆU VÍ DỤ

MSSV HOLOT TEN PHAI NGAY SINH

QUEQUAN DIACHI MAL OP T001 LE VAN TU NAM 13/5/81 TPHCM 12 LELOI-Q1 – TPHCM T1N D002 TRAN THI DIEM NU 3/12/82 HANOI 3/1A BAHAT - Q10 D1N H003 NGUYEN VU LINH NAM 1/6/80 DONGTHAP 25 VOTHISAU - Q3 H1N K004 CAO VAN HUNG NAM 31/7/81 VINHLONG 33/5 HONG HA – TB K1N T005 LE TIEN DUNG NAM 11/3/84 DONGNAI 77/8 LE LOI - Q1 T2N T006 DAO VAN DUNG NAM 6/6/79 HUE 38/4 TAM DAO – Q10 T1N H007 TRAN MINH HANH NU 4/8/81 HANOI BINHGIA – TB H1N D008 DINH THI TUYET NU 23/4/82 TPHCM 22 CC MIEUNOI D2N D009 LY HAI TRIEU NAM 18/2/81 CANTHO F7 NGUYEN OANH D1N K010 HA NGUYEN XUAN NU 16/3/80 ANGIANG 365 CAO THANG K1N

(4)

CƠ SỞ DỮ LIỆU VÍ DỤ

MALOP TENLOP SISO MAKHOA T1N TIN HOC 75 TH

T2N TIN HOC 68 TH D1N DIEN TU 57 DD D2N DIEN TU 61 DD H1N HOA HOC 123 HH K1N KINH TE 84 KT

DSLOP

MAKHOA TENKHOA

TH CONG NGHE THONG TIN DD DIEN – DIEN TU

HH CONG NGHE HOA

(5)

CƠ SỞ DỮ LIỆU VÍ DỤ

MAMH TENMH SOTC THCB TIN HOC CAN BAN THVP TIN HOC VAN PHONG CSDL CO SO DU LIEU LTCB LAP TRINH CAN BAN CTDL CAU TRUC DU LIEU MANG MANG MAY TINH

MONHOC

MSSV MAMH DIEM T001 THVP T001 CSDL D002 THCB D002 THVP D002 LTCB H003 LTCB H003 CTDL K004 THCB K004 THVP K004 CSDL T005 THCB T005 MANG

(6)

1 Ngôn ngữ mô tả liệu

1 Lệnh Tạo Bảng Lệnh Xóa Bảng Lệnh Thêm Cột Lệnh Xóa Cột Lệnh Sửa Cột

6 Lệnh Tạo Khóa Lệnh Tạo Khóa ngoại

8 Lệnh Tạo ràng buộc miền giá trị Lệnh Tạo ràng buộc

(7)

1 Ngôn ngữ mô tả liệu

1.Lệnh Tạo Bảng

CREATE TABLE <tên bảng> (

<tên cột 1> <kiểu liệu 1> [NOT NULL], <tên cột 2> <kiểu liệu 2> [NOT NULL], …

<tên cột n> <kiểu liệu n> [NOT NULL]);

(8)

1 Ngôn ngữ mô tả liệu

1.Lệnh Tạo Bảng – Ví dụ

CREATE TABLE SINHVIEN ( MSSV char(4) not null,

HOLOT varchar(20) not null, TEN varchar(7) not null,

PHAI bit,

NGAYSINH datetime, QUEQUAN varchar(20), DIACHI varchar(50),

(9)

1 Ngơn ngữ mơ tả liệu

2.Lệnh Xóa Bảng

DROP TABLE <tên bảng>;

Ví dụ:

(10)

1 Ngôn ngữ mô tả liệu

3.Lệnh Thêm Cột

ALTER TABLE <tên bảng>

ADD <tên cột> <kiểu liệu> [NOT NULL];

Ví dụ:

(11)

1 Ngơn ngữ mơ tả liệu

4.Lệnh Xóa Cột

ALTER TABLE <tên bảng> DROP COLUMN <tên cột>;

Ví dụ:

ALTER TABLE SINHVIEN

(12)

1 Ngôn ngữ mô tả liệu

5.Lệnh Sửa Cột

ALTER TABLE <tên bảng>

ALTER COLUMN <tên cột> <kiểu liệu>;

Ví dụ:

ALTER TABLE SINHVIEN

(13)

1 Ngôn ngữ mô tả liệu

6.Lệnh Tạo Khóa chính

ALTER TABLE <tên bảng>

ADD CONSTRAINT <tên ràng buộc> PRIMARY KEY (DS tên cột);

Lưu ý:

-Tên ràng buộc

(14)

1 Ngơn ngữ mơ tả liệu

6.Lệnh Tạo Khóa - Ví dụ:

ALTER TABLE SINHVIEN

ADD CONSTRAINT Kc_Sv PRIMARY KEY (mssv);

ALTER TABLE KETQUA

ADD CONSTRAINT Kc_Kq

(15)

1 Ngôn ngữ mô tả liệu

7.Lệnh Tạo Khóa ngoại

ALTER TABLE <tên bảng>

ADD CONSTRAINT <tên ràng buộc> FOREIGN KEY (DS tên cột)

REFERENCES <tên bảng> (DS tên cột);

Lưu ý:

(16)

1 Ngơn ngữ mơ tả liệu

7.Lệnh Tạo Khóa ngoại - Ví dụ:

ALTER TABLE SINHVIEN

ADD CONSTRAINT Kn_Sv FOREIGN KEY(malop)

REFERENCES DSLOP (malop); ALTER TABLE KETQUA

ADD CONSTRAINT Kn_Kq1 FOREIGN KEY (mssv)

(17)

1 Ngôn ngữ mô tả liệu

8.Lệnh Tạo ràng buộc miền giá trị

ALTER TABLE <tên bảng>

ADD CONSTRAINT <tên ràng buộc> CHECK (Điều kiện);

Lưu ý:

(18)

1 Ngơn ngữ mơ tả liệu

8.Lệnh Tạo ràng buộc miền giá trị - Ví dụ:

ALTER TABLE KETQUA

ADD CONSTRAINT Kt_Kq

CHECK (Diem between AND 10); ALTER TABLE DSLOP

(19)

1 Ngơn ngữ mơ tả liệu

9.Lệnh Tạo ràng buộc nhất

ALTER TABLE <tên bảng>

ADD CONSTRAINT <tên ràng buộc> UNIQUE (DS Tên cột);

Lưu ý:

(20)

1 Ngơn ngữ mơ tả liệu

9.Lệnh Tạo ràng buộc – Ví dụ

Tên mơn học khơng trùng nhau:

ALTER TABLE

MONHOC

(21)

1 Ngơn ngữ mơ tả liệu

10.Lệnh Tạo mục

CREATE INDEX <tên Index>

ON <tên bảng> (<cột 1>, <cột 2>, ) ;

Ngữ nghĩa: Tạo mục để lưu thứ tự xếp ghi theo giá trị tăng dần cột cho danh sách

Ghi chú: Chỉ nên tạo mục cho bảng có nhiều ghi cập nhật,

(22)

1 Ngôn ngữ mô tả liệu

10.Lệnh Tạo mục – Ví dụ:

CREATE INDEX Cm_sv1

ON SINHVIEN (Ten);

CREATE INDEX Cm_mh1

(23)

1 Ngôn ngữ mô tả liệu

11.Lệnh Xóa mục

DROP INDEX <tên Index> ;

Ví dụ:

(24)

2 Ngơn ngữ thao tác liệu

1 Lệnh Thêm mẫu tin Lệnh Xóa mẫu tin

(25)

2 Ngơn ngữ thao tác liệu

1.Lệnh thêm maãu tin (1)

INSERT INTO <tên bảng> (<tên cột 1>, ) VALUES (<biểu thức 1>, <biểu thức 2>, );

Lưu ý:

-Kiểu liệu -Chiều dài

(26)

2 Ngôn ngữ thao tác liệu

1.Lệnh thêm mẫu tin (1) – Ví dụ

Thêm Sinh viên mới:

INSERT INTO SINHVIEN (MSSV, HOLOT, TEN, PHAI, NGAYSINH, QUEQUAN, DIACHI, MALOP)

VALUES (‘T005’,’LE TIEN’,’DUNG’,1,’3/18/84’, ’DONGNAI’,’77/8 LE LOI – Q1’,’T2N’);

Thêm Môn học mới:

(27)

2 Ngôn ngữ thao tác liệu

1.Lệnh thêm mẫu tin (2)

Nếu biểu thức sau từ khoá VALUES hoàn toàn phù hợp thứ tự với cột bảng  danh sách cột sau từ khóa INTO bỏ qua

INSERT INTO <tên bảng>

(28)

2 Ngơn ngữ thao tác liệu

1.Lệnh thêm mẫu tin (2) – Ví duï

Thêm Sinh viên mới: INSERT INTO SINHVIEN

VALUES (‘T005’,’LE

TIEN’,’DUNG’,1,’3/18/84’, ’DONGNAI’,’77/8 LE LOI – Q1’,’T2N’);

(29)

2 Ngôn ngữ thao tác liệu

1.Lệnh thêm mẫu tin (3)

Ngồi ta thêm (các) mẫu tin vào bảng từ câu lệnh truy vấn (Select)

INSERT INTO <tên bảng> (<tên cột 1>, ) <Câu lệnh Select>

hoặc

(30)

2 Ngôn ngữ thao tác liệu

1.Lệnh thêm mẫu tin (3) – Ví dụ

Thêm Sinh viên từ danh sách: INSERT INTO SINHVIEN

SELECT * FROM DSSV_NEW ;

Lưu ý:

(31)

2 Ngơn ngữ thao tác liệu

2.Lệnh Xóa maãu tin

 Việc loại bỏ mẫu tin khỏi bảng CSDL

trong thao tác cập nhật liệu tiến hành cách thường xun

 Cú pháp:

DELETE FROM <tên bảng> [WHERE <điều kiện>];

 Ngữ nghĩa: Các mẫu tin thoả mãn điều kiện sau

(32)

2 Ngôn ngữ thao tác liệu

2.Lệnh Xóa mẫu tin – Ví dụ:

Xóa Sinh viên có Mã số T005 DELETE FROM SINHVIEN

WHERE MSSV=‘T005’;

Xóa tất môn học có tín DELETE FROM MONHOC

(33)

2 Ngơn ngữ thao tác liệu

3.Lệnh cập nhật mẫu tin Cú pháp

UPDATE <tên bảng>

SET <tên cột 1> = <biểu thức 1>, <tên cột 2> = <biểu thức 2>,

(34)

2 Ngôn ngữ thao tác liệu

3.Lệnh cập nhật mẫu tin

Ngữ nghĩa: Giá trị field có tên

danh sách <tên cột 1>, <tên cột 2> mẫu tin thoả mãn điều kiện sau

WHERE sửa đổi thành giá trị <biểu thức 1>, <biểu thức 2> tương ứng

(35)

2 Ngơn ngữ thao tác liệu

3.Lệnh cập nhật mẫu tin Ví dụ:

Tăng cho tất sinh viên điểm môn THCB UPDATE KETQUA

SET DIEM = DIEM +1

WHERE MAMH = ‘THCB’;

Cập nhật sĩ số lớp T2N thành 90 UPDATE DSLOP

SET SISO = 90

(36)

3 Ngơn ngữ truy vấn liệu

1 Cú pháp tổng quát Dạng đơn giản

3 Dấu *

4 Mệnh đề WHERE

5 Mệnh đề ORDER BY Mệnh đề GROUP BY Mệnh đề HAVING

8 Phát biểu Select với AS

9 Phát biểu Select với TOP N

(37)

3 Ngơn ngữ truy vấn liệu

1.Cú pháp tổng quát

SELECT <Danh sách cột> FROM <Danh sách Bảng>

WHERE <Các điều kiện> GROUP BY <Tên cột>

(38)

3 Ngôn ngữ truy vấn liệu

2.Dạng đơn giản

SELECT <Danh sách cột> FROM <Tên Bảng>

 Trích số cột Bảng

Ví dụ: Lấy MAMH, TENMH từ bảng MONHOC

(39)

3 Ngơn ngữ truy vấn liệu

3.Dấu *

Dấu * đại diện cho tất cột SELECT *

FROM <Tên Bảng>

Ví dụ: Lấy danh sách môn học

SELECT *

(40)

3 Ngôn ngữ truy vấn liệu

4.Mệnh đề WHERE

Dùng để đặt điều kiện trích liệu

SELECT <Danh sách cột>

FROM <Tên Bảng>

WHERE <Danh sách điều kiện>

Ví dụ: Lấy MSSV, HOTEN Sinh viên quê quaùn

‘HA NOI’

(41)

3 Ngôn ngữ truy vấn liệu

4.Mệnh đề WHERE

Các phép toán mệnh đề WHERE -So sánh: >, < >=, <=, =, <>

-Logic: And, Or, Not

Ví dụ: Lấy MSSV, HOTEN Sinh viên lớp T2N quê

quaùn ‘HA NOI’

SELECT MSSV, HOLOT, TEN FROM SINHVIEN

(42)

3 Ngôn ngữ truy vấn liệu

4.Mệnh đề WHERE

Toán tử Between: nằm miền

Ví dụ: Trích danh sách Sinh viên sinh năm 1982

SELECT *

FROM SINHVIEN

(43)

3 Ngôn ngữ truy vấn liệu

4.Mệnh đề WHERE

Toán tử LIKE: phép toán so sánh gần giống, sử dụng dấu ký tự đại diện _ (1 ký tự), % (1 chuỗi bất kỳ)

Ví dụ: Trích danh sách Sinh viên Hoï ‘Phan’

SELECT *

FROM SINHVIEN

(44)

3 Ngôn ngữ truy vấn liệu

4.Mệnh đề WHERE

Toán tử IN: phép toán so sánh tập hợp, danh sách

Ví dụ: Trích danh sách Sinh viên quê quán

ở tỉnh ‘Cần Thơ’, ‘An Giang’, ‘Kiên Giang’

SELECT *

FROM SINHVIEN

(45)

3 Ngôn ngữ truy vấn liệu

4.Mệnh đề WHERE

IS NULL ( IS NOT NULL ): kieåm tra giá trị có

rỗng hay không (kết quả: TRUE – FALSE)

Ví dụ: Trích danh sách Sinh viên chưa có

địa SELECT *

FROM SINHVIEN

(46)

3 Ngôn ngữ truy vấn liệu

4.Mệnh đề WHERE

Tốn tử Exists: trả TRUE có mẫu tin tồn

Ví dụ: Cho biết có sinh viên Quê quán

‘Nha Trang’ khoâng? If Exists (SELECT *

FROM SINHVIEN

(47)

3 Ngôn ngữ truy vấn liệu

5.Mệnh đề ORDER BY

Sắp xếp kết theo thứ tự mong muốn ORDER BY <DS Tên cột> [ASC | DESC]

Ví dụ: Trích danh sách sinh viên nữ,

theo tên tăng daàn?

SELECT MSSV, HOLOT, TEN, MALOP FROM SINHVIEN

(48)

3 Ngôn ngữ truy vấn liệu

6.Mệnh đề GROUP BY

Nhóm liệu lại theo nhóm để thực hiện phép tốn thống kê

GROUP BY <DS Tên cột>

Ví dụ: Cho biết số lượng sinh viên lớp

(49)

3 Ngôn ngữ truy vấn liệu

6.Mệnh đề GROUP BY

Một số Hàm thông dụng: -AVG: giá trị trung bình -MIN: giá trị nhỏ -MAX: giá trị lớn

(50)

3 Ngôn ngữ truy vấn liệu

7.Mệnh đề HAVING

Đặt điều kiện chọn sau nhóm liệu mệnh đề GROUP BY

Ví dụ: Trích Danh sách lớp có 20

sinh vieân

SELECT MALOP, COUNT(*) AS SOSV FROM SINHVIEN

(51)

3 Ngôn ngữ truy vấn liệu

8.Phát biểu Select với AS

Đặt lại tên Field hiển thị kết

Ví dụ: Trích Danh sách lớp có 20

sinh vieân

SELECT MALOP AS ML, COUNT(*) AS SOSV FROM SINHVIEN

GROUP BY MALOP

(52)

3 Ngôn ngữ truy vấn liệu

9.Phát biểu Select với TOP N

Cho phép lấy số mẫu tin theo tiêu chuẩn

Ví dụ: Trích Danh sách 10 sinh viên đầu tiên.

(53)

3 Ngôn ngữ truy vấn liệu

10.Phát biểu Select với DISTINCT

Nếu kết truy vấn có nhiều mẫu tin trùng nhau, để lấy mẫu tin ta dùng DISTINCT

Ví dụ: Trong Danh sách Sinh viên, cho biết có

những lớp

(54)

3 Ngôn ngữ truy vấn liệu

11.Truy vấn từ nhiều bảng

Khi thông tin cần lấy có từ nhiều bảng khác nhau, cần thực truy vấn từ nhiều bảng

(55)

3 Ngôn ngữ truy vấn liệu

11.Truy vấn từ nhiều bảng Lưu ý:

 Cần kết bảng lại với Với n

bảng cần có n-1 điều kiện kết

 Các tên cột có nhiều bảng cần

(56)

3 Ngôn ngữ truy vấn liệu

11.Truy vấn từ nhiều bảng

Ví dụ: Trích MSSV, HOTEN, MALOP,TENLOP

của sinh viên tên ‘NAM’

SELECT MSSV, HOLOT, TEN, DSLOP.MALOP, TENLOP FROM SINHVIEN, DSLOP

(57)

3 Ngôn ngữ truy vấn liệu

11.Truy vấn từ nhiều bảng

-Có thể sử dụng tên tắt Bảng

Ví dụ: Trích MSSV, HOTEN, MALOP, TENLOP

của sinh viên khoa CNTT

SELECT MSSV, HOLOT, TEN, L.MALOP, TENLOP FROM SINHVIEN S, DSLOP L, DSKHOA K

WHERE S.MALOP = L.MALOP

AND L.MAKHOA = K.MAKHOA

(58)

3 Ngôn ngữ truy vấn liệu

12.Truy vấn con

-Đơi ta cần sử dụng kết câu truy vấn để làm điều kiện cho câu truy vấn khác, ta gọi truy vấn

(59)

3 Ngôn ngữ truy vấn liệu

12.Truy vấn con

Dạng tổng quát:

SELECT <Danh sách cột> FROM <Danh sách Bảng>

WHERE <Các điều kiện>

… < Tên cột > IN ( NOT IN, =, <>, …)

( SELECT <Danh saùch caùc cột> FROM <Danh sách Bảng>

(60)

3 Ngơn ngữ truy vấn liệu

12.Truy vấn con

Ví dụ: Trích DS SV có điểm môn THVP cao

SELECT S.MSSV,HOLOT,TEN,MAMH,DIEM FROM SINHVIEN S, KETQUA K

WHERE S.MSSV = K.MSSV AND MAMH=‘THVP’

AND DIEM = ( SELECT MAX(DIEM)

(61)

 From > Where > Group By > Having >

Ngày đăng: 20/04/2021, 01:37

TỪ KHÓA LIÊN QUAN

w