Insert, Delete, Update Table Trong SQL Server | How Kteam

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 ) GO

Thao 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.

kteam, howkteam, insert, delete, update, table, sql, sql server

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.

kteam, howkteam, insert, delete, update, table, sql, sql server

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.

kteam, howkteam, insert, delete, update, table, sql, sql server

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.

kteam, howkteam, insert, delete, update, table, sql, sql server

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.

kteam, howkteam, insert, delete, update, table, sql, sql server

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:

kteam, howkteam, insert, delete, update, table, sql, sql server

kteam, howkteam, insert, delete, update, table, sql, sql server

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:

kteam, howkteam, insert, delete, update, table, sql, sql server

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!

kteam, howkteam, operator, insert, delete, update, table, sql server,truncate kteam, howkteam, operator, insert, delete, update, table, sql server, kteam, howkteam, operator, insert, delete, update, table, sql server,

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:

kteam, howkteam, operator, insert, delete, update, table, sql server, kteam, howkteam, operator, insert, delete, update, table, sql server, 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.com

Mộ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

kteam, howkteam, insert, delete, update, table, sql, sql server

Ví dụ 1: Xóa tất cả dữ liệu trong Table HOCSINH, ta sử dụng lệnh:

DELETE dbo.HOCSINH

Hoặc

TRUNCATE TABLE dbo.HOCSINH

Ví dụ 2: Xóa những giáo viên có lương hơn 5000:

DELETE dbo.GIAOVIEN WHERE LUONG >5000

Ví 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 < 15

Ví 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 8

Ví 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

kteam, howkteam, insert, delete, update, table, sql, sql server

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 = 10000

kteam, howkteam, insert, delete, update, table, sql, sql server

Ví 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'

kteam, howkteam, insert, delete, update, table, sql, sql server

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'

kteam, howkteam, insert, delete, update, table, sql, sql server

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 likeshare để ủ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 FACEBOOK

Từ khóa » Câu Lệnh Delete Trong Sql 2008