Học SQLite cơ bản

Bài 7: Insert, Update, Delete dữ liệu - Mệnh đề Where trong SQLite

1. Câu lệnh Insert

Cú pháp:
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
VALUES (value1, value2, value3,...valueN);
Trong đó:
  • column1, column2, column3,...columnN: tên của các cột trong bảng mà bạn muốn chèn dữ liệu.
  • value1, value2, value3,...valueN: Giá trị sẽ chèn cho các cột tương ứng từ column1, column2, column3,...columnN.
Bạn có thể không cần chỉ định tên các cột trong truy vấn SQLite nếu bạn đang thêm giá trị cho tất cả các cột của bảng. Tuy nhiên, hãy đảm bảo thứ tự của các giá trị theo cùng thứ tự với các cột trong bảng. Cú pháp INSERT INTO  trong SQLite sẽ như sau:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
Ví dụ: Giả sữ bạn đã tạo bảng COMPANY trong testDB.db của bạn như sau: 
sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);
Thêm dữ liệu:
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
 
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
 
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
 
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
 
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00 );
 
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );
Bạn có thể tạo thêm một bản ghi nữa cho bảng COMPANY bằng cú pháp thứ hai như sau:
INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );
Tất cả các câu lệnh insert trên sẽ tạo ra các bản ghi sau trong bảng COMPANY. Trong bài tiếp theo, chúng ta sẽ cùng tìm hiểu cách hiển thị tất cả các bản ghi từ một bảng.
Kết quả thu được:
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
Insert kết hợp lệnh Select
Bạn có thể điền dữ liệu vào một bảng thông qua câu lệnh select trên một bảng khác với điều kiện một bảng khác có một tập các trường bắt buộc để điền vào bảng đầu tiên. Cú pháp như sau:
INSERT INTO first_table_name [(column1, column2, ... columnN)] 
   SELECT column1, column2, ...columnN 
   FROM second_table_name
   [WHERE condition];
Trong những bài tiếp theo, chúng ta sẽ tìm hiểu kĩ hơn về câu lệnh Select.

2. Mệnh đề Where

Mệnh đề WHERE trong SQLite được sử dụng để xác định một điều kiện trong khi lấy dữ liệu từ một bảng hoặc nhiều bảng.
Nếu điều kiện đã cho được thỏa mãn, có nghĩa là đúng, thì nó trả về giá trị cụ thể từ bảng. Bạn sẽ phải sử dụng mệnh đề WHERE để lọc các bản ghi và chỉ lấy các bản ghi cần thiết.
Mệnh đề WHERE được sử dụng sau các câu lệnh như SELECT hoặc UPDATE, DELETE,... chúng ta sẽ tìm hiểu cách dùng trong những phần dưới đây.

3. Câu lệnh Update

Câu lệnh UPDATE trong SQLite được sử dụng để sửa đổi các bản ghi đã tồn tại trong một bảng. Bạn có thể sử dụng mệnh đề WHERE với truy vấn UPDATE để cập nhật các hàng đã chọn, nếu không thì tất cả các hàng sẽ được cập nhật.
Cú pháp:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
Ví dụ: Giả sử chúng ta có bảng COMPANY có các dòng dữ liệu như sau:
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
Ví dụ sau đây sẽ cập nhật ADDRESS cho một khách hàng có ID là 1.
sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 1;
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          Texas       20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

4. Câu lệnh Delete

Truy vấn DELETE trong SQLite được sử dụng để xóa các bản ghi hiện có ra khỏi một bảng. Bạn có thể sử dụng mệnh đề WHERE với truy vấn DELETE để xóa các hàng đã chọn, nếu không thì tất cả các bản ghi sẽ bị xóa.
Cú pháp:
DELETE FROM table_name
WHERE [condition];
Ví dụ: Giả sử chúng ta cũng có bảng dữ liệu như phần 3, nhưng chúng ta muốn xóa người có ID là 1, ta dùng câu lệnh như sau:
sqlite> DELETE FROM COMPANY WHERE ID = 1;
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
Như vậy, thông qua bài học này, mình đã giới thiệu đến các bạn những thao tác cơ bản với dữ liệu trong bảng của SQLite. Trong bài tiếp theo, chúng ta sẽ cùng tìm hiểu về toán tử và biểu thức trong SQLite. Cảm ơn các bạn đã đọc.