SQL - INSERT Truy vấn: Hướng dẫn cho người mới bắt đầu

Xin chào các pháp sư cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của các truy vấn SQL INSERT. Là giáo viên máy tính hàng xóm thân thiện của bạn, tôi ở đây để hướng dẫn bạn qua khái niệm cơ bản này sẽ giúp bạn làm đầy cơ sở dữ liệu của mình với thông tin quý giá. Vậy, hãy lấy một tách cà phê (hoặc trà, nếu đó là sở thích của bạn), và chúng ta cùng bắt đầu!

SQL - Insert Query

Lệnh SQL INSERT INTO

Lệnh INSERT là gì?

Hãy tưởng tượng bạn có một bảng cơ sở dữ liệu được thiết kế đẹp mắt, nhưng nó lại trống rỗng. Thật buồn phải không! Đó là lúc lệnh INSERT đến để cứu nguy. Nó giống như một lời phù thủy ma thuật cho phép chúng ta thêm mới các bản ghi (dòng) vào bảng của mình.

Cú pháp cơ bản

Cú pháp cơ bản của lệnh INSERT có dạng như này:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Hãy phân tích nó ra:

  • INSERT INTO cho biết chúng ta muốn thêm dữ liệu mới
  • table_name là nơi bạn chỉ định bảng bạn đang thêm dữ liệu vào
  • Các cột trong dấu ngoặc là những cột bạn muốn điền
  • Từ khóa VALUES giới thiệu dữ liệu thực tế bạn đang chèn vào

Ví dụ 1: Chèn một dòng duy nhất

Giả sử chúng ta có một bảng叫做 students với các cột: id, name, và age. Dưới đây là cách chúng ta có thể thêm một học sinh mới:

INSERT INTO students (id, name, age)
VALUES (1, 'John Doe', 20);

Lệnh này thêm một dòng mới vào bảng students với ID 1, tên là "John Doe", và tuổi 20.

Ví dụ 2: Chèn nhiều dòng

Muốn thêm nhiều học sinh cùng lúc? Không có vấn đề gì! Chúng ta cũng có thể làm được điều đó:

INSERT INTO students (id, name, age)
VALUES
(2, 'Jane Smith', 22),
(3, 'Bob Johnson', 21),
(4, 'Alice Brown', 23);

Truy vấn này thêm ba học sinh mới vào bảng của chúng ta. Hiệu quả phải không?

Chèn dữ liệu vào bảng từ bảng khác

Đôi khi, bạn có thể muốn sao chép dữ liệu từ bảng này sang bảng khác. SQL làm điều này rất dễ dàng!

Cú pháp

Cú pháp cho việc chèn dữ liệu từ bảng khác có dạng như này:

INSERT INTO table1 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table2
WHERE condition;

Ví dụ 3: Sao chép dữ liệu giữa các bảng

Giả sử chúng ta có một bảng叫做 honor_roll và chúng ta muốn thêm tất cả các học sinh 21 tuổi trở lên từ bảng students của chúng ta:

INSERT INTO honor_roll (student_id, student_name)
SELECT id, name
FROM students
WHERE age >= 21;

Truy vấn này sao chép idname của tất cả các học sinh 21 tuổi trở lên từ bảng students vào bảng honor_roll.

Chèn dữ liệu chỉ vào các cột xác định

Đôi khi, bạn không cần phải điền tất cả các cột khi chèn dữ liệu. SQL linh hoạt đủ để xử lý điều này!

Ví dụ 4: Chèn dữ liệu từng phần

Hãy thêm một học sinh mới, nhưng lần này chúng ta không biết tuổi của họ:

INSERT INTO students (id, name)
VALUES (5, 'Eva Green');

Trong trường hợp này, cột age cho Eva sẽ được điền với giá trị NULL (hoặc giá trị mặc định nếu có một giá trị mặc định được xác định trong định nghĩa bảng).

Ví dụ 5: Sử dụng giá trị DEFAULT

Nếu bảng của bạn có các giá trị mặc định được xác định cho một số cột, bạn có thể sử dụng chúng một cách rõ ràng:

INSERT INTO students (id, name, age)
VALUES (6, 'Frank White', DEFAULT);

Giả sử rằng cột age có một giá trị mặc định được xác định trong cấu trúc bảng.

Mẹo chuyên nghiệp và tốt nhất

  1. Luôn liệt kê các cột: Ngay cả khi bạn đang chèn giá trị cho tất cả các cột, việc liệt kê rõ ràng các cột làm cho mã của bạn dễ đọc hơn và ít bị lỗi hơn.

  2. Sử dụng giao dịch: Khi chèn nhiều dòng, hãy bao bọc các lệnh INSERT của bạn trong một giao dịch. Điều này đảm bảo rằng hoặc tất cả các chèn đều thành công, hoặc không có chèn nào thành công.

  3. Xác minh dữ liệu: Trước khi chèn, hãy chắc chắn rằng dữ liệu của bạn đáp ứng các yêu cầu của bảng (loại dữ liệu, ràng buộc, v.v.).

  4. Cẩn thận với các cột tự động tăng: Nếu một cột tự động tăng (như cột ID thường làm), bạn thường không cần phải chỉ định giá trị cho nó trong lệnh INSERT của mình.

Các phương pháp chèn phổ biến

Dưới đây là bảng tóm tắt các phương pháp chèn chúng ta đã xem xét:

Phương pháp Mô tả Ví dụ
Chèn cơ bản Chèn một dòng với các giá trị xác định INSERT INTO table (col1, col2) VALUES (val1, val2);
Chèn nhiều dòng Chèn nhiều dòng trong một lệnh INSERT INTO table (col1, col2) VALUES (val1, val2), (val3, val4);
Chèn với SELECT Sao chép dữ liệu từ bảng khác INSERT INTO table1 SELECT col1, col2 FROM table2 WHERE condition;
Chèn từng phần Chèn dữ liệu vào các cột xác định INSERT INTO table (col1) VALUES (val1);
Chèn với giá trị DEFAULT Sử dụng giá trị mặc định cho một số cột INSERT INTO table (col1, col2) VALUES (val1, DEFAULT);

Và thế là bạn đã có nó, các học viên siêng năng! Bạn vừa bước những bước đầu tiên vào thế giới của các truy vấn SQL INSERT. Nhớ rằng, thực hành là cách để thành thạo, vì vậy đừng ngại thử nghiệm với các khái niệm này. Trước khi bạn biết, bạn sẽ chèn dữ liệu như một chuyên gia!

Chúc các bạn viết mã vui vẻ, và may mắn để cơ sở dữ liệu của bạn luôn được làm đầy hoàn hảo!

Credits: Image by storyset