Tóm tắt :trong hướng dẫn này, bạn sẽ học cách sử dụng SQLite INSERT để chèn các hàng mới vào bảng.
Để chèn dữ liệu vào bảng, bạn sử dụng INSERT tuyên bố. SQLite cung cấp các dạng INSERT khác nhau câu lệnh cho phép bạn chèn một hàng, nhiều hàng và giá trị mặc định vào bảng.
Ngoài ra, bạn có thể chèn một hàng vào bảng bằng cách sử dụng dữ liệu do SELECT cung cấp tuyên bố.
SQLite INSERT - chèn một hàng vào bảng
Để chèn một hàng vào bảng, bạn sử dụng biểu mẫu sau của INSERT tuyên bố:
INSERT INTO table (column1,column2 ,..)
VALUES( value1, value2 ,...);Code language: SQL (Structured Query Language) (sql)
Hãy kiểm tra INSERT tuyên bố chi tiết hơn:
- Đầu tiên, chỉ định tên của bảng mà bạn muốn chèn dữ liệu vào sau
INSERT INTOtừ khóa. - Thứ hai, thêm danh sách các cột được phân tách bằng dấu phẩy sau tên bảng. Danh sách cột là tùy chọn. Tuy nhiên, bạn nên đưa danh sách cột vào sau tên bảng.
- Thứ ba, thêm danh sách các giá trị được phân tách bằng dấu phẩy sau
VALUEStừ khóa. Nếu bạn bỏ qua danh sách cột, bạn phải chỉ định giá trị cho tất cả các cột trong danh sách giá trị. Số lượng giá trị trong danh sách giá trị phải giống với số cột trong danh sách cột.
Chúng tôi sẽ sử dụng các artists trong cơ sở dữ liệu mẫu cho phần trình diễn.
Câu lệnh sau đây chèn một hàng mới vào artists bảng:
INSERT INTO artists (name)
VALUES('Bud Powell');Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Vì ArtistId là một cột tăng tự động, bạn có thể bỏ qua nó trong câu lệnh. SQLite tự động tạo một số nguyên tuần tự để chèn vào ArtistId cột.
Bạn có thể xác minh thao tác chèn bằng cách sử dụng SELECT sau tuyên bố:
SELECT
ArtistId,
Name
FROM
Artists
ORDER BY
ArtistId DESC
LIMIT 1;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Như bạn thấy, chúng tôi có một hàng mới trong artists bảng.
SQLite INSERT - Chèn nhiều hàng vào một bảng
Để chèn nhiều hàng vào một bảng, bạn sử dụng biểu mẫu sau của INSERT tuyên bố:
INSERT INTO table1 (column1,column2 ,..)
VALUES
(value1,value2 ,...),
(value1,value2 ,...),
...
(value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Mỗi danh sách giá trị theo sau VALUES mệnh đề là một hàng sẽ được chèn vào bảng.
Ví dụ sau đây chèn ba hàng vào artists bảng:
INSERT INTO artists (name)
VALUES
("Buddy Rich"),
("Candido"),
("Charlie Byrd");Code language: SQL (Structured Query Language) (sql) Hãy thử nó
SQLite đã đưa ra một thông báo:
Row Affected: 3 Bạn có thể xác minh kết quả bằng cách sử dụng câu lệnh sau:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC
LIMIT 3;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
SQLite INSERT - Chèn các giá trị mặc định
Khi bạn tạo một bảng mới bằng cách sử dụng CREATE TABLE , bạn có thể chỉ định các giá trị mặc định cho các cột hoặc một NULL nếu giá trị mặc định không được chỉ định.
Dạng thứ ba của INSERT câu lệnh là INSERT DEFAULT VALUES , sẽ chèn một hàng mới vào bảng bằng các giá trị mặc định được chỉ định trong định nghĩa cột hoặc NULL nếu giá trị mặc định không có sẵn và cột không có NOT NULL ràng buộc.
Ví dụ:câu lệnh sau sẽ chèn một hàng mới vào artists bảng sử dụng INSERT DEFAULT VALUES :
INSERT INTO artists DEFAULT VALUES;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Để xác minh nội dung chèn, bạn sử dụng câu lệnh sau:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Giá trị mặc định của ArtistId cột là số nguyên tuần tự tiếp theo. Tuy nhiên, name cột không có bất kỳ giá trị mặc định nào, do đó, INSERT DEFAULT VALUES chèn câu lệnh NULL vào đó.
SQLite INSERT - Chèn các hàng mới với dữ liệu được cung cấp bởi SELECT tuyên bố
Giả sử bạn muốn sao lưu artists bảng, bạn có thể làm theo các bước sau:
Đầu tiên, tạo một bảng mới có tên artists_backup như sau:
CREATE TABLE artists_backup(
ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
Name NVARCHAR
);Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Để chèn dữ liệu vào artists_backup bảng với dữ liệu từ artists , bạn sử dụng INSERT INTO SELECT tuyên bố như sau:
INSERT INTO artists_backup
SELECT ArtistId, Name
FROM artists;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Nếu bạn truy vấn dữ liệu từ artists_backup bảng, bạn sẽ thấy tất cả dữ liệu trong artists bảng.
SELECT * FROM artists_backup;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Trong hướng dẫn này, bạn đã học cách sử dụng các dạng SQLite INSERT khác nhau câu lệnh chèn hàng mới vào bảng.
Tài liệu tham khảo
- https://www.sqlite.org/lang_insert.html - Câu lệnh SQLite INSERT