PostgreSQL - INSERT Truy vấn: Hướng dẫn cho người mới bắt đầu
Xin chào các bạn, những nhà pháp sư cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ lặn sâu vào thế giới kỳ diệu của PostgreSQL và học về một trong những thao tác cơ bản nhất của nó: truy vấn INSERT. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - tôi sẽ hướng dẫn bạn từng bước, giống như tôi đã làm cho hàng trăm sinh viên trong những năm dạy học của mình. 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 nhé!
Truy vấn INSERT là gì?
Trước khi chúng ta nhảy vào cú pháp và ví dụ, hãy hiểu xem truy vấn INSERT thực sự làm gì. Hãy tưởng tượng bạn có một cuốn sách lớn (đó là cơ sở dữ liệu của chúng ta) với nhiều trang (bảng). Truy vấn INSERT giống như viết một mục mới vào một trong những trang đó. Đó là cách chúng ta thêm thông tin mới vào các bảng cơ sở dữ liệu của mình.
Cú pháp
Bây giờ, hãy xem xét cú pháp cơ bản của truy vấn INSERT trong PostgreSQL:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Đừng để điều này làm bạn hoảng sợ! Hãy cùng phân tích nó:
-
INSERT INTO
: Đây là cách chúng ta告诉 PostgreSQL rằng chúng ta muốn thêm dữ liệu mới. -
table_name
: Đây là tên của bảng mà chúng ta muốn thêm dữ liệu. -
(column1, column2, column3, ...)
: Đây là các cột trong bảng của chúng ta mà chúng ta muốn điền dữ liệu. -
VALUES
: Từ khóa này giới thiệu dữ liệu thực tế mà chúng ta đang chèn. -
(value1, value2, value3, ...)
: Đây là các giá trị chúng ta đang thêm, tương ứng với các cột mà chúng ta đã chỉ định.
Ví dụ
Ví dụ 1: Chèn một hà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);
Điều gì đang xảy ra ở đây? Chúng ta đang thêm một học sinh mới với ID là 1, tên là John Doe, và 20 tuổi. Đó giống như điền một biểu mẫu cho một học sinh mới gia nhập lớp của chúng ta!
Ví dụ 2: Chèn nhiều hàng
PostgreSQL cho phép chúng ta chèn nhiều hàng cùng một lúc. Đó giống như đăng ký nhiều học sinh cùng một lúc:
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 trong một lần. Thật hiệu quả, phải không?
Ví dụ 3: Chèn với giá trị mặc định
Đôi khi, các bảng của chúng ta có giá trị mặc định cho một số cột. Chúng ta có thể bỏ qua việc chỉ định những cột này:
INSERT INTO students (name, age)
VALUES ('Charlie Davis', 19);
Trong trường hợp này, nếu cột id
được đặt để tự động tăng, PostgreSQL sẽ tự động gán ID tiếp theo khả dụng.
Kết quả
Sau khi thực hiện một truy vấn INSERT, PostgreSQL thường trả về một thông báo cho biết số lượng hàng đã được chèn. Ví dụ:
INSERT 0 1
Điều này có nghĩa là một hàng đã được chèn thành công. Nếu chúng ta chèn nhiều hàng, nó có thể trông như sau:
INSERT 0 3
indicating three rows were added.
Kỹ thuật INSERT nâng cao
Chèn dữ liệu từ bảng khác
Đôi khi, chúng ta có thể muốn sao chép dữ liệu từ một bảng khác. PostgreSQL làm điều này rất dễ dàng:
INSERT INTO new_students (name, age)
SELECT name, age FROM students WHERE age < 21;
Truy vấn này sao chép tất cả học sinh dưới 21 tuổi từ bảng students
vào bảng new_students
. Đó giống như tạo một lớp đặc biệt cho học sinh nhỏ tuổi hơn!
Chèn với từ khóa RETURNING
PostgreSQL có một tính năng hay cho phép chúng ta thấy những gì đã được chèn:
INSERT INTO students (name, age)
VALUES ('David Wilson', 24)
RETURNING *;
Truy vấn này không chỉ chèn David vào bảng của chúng ta mà còn hiển thị cho chúng ta hàng hoàn chỉnh đã được thêm, bao gồm bất kỳ giá trị mặc định hoặc tự động tạo ra nào.
Các phương pháp INSERT phổ biến
Dưới đây là bảng tóm tắt các phương pháp INSERT mà chúng ta đã thảo luận:
Phương pháp | Mô tả | Ví dụ |
---|---|---|
Chèn cơ bản | Chèn một hàng duy nhất | INSERT INTO students (name, age) VALUES ('John Doe', 20); |
Chèn nhiều hàng | Chèn nhiều hàng cùng một lúc | INSERT INTO students (name, age) VALUES ('Jane', 22), ('Bob', 21); |
Chèn với giá trị mặc định | Để cơ sở dữ liệu điền vào giá trị mặc định | INSERT INTO students (name) VALUES ('Alice'); |
Chèn từ bảng khác | Sao chép dữ liệu từ bảng khác | INSERT INTO new_students SELECT * FROM students WHERE age < 21; |
Chèn với RETURNING | Chèn và trả về dữ liệu đã thêm | INSERT INTO students (name, age) VALUES ('David', 24) RETURNING *; |
Kết luận
Và thế là chúng ta đã cùng nhau khám phá thế giới của truy vấn INSERT trong PostgreSQL. Từ việc thêm một học sinh vào lớp đến việc đăng ký một nhóm học sinh cùng một lúc, bạn现在已经 có quyền lực để làm đầy cơ sở dữ liệu của mình một cách dễ dàng.
Nhớ rằng, thực hành làm nên hoàn hảo. Hãy thử tạo bảng của riêng bạn và chèn các loại dữ liệu khác nhau. Có thể tạo một bảng cho sách yêu thích hoặc phim và bắt đầu thêm vào. 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 lập trình vui vẻ, và hy vọng cơ sở dữ liệu của bạn luôn đầy đủ và không có lỗi!
Credits: Image by storyset