Insert, Delete, Update Table Trong SQL Server | How Kteam
Có thể bạn quan tâm
Dẫn nhập
Như trong bài KHỞI TẠO, XÓA, SỬA TABLE đã đề cập, một Table (Bảng) bao gồm các Column (Trường thuộc tính) và các Record (Bản ghi). Trong đó, các Record chính là dữ liệu đưa vào các Table tương ứng cấu trúc của dữ liệu định sẳn của các Column.
Tuy nhiên, trong quá trình lưu trữ dữ liệu, ta thấy rõ không chỉ lưu trữ mà Table còn cần phát sinh các hoạt động THÊM, XÓA, SỬA DỮ LIỆU với một hay nhiều dữ liệu trong Table. Sau đây, chúng ta sẽ cùng tìm hiểu các thao tác trên.
Nội dung chính
Để theo dõi tốt nhất bài này, bạn nên xem qua các bài:
- Khởi tạo DATABASE trong SQL.
- Khởi tạo, xóa, sửa TABLE trong SQL.
- KIỂU DỮ LIỆU trong SQL
Trong bài này, chúng ta sẽ cùng nhau tìm hiểu một số vấn đề sau:
- Database mẫu
- Thao tác với dữ liệu bằng giao diện Table.
- Thao tác với dữ liệu bằng Code.
Database mẫu
Để thao tác tốt với bài này, chúng ta sử dụng database TRUONGHOC sau. Hoặc bạn có thể tự khởi tạo Database có các Table tượng tự để nhớ bài tốt hơn.
--khởi tạo database TRUONGHOC CREATE DATABASE TRUONGHOC GO -- Sử dụng database USE TRUONGHOC GO -- Tạo bảng HOCSINH CREATE TABLE HOCSINH ( MAHS CHAR(5), TEN NVARCHAR(30), NAM BIT, -- Column giới tính Nam: 1 - đúng, 0 - sai NGAYSINH DATETIME, DIACHI VARCHAR(20), DIEMTB FLOAT, ) GO -- Tạo bảng GIAOVIEN CREATE TABLE GIAOVIEN ( MAGV CHAR(5), TEN NVARCHAR(30), Nam BIT, -- Column giới tính Nam: 1 - đúng, 0 - sai NGAYSINH DATETIME, DIACHI VARCHAR(20), LUONG MONEY ) GO -- Tạo bảng LOPHOC CREATE TABLE LOPHOC ( MALOP CHAR(5), TENLOP NVARCHAR(30), SOLUONG INT ) GOThao tác với dữ liệu bằng giao diện Table
Thêm/ Sửa/ Cập nhập dữ liệu vào Table (Insert/ Update Record)
Để thêm hoặc sửa dữ liệu bằng giao diện, chúng ta tìm tới Table cần thêm/ sửa > Chuột phải > Edit top 200 rows.
Giao diện thêm/sửa dữ liệu trên table hiển thị như sau
- Tạo một Record mới tại dòng có vị trí dấu * phía trước. Sau khi nhập đủ dữ liệu thành phần cần thiết > Enter.
- Giá trị mặc định tại các trường thuộc tính ban đầu là NULL
- Dòng có dấu mũi tên phía trước, biểu thị Record hiện hành bạn đang chọn. Tại đây bạn có thể thêm/sửa một hay nhiều thành phần trong Record.
Trong quá trình thêm/ sửa dữ liệu, bạn cần lưu ý nhập dữ liệu theo cấu trúc của kiểu dữ liệu đã chọn trong quá trình khởi tạo Table ( Các kiểu dữ liệu đã giới thiệu trong bài KIỂU DỮ LIỆU TRONG SQL)
Xoá dữ liệu trên Table (Delete Record)
Xóa một record
Để xóa một record đã có trong Table, tại record cần xóa > chuột phải > Delete.
Hoặc bạn có thể nhấp chuột trái vào phía trước record cần xóa. > phím Delete. Cửa sổ thông báo xác nhận xuất hiện > Yes để hoàn tất thao tác xóa một record.
Xóa đồng thời nhiều Record
Nếu bạn muốn xóa cùng lúc nhiều Record, nhấp giữ chuột trái vào phía trước Record cần xóa kéo đến hết các record muốn xóa > phím Delete. Tương tự, cửa sổ thông báo yêu cầu xác nhận thao tác xóa.
Thao tác với dữ liệu bằng code
Để việc thao tác với dữ liệu bằng code được dễ dàng và nhanh chóng hơn, Kteam khuyến khích bạn dùng công cụ hỗ trợ nhắc lệnh đã được hướng dẫn cài đặt trong bài HƯỚNG DẪN CÀI ĐẶT CÔNG CỤ SQL TOOLBELT.
Một số cấu trúc nhập dữ liệu bằng code cần lưu ý
Như bài KIỂU DỮ LIỆU TRONG SQL đã đề cập, trong quá trình khởi tạo Table, mỗi column được gán một kiểu dữ liệu riêng. Vì vậy, quá trình nhập liệu cũng cần tuân thủ nguyên tắc để dữ liệu nhập vào không bị lỗi. Sau đây là một số cấu trúc nhập liệu cơ bản:
Thêm dữ liệu vào Table (Insert Record)
Cú Pháp:
Thêm Record theo column tùy chọn:
INSERT INTO <Tên Table>
( column1, column2, column3, … , columnn, )
VALUES (
Gợi ký nhập dữ liệu, -- Tên column1 – kiểu dữ liệu tương ứng column1
Gợi ký nhập dữ liệu, -- Tên column2 – kiểu dữ liệu tương ứng column2
Gợi ký nhập dữ liệu, -- Tên column3 – kiểu dữ liệu tương ứng column3
…
)
Thêm Record theo thứ tự cấu trúc mặc định Column:
INSERT INTO <Tên Table>
VALUES (
Gợi ký nhập dữ liệu, -- Tên column1 – kiểu dữ liệu tương ứng column1
Gợi ký nhập dữ liệu, -- Tên column2 – kiểu dữ liệu tương ứng column2
Gợi ký nhập dữ liệu, -- Tên column3 – kiểu dữ liệu tương ứng column3
…
)
Khi sử dụng công cụ nhắc lệnh, thao tác thêm record > SQL sẽ hiển thị cấu trúc mặc định của dữ liệu mới theo kiểu dữ liệu của column trong Table:
Ví dụ:
Thêm một Record mới vào table HOCSINH theo đúng thứ tự mặc định của Table
--Thêm một Record mới vào Table HOCSINH theo đúng thứ tự mặc định của Table INSERT dbo.HOCSINH VALUES ( 'CS002' , -- MAHS - char(5) N'KIM LONG' , -- TEN - nvarchar(30) 1 , -- NAM - bit '19940226', -- NGAYSINH - datetime 'DONGNAI' , -- DIACHI - varchar(20) 9.0 -- DIEMTB - float )Lưu ý:
- Từ khóa INTO có hoặc không đều không gây ảnh hưởng đến cấu trúc lệnh.
- Dữ liệu nhập liệu cần được lưu tuần tự tương ứng thứ tự column đã chọn.
Xóa dữ liệu trong Table (Delete Record)
Xóa toàn bộ dữ liệu bằng lệnh TRUNCATE và DELETE
Nếu bạn để ý, trong bài KHỞI TẠO, XÓA, SỬA TABLE TRONG SQL; Kteam đã đề cập đến lệnh TRUNCATE để xóa tất cả dữ liệu trong Table với cú pháp :
TRUNCATE TABLE <Tên TABLE>
Trong bài này, Kteam sẽ giới thiệu lệnh DELETE cũng có chức năng xóa tất cả dữ liệu trong Table với cú pháp:
DELETE <Tên TABLE>
Câu hỏi đặt ra là:
Nếu chúng có cùng chức năng, tại sao cần phải sử dụng hai lệnh xóa dữ liệu riêng biệt? Vậy chúng có gì khác nhau? Sự khác biệt đó có ảnh hưởng gì đến thao tác truy vấn của bạn trong SQL. Hãy cùng Kteam tìm hiểu một số khác biệt cơ bản giữa hai lệnh này!
Một số toán tử điều kiện
Trong quá trình truy vấn, bạn dễ thấy cần có nhiều hơn một điều kiện cần để truy vấn, vậy để liên kết, kết hợp các điều kiện đó trong SQL, cụ thể trong phần này là ở câu lệnh WHERE chúng ta sử dụng một số toán tử sau:
Phía trên là các toán tử thường sử dụng trong quá trình truy vấn, ngoài ra bạn có thể tham khảo thêm chi tiết các toán tử khác tại TÀI LIỆU THAM KHẢO từ tutorialspoint.comMột số ví dụ về xóa dữ liệu có điều kiện
Ở phần này, chúng ta thực hiện một số ví dụ sau để hiểu rõ hơn về cách xóa dữ liệu trong Table. Nhập dữ liệu vào Database TRUONGHOC đầu bài để bạn có thể thao tác dễ dàng hơn với các lệnh truy vấn sau. Dưới đây là database mẫu đã được cập nhập dữ liệu
Ví dụ 1: Xóa tất cả dữ liệu trong Table HOCSINH, ta sử dụng lệnh:
DELETE dbo.HOCSINHHoặc
TRUNCATE TABLE dbo.HOCSINHVí dụ 2: Xóa những giáo viên có lương hơn 5000:
DELETE dbo.GIAOVIEN WHERE LUONG >5000Ví dụ 3: Xóa những giáo viên có lương hơn 5000 và mã số giáo viên <15
DELETE dbo.GIAOVIEN WHERE LUONG > 5000 AND MAGV < 15Ví dụ 4: Xóa những học sinh có điểm TB là 1; 8; 9.
DELETE dbo.HOCSINH WHERE DIEMTB IN (1,8,9)Ví dụ 5: Xóa những học sinh có mã học sinh thuộc danh sách FD001, FD002, FD003
SELECT* FROM dbo.HOCSINH WHERE MAHS IN ('FD002','FD001')Ví dụ 6: Xóa những học sinh có điểm trong khoảng 1 đến 8
DELETE dbo.HOCSINH WHERE DIEMTB BETWEEN 1 AND 8Ví dụ 7: Xóa những học sinh có địa chỉ không phải ở Đà Lạt.
DELETE dbo.HOCSINH WHERE DIACHI NOT LIKE 'DALAT'Cập nhập dữ liệu trong Table (Update Record)
Cú pháp:
UPDATE <Tên Table>
SET <thuộc tính 1 = giá trị 1>, <thuộc tính 2 = giá trị 2>,…,<thuộc tính n = giá trị n>,
WHERE <điều kiện cập nhập>
Lưu ý:
Nếu bạn không sử dụng WHERE trong lệnh sửa dữ liệu > tất cả các Record trong Table đều bị cập nhập dữ liệu.
Ví dụ minh họa:
Với Table GIAOVIEN ban đầu có dữ liệu như sau
Ví dụ 1: Cập nhập Lương của tất cả giáo viên thành 10000
UPDATE dbo.GIAOVIEN SET LUONG = 10000Ví dụ 2: Cập nhập lương của tất cả giáo viên thành 10000 và địa chỉ tại DALAT
UPDATE dbo.GIAOVIEN SET LUONG = 10000, DIACHI ='DALAT'Ví dụ 3: Cập nhập lương của những giáo viên nam thành 1
UPDATE dbo.GIAOVIEN SET LUONG = 1 WHERE Nam='1'Kết
Trong bài này, chúng ta đã biết cách thêm, xóa sửa dữ liệu SQL.
Bài sau, chúng ta sẽ bắt đầu tìm hiểu về KHÓA CHÍNH TRONG SQL.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Insert, Delete, Update Table trong SQL Server dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!
Project
Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
CỘNG ĐỒNG HỎI ĐÁP HOWKTEAM.COM GROUP THẢO LUẬN FACEBOOKTừ khóa » Câu Lệnh Delete Trong Sql 2008
-
Mệnh đề DELETE Xóa Dữ Liệu Trong SQL
-
Lệnh DELETE Trong SQL Server
-
Câu Lệnh Delete Trong SQL Rất Chậm - HelpEx
-
Câu Lệnh DELETE - Express Magazine
-
Cú Pháp Xóa Dữ Liệu DELETE Và TRUNCATE Trong SQL Server
-
Câu Lệnh Delete Trong Sql, Các Cách Sử Dụng Delete Trong Sql. - MCI
-
Các Thao Tác Cơ Bản Với Database Trong Microsoft SQL Server
-
Sự Khác Biệt Giữa TRUNCATE Và DELETE Trong SQL
-
[4 Cách] Xóa Database Trong SQL Nhanh, đơn Giản - BKNS
-
DELETE - Lệnh Xóa Dữ Liệu - SQL & Database
-
MS SQL Server [Archive] - Page 11 - Diễn Đàn Tin Học
-
Top 26 Câu Lệnh Sql Mà Các Lập Trình Viên Và Nhà Data Nào Cũng Cần ...
-
[PDF] Mục Lục