SQL cơ bản

SQL cơ bản

INSERT - Chèn Dữ liệu

Câu lệnh INSERT được sử dụng để thêm dữ liệu mới vào bảng.

Cú pháp:
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
Ví dụ:

Chèn học sinh mới vào bảng students:

INSERT INTO students (student_id, student_name, class_id)
VALUES (3, 'Alice Johnson', 101);

Chèn lớp học mới vào bảng classes:

INSERT INTO classes (class_id, class_name)
VALUES (103, 'History');

Chèn môn học mới vào bảng subjects:

INSERT INTO subjects (subject_id, subject_name, class_id)
VALUES (203, 'World History', 103);

UPDATE - Cập nhật Dữ liệu

Câu lệnh UPDATE được sử dụng để sửa đổi dữ liệu hiện có trong bảng.

Cú pháp:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
Ví dụ:

Cập nhật tên của một học sinh:

UPDATE students
SET student_name = 'Johnathan Doe'
WHERE student_id = 1;

Cập nhật tên của một lớp học:

UPDATE classes
SET class_name = 'Advanced Mathematics'
WHERE class_id = 101;

Cập nhật tên của một môn học:

UPDATE subjects
SET subject_name = 'Advanced Algebra'
WHERE subject_id = 201;

DELETE - Xóa Dữ liệu

Câu lệnh DELETE được sử dụng để xóa dữ liệu khỏi bảng.

Cú pháp:
DELETE FROM table_name
WHERE condition;
Ví dụ:

Xóa một học sinh khỏi bảng students:

DELETE FROM students
WHERE student_id = 2;

Xóa một lớp học khỏi bảng classes:

DELETE FROM classes
WHERE class_id = 102;

Xóa một môn học khỏi bảng subjects:

DELETE FROM subjects
WHERE subject_id = 202;

SELECT - Truy vấn Dữ liệu

Câu lệnh SELECT được sử dụng để truy vấn dữ liệu từ các bảng trong cơ sở dữ liệu.

Cú pháp:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Các Toán Tử:
  • Toán tử so sánh: =, <>, >, <, >=, <=
  • Toán tử logic: AND, OR, NOT
  • Toán tử khác: BETWEEN, LIKE, IN, IS NULL
Ví dụ:

Bảng students:

student_id student_name class_id
1 John Doe 101
2 Jane Smith 102
3 Alice Johnson 101

Bảng classes:

class_id class_name
101 Mathematics
102 Science

Bảng subjects:

subject_id subject_name class_id
201 Algebra 101
202 Biology 102
Truy vấn cơ bản:

Lấy danh sách tất cả học sinh cùng lớp của họ.

SELECT students.student_name, classes.class_name
FROM students
JOIN classes ON students.class_id = classes.class_id;
Các Phương Thức JOIN:
  • INNER JOIN: Chỉ lấy các hàng có giá trị tương ứng trong cả hai bảng.
SELECT students.student_name, classes.class_name
FROM students
INNER JOIN classes ON students.class_id = classes.class_id;
  • LEFT JOIN: Lấy tất cả các hàng từ bảng bên trái, và các hàng tương ứng từ bảng bên phải. Nếu không có giá trị tương ứng, các giá trị của bảng bên phải sẽ là NULL.
SELECT students.student_name, classes.class_name
FROM students
LEFT JOIN classes ON students.class_id = classes.class_id;
  • RIGHT JOIN: Lấy tất cả các hàng từ bảng bên phải, và các hàng tương ứng từ bảng bên trái. Nếu không có giá trị tương ứng, các giá trị của bảng bên trái sẽ là NULL.
SELECT students.student_name, classes.class_name
FROM students
RIGHT JOIN classes ON students.class_id = classes.class_id;
  • FULL JOIN: Lấy tất cả các hàng khi có sự tương ứng trong một trong hai bảng.
SELECT students.student_name, classes.class_name
FROM students
FULL JOIN classes ON students.class_id = classes.class_id;
ORDER BY - Sắp xếp Dữ liệu:

Cú pháp:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

Ví dụ: Lấy danh sách học sinh sắp xếp theo tên lớp và tên học sinh.

SELECT students.student_name, classes.class_name
FROM students
JOIN classes ON students.class_id = classes.class_id
ORDER BY classes.class_name ASC, students.student_name ASC;
Hàm - Functions:
  • Hàm tổng hợp: COUNT(), SUM(), AVG(), MIN(), MAX()
  • Hàm chuỗi: UPPER(), LOWER(), LENGTH(), CONCAT()
  • Hàm ngày tháng: NOW(), CURDATE(), YEAR(), MONTH()

Ví dụ: Đếm số lượng học sinh trong mỗi lớp.

SELECT classes.class_name, COUNT(students.student_id) AS student_count
FROM students
JOIN classes ON students.class_id = classes.class_id
GROUP BY classes.class_name;

Ví dụ: Lấy tên học sinh và chuyển thành chữ in hoa.

SELECT UPPER(student_name) AS uppercase_name
FROM students;

Thực hành SQL với Bảng students, classes, và subjects

Tạo bảng:
CREATE TABLE students (
    student_id INT PRIMARY KEY,
    student_name VARCHAR(50),
    class_id INT
);

CREATE TABLE classes (
    class_id INT PRIMARY KEY,
    class_name VARCHAR(50)
);

CREATE TABLE subjects (
    subject_id INT PRIMARY KEY,
    subject_name VARCHAR(50),
    class_id INT
);
Chèn dữ liệu mẫu:
INSERT INTO students (student_id, student_name, class_id)
VALUES (1, 'John Doe', 101), (2, 'Jane Smith', 102);

INSERT INTO classes (class_id, class_name)
VALUES (101, 'Mathematics'), (102, 'Science');

INSERT INTO subjects (subject_id, subject_name, class_id)
VALUES (201, 'Algebra', 101), (202, 'Biology', 102);

Kết luận

Tài liệu này cung cấp các câu lệnh SQL cơ bản và các ví dụ chi tiết liên quan đến bảng students, classes, và subjects. Hãy luyện tập các câu lệnh này để nắm vững kỹ năng truy vấn, chèn, cập nhật và xóa dữ liệu trong SQL.