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 INTO
từ 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
VALUES
từ 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