Insert, Delete, Update Table trong SQL Server

Sử dụng SQL server

5.0 (3 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 23:43 09-04-2018 56.018 lượt xem 16 bình luận
Học nhanh

Danh sách bài học

Insert, Delete, Update Table trong SQL Server

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:

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:

 

 

 


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 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 THÊM, XÓA, SỬA DỮ LIỆU 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 hoặc +1 Google để ủng hộ Kteam và tác giả nhé! 


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. 

 


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.

Nội dung bài viết

Tác giả

Khóa học

Sử dụng SQL server

Với hệ thống nhỏ, chúng ta hoàn toàn có thể lưu trữ dữ liệu bằng file để khi tắt ứng dụng dữ liệu chúng ta vẫn còn được lưu giữ. Nhưng với hệ thống lớn, truy vấn tìm kiếm, thao tác với dữ liệu trên file không còn dễ dàng và hiệu quả nữa. Và SQL ra đời để giải quyết vấn đề đó.

Chúng ta cùng nhau tìm hiểu về SQL và SQL Server thông qua serial HƯỚNG DẪN SỬ DỤNG SQL SERVER nhé!

Đánh giá

Huynh Phat đã đánh giá 14:45 16-07-2019

Alogbrain đã đánh giá 13:17 28-03-2019

rubyintheair đã đánh giá 19:38 01-03-2019

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
hoangkygianglong đã bình luận 21:08 12-09-2019

muốn sửa dữ liệu trong bảng thì dùng lệnh gì ạ ad

duyquangnvx đã bình luận 15:07 31-03-2019

bài viết rất hay ạ

Alogbrain đã bình luận 16:32 27-03-2019

Ví dụ mình INSERT MaSV là 001, nhưng khi edit thì nó chỉ hiện là 1. Vậy có cách nào giải quyết k mn?

rubyintheair đã bình luận 11:32 08-03-2018

Nếu mình muốn chọn update giá trị NULL thì như thế nào ạ? Mình thử 3 cách nhưng không được

C1: UPDATE HOCSINH SET TEN = 'Nguyen Van A' WHERE MAHS = ' '

C2: UPDATE HOCSINH SET TEN = 'Nguyen Van A' WHERE MAHS = '  '

C3: UPDATE HOCSINH SET TEN = 'Nguyen Van A' WHERE MAHS IS NULL 

cactus_165 đã bình luận 18:57 20-02-2018

done 

Không có video.