Insert, Delete, Update Table trong SQL Server

Sử dụng SQL server

5.0 (10 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 23:16 31-10-2021 216.740 lượt xem 36 bình luận
Tác giả/Dịch giả: Kteam
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:

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ê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ả/Dịch 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á

phungduongd đã đánh giá 16:04 07-04-2022

0866071985 đã đánh giá 15:35 22-05-2021

dino997sss đã đánh giá 09:33 07-01-2021

nguyenvh2k đã đánh giá 09:26 20-11-2020

vyphong đã đánh giá 22:33 04-09-2020

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
Nvv0304 đã bình luận 13:37 16-11-2023

Cho em hỏi là em dùng SQL 2019, Lúc tạo bảng em không tạo được kiểu dữ liệu "DATE", chỉ có "DATETIME". Có cách nào sửa không ạ

compo189joker@gmail.com đã bình luận 09:16 09-10-2022

Cho mình hỏi,
Ở trên bài thì delete với điều kiện là kiểu số nguyên, thực thì mình F5 được
Còn delete với điều kiện là kiểu chữ thì F5 không thay đổi gì hết
Mình viết thế này đây: UPDATE dbo.HocSinh SET SCORE=9 WHERE ADDRS= 'Quận 5'
Cho mình hỏi là sai chỗ nào vậy ạ

hoangpham19112002 đã bình luận 23:03 06-01-2022

lỗi kh tải đc ad ơi :(((

 

Ays Dương đã bình luận 03:02 15-04-2021

Kteam cho em hỏi là: Nếu em để Status là bit thì Update phải như thế nào ạ?
Kiểu như là 1 người đang trong Status làm việc, và mình update lại họ đang tạm nghỉ ấy.

a1cainich đã bình luận 17:11 10-12-2020

Cho em hỏi làm sao đẻ thêm một columns vào một table đã được tạo sẵn

Không có video.