Bài 14: SQL – NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC

 



TIN HỌC 11 – CHỦ ĐỀ 4: GIỚI THIỆU CÁC HỆ CƠ SỞ DỮ LIỆU

Bài 14. SQL – Ngôn Ngữ Truy Vấn Có Cấu Trúc

Học SQL là học cách đặt đúng câu hỏi để tìm ra đúng câu trả lời từ dữ liệu.

SAU BÀI HỌC NÀY EM SẼ:

  • Hiểu được lợi ích của ngôn ngữ truy vấn SQL.
  • Biết các câu lệnh SQL để: Tạo CSDL, tạo bảng; Thêm, sửa, xoá dữ liệu; Truy xuất dữ liệu; Kiểm soát quyền truy cập.

1. LỢI ÍCH CỦA NGÔN NGỮ TRUY VẤN

Close-up of a computer screen displaying programming code in a dark environment.
Hoạt động 1. Hai cách truy xuất dữ liệu

Cách 1 – Lập trình trực tiếp

  • Phải biết rõ cấu trúc bảng
  • Tự viết chương trình đọc, xử lí
  • Cần biết nhiều về lập trình

Cách 2 – Dùng ngôn ngữ truy vấn

  • Chỉ cần nêu yêu cầu lấy dữ liệu
  • Hệ QTCSDL tự xử lí và trả kết quả

👉 SQL giúp truy vấn, cập nhật và quản lí dữ liệu mà không cần tự viết chương trình xử lí CSDL.

SQL là gì?

SQL (Structured Query Language) là ngôn ngữ truy vấn có cấu trúc, được sử dụng phổ biến để làm việc với CSDL quan hệ.

Các nhóm lệnh chính:

NhómChức năng
DDLĐịnh nghĩa CSDL, bảng
DMLTruy xuất, thêm, sửa, xoá dữ liệu
DCLCấp và thu hồi quyền

⭐ DDL = Định nghĩa | DML = Dữ liệu | DCL = Điều khiển quyền

2. KHỞI TẠO CƠ SỞ DỮ LIỆU

Các câu lệnh DDL cần nhớ
Câu lệnhÝ nghĩa
CREATE DATABASEKhởi tạo CSDL
CREATE TABLEKhởi tạo bảng
ALTER TABLEThay đổi định nghĩa bảng
PRIMARY KEYKhai báo khoá chính
FOREIGN KEY ... REFERENCESKhai báo khoá ngoại

⭐ CREATE = Tạo | ALTER = Sửa cấu trúc | PRIMARY KEY = Khoá chính | FOREIGN KEY = Khoá ngoại

Bảng kiểu dữ liệu
Kiểu dữ liệuÝ nghĩa
CHAR(n)Xâu kí tự cố định
VARCHAR(n)Xâu kí tự có độ dài thay đổi
BOOLEANĐúng/Sai
INT / INTEGERSố nguyên
REALSố thực
DATENgày
TIMEThời gian

⭐ CHAR/VARCHAR → chữ | INT → số nguyên | REAL → số thực | DATE → ngày | TIME → giờ

Ví dụ tạo CSDL Music
CREATE DATABASE music;

CREATE TABLE bannhac (
    Mid CHAR(4),
    TenBN VARCHAR(128)
);

ALTER TABLE bannhac ADD PRIMARY KEY (Mid);

CREATE TABLE nhacsi (
    Aid INT,
    TenNS VARCHAR(64)
);

❓ CÂU HỎI

1. Viết câu truy vấn tạo bảng Ca sĩ (casi).

2. Viết câu truy vấn thêm khoá chính Sid cho bảng casi.

✅ Đáp án:

CREATE TABLE casi (
    Sid CHAR(4),
    TenCS VARCHAR(64)
);

ALTER TABLE casi
ADD PRIMARY KEY (Sid);

3. CẬP NHẬT VÀ TRUY XUẤT DỮ LIỆU

A. Truy xuất dữ liệu
SELECT <dữ liệu cần lấy>
FROM <tên bảng>
WHERE <điều kiện chọn>
ORDER BY <tiêu chí>
INNER JOIN <bảng cần liên kết>;
Thành phầnChức năng
SELECTChọn dữ liệu cần lấy
FROMChọn bảng
WHERELọc theo điều kiện
ORDER BYSắp xếp
INNER JOINLiên kết các bảng

⭐ SELECT → LẤY GÌ? | FROM → Ở ĐÂU? | WHERE → ĐIỀU KIỆN? | ORDER BY → SẮP XẾP? | JOIN → LIÊN KẾT?

B. Cập nhật dữ liệu
Câu lệnhChức năng
INSERT INTOThêm dữ liệu
DELETE FROMXoá dữ liệu
UPDATESửa dữ liệu

⭐ INSERT = Thêm | DELETE = Xoá | UPDATE = Sửa

Ví dụ

Lấy dữ liệu:

SELECT Mid, TenBN
FROM bannhac
WHERE Aid = 1
ORDER BY TenBN;

Liên kết bảng:

SELECT bannhac.TenBN, nhacsi.TenNS
FROM bannhac
INNER JOIN nhacsi
ON bannhac.Aid = nhacsi.Aid;

Thêm dữ liệu:

INSERT INTO nhacsi
VALUES (5, 'Phú Quang'),
       (6, 'Phan Huỳnh Điểu');

Xoá dữ liệu:

DELETE FROM bannhac
WHERE Mid = '0005';

Cập nhật:

UPDATE nhacsi
SET TenNS = 'Hoàng Hiệp'
WHERE Aid = 6;

Tính trung bình:

SELECT AVG(tb)
FROM diemtoan_11A;

⭐ AVG() → tính giá trị trung bình

❓ CÂU HỎI

1. Viết câu truy vấn lấy tất cả các dòng của bảng nhacsi.

2. Viết câu truy vấn thêm các dòng: ('TK','Nguyễn Trung Kiên'), ('QD','Quý Dương'), ('YM','Y Moan').

✅ Đáp án:

SELECT *
FROM nhacsi;

INSERT INTO nhacsi
VALUES
('TK', 'Nguyễn Trung Kiên'),
('QD', 'Quý Dương'),
('YM', 'Y Moan');

4. KIỂM SOÁT QUYỀN TRUY CẬP

Câu lệnhÝ nghĩa
GRANTCấp quyền
REVOKEThu hồi quyền

⭐ GRANT = Cho quyền | REVOKE = Lấy lại quyền

Ví dụ cấp quyền:

GRANT SELECT
ON music.*
TO guest;

Ví dụ thu hồi quyền:

REVOKE CREATE, ALTER
ON bannhac
FROM mod;

❓ CÂU HỎI

1. Cấp quyền UPDATE đối với tất cả các bảng trong CSDL music cho người dùng mod.

2. Thu hồi quyền DELETE đối với bảng nhacsi cho người dùng mod.

✅ Đáp án:

GRANT UPDATE
ON music.*
TO mod;

REVOKE DELETE
ON music.nhacsi
FROM mod;

📝 LUYỆN TẬP

Câu 1. Tạo bảng banthuam (Mid, Sid).

CREATE TABLE banthuam (
    Mid CHAR(4),
    Sid CHAR(4)
);

Câu 2. Tạo khoá ngoại Mid và Sid cho bảng banthuam.

ALTER TABLE banthuam
ADD FOREIGN KEY (Mid)
REFERENCES bannhac(Mid);

ALTER TABLE banthuam
ADD FOREIGN KEY (Sid)
REFERENCES casi(Sid);

Câu 3. Lấy Mid, Sid của banthuam và TenBN của bannhac qua liên kết.

SELECT banthuam.Mid, banthuam.Sid, bannhac.TenBN
FROM banthuam
INNER JOIN bannhac
ON banthuam.Mid = bannhac.Mid;

🔎 VẬN DỤNG

Lấy Mid, Sid, TenBN (bannhac), TenCS (casi) qua liên kết 3 bảng.

SELECT banthuam.Mid,
       banthuam.Sid,
       bannhac.TenBN,
       casi.TenCS
FROM banthuam
INNER JOIN bannhac
ON banthuam.Mid = bannhac.Mid
INNER JOIN casi
ON banthuam.Sid = casi.Sid;

🧠 SƠ ĐỒ NHỚ TOÀN BÀI

Bài 14SQL – NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC
DDLCREATE
ALTER
PRIMARY KEY
FOREIGN KEY
DMLSELECT
INSERT
UPDATE
DELETE
DCLGRANT
REVOKE

🔑 CÔNG THỨC NHỚ

📌 10 LỆNH/CÚ PHÁP QUAN TRỌNG NHẤT

Cú phápNhớ là
CREATE DATABASETạo CSDL
CREATE TABLETạo bảng
ALTER TABLEThay đổi cấu trúc
PRIMARY KEYKhoá chính
FOREIGN KEYKhoá ngoại
SELECTLấy dữ liệu
INSERTThêm dữ liệu
UPDATESửa dữ liệu
DELETEXoá dữ liệu
GRANT / REVOKECấp / thu hồi quyền

🧠 CÔNG THỨC NHỚ NHANH NHẤT

TẠO → CREATE | SỬA CẤU TRÚC → ALTER | LẤY → SELECT | THÊM → INSERT

SỬA DỮ LIỆU → UPDATE | XOÁ → DELETE | CHO QUYỀN → GRANT | THU QUYỀN → REVOKE

LIÊN KẾT → JOIN | ĐIỀU KIỆN → WHERE

Hands interacting with charts and notes for data analysis on a desk.

TẠO → CREATE | LẤY → SELECT | THÊM → INSERT | SỬA → UPDATE | XOÁ → DELETE | QUYỀN → GRANT/REVOKE

 

💻🎓

BÀI KIỂM TRA TIN HỌC THPT

Lựa chọn mức độ phù hợp với năng lực của em

📌 HƯỚNG DẪN

Em hãy lựa chọn mức độ phù hợp với yêu cầu của bài học. Sau khi chọn mức độ, bài kiểm tra trực tuyến sẽ được hiển thị ngay bên dưới.

💡 Mẹo: Hãy hoàn thành mức độ trước khi chuyển sang mức độ tiếp theo.

🌟 Mỗi câu hỏi là một cơ hội để em tiến bộ. Hãy tự tin, bình tĩnh và cố gắng hết mình!

Chúc em hoàn thành bài thật tốt!

 


 

 

Bài cũ hơn Bài mới hơn
Đọc tiếp:
Lên đầu trang