Khởi tạo, xóa, sửa Table trong SQL Server

Sử dụng SQL server

5.0 (15 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 18:24 31-10-2021 281.609 lượt xem 32 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

Khởi tạo, xóa, sửa Table trong SQL Server

Dẫn nhập

Trong bài lần trước, chúng ta đã tìm hiểu các KHỞI TẠO DATABASE TRONG SQL và một số lưu ý liên quan trong quá trình sử dụng SQL MANAGEMENT STUDIO. Trong bài này, Kteam sẽ hướng dẫn bạn thao tác TẠO, XÓA, SỬA TABLE TRONG SQL.

Nào! Chúng ta cùng bắt đầu!


Nội dung chính

Để theo dõi tốt nhất bài này, bạn nên xem qua:

Trong bài này, chúng ta sẽ cùng nhau tìm hiểu một số vấn đề sau:

  • Table trong SQL.
  • Khởi tạo Table trong SQL Server.
  • Thao tác với Table trong SQL Server.

Table trong SQL (bảng)

Tại sao phải tạo Table?

Trong bài trước, chúng ta đã biết DATABASE ( Cơ sở dữ liệu) dùng để lưu trữ thông tin, truy xuất dữ liệu khi cần thiết. Vậy làm sao để lưu trữ dữ liệu trong Database? Làm sao để truy xuất dữ liệu đã lưu?

Bài toán thực tế đặt ra: 

Khi muốn quản lý một trường học, bạn sẽ cần quản lý những gì? Danh sách giáo viên, danh sách học sinh, điểm thi, quá trình công tác, phòng ban…. Và khi truy vấn thì cần truy vấn như thể nào với các thông tin đó?

Vậy khi tất cả dữ liệu cùng nằm trong một Database thì cần có một cách tổ chức thể hiện các thông tin theo một hệ thống lưu trữ, đó chính là TABLE – Bảng.

Một Database bao gồm nhiều Table, giữa các Table có mối liên hệ với nhau thể hiện qua KHÓA CHÍNH & KHÓA NGOẠI


Vậy Table (Bảng) là gì?

Là đối tượng được Database sử dụng để tổ chức và lưu trữ dữ liệu.

Mỗi Table trong Database có thể liên kết với một hoặc nhiều Table khác, ở một hoặc nhiều thuộc tính.

Mỗi Table bao gồm: 

  • Record: Là các dòng, hay còn gọi là các BẢN GHI. Biểu diễn cho một thực thể (ứng với một đối tượng)
    • Ví dụ: Bản ghi số 3 thể hiện mọi thông tin liên quan đối tượng Nguyễn Sơn Tùng như MaSV, TenSV, Khoa….
  • Column: Là các cột hay còn gọi là các TRƯỜNG THUỘC TÍNH. Biểu diễn cho một tính chất của thực thể.
    • Ví dụ: Trường TenSV lưu trữ tên của các sinh viên được lưu trữ trong Table SINHVIEN

Mẫu Table hiển thị thông tin


Khởi tạo Table trong SQL Server

Tạo Table bằng giao diện (UI)

Bước 1: Nhấp dấu (+) bên trái Database cần tạo Table > Tìm folder Table 

Bước 2: Nhấp chuột phải vào Table > New > Table… ( hoặc New Table)

Thao tác tạo table mới từ mục Table và chọn New Table

Bước 3: Xuất hiện cửa sổ TenPC.TenDatabase – dbo.Table_1

Lưu ý: Dấu * biểu thị cho bảng mới chưa được lưu tên.

Table_1 là tên lưu trữ mặc định tạm thời cho Table vừa tạo trong Database

Trong đó:

  • Column Name: Tên trường thuộc tính trong bảng.
  • Data Type: Kiểu dữ liệu của các trường thuộc tính ( sẽ giới thiệu trong bài KIỂU DỮ LIỆU TRONG SQL)
  • Allow Nulls: Trường thuộc tính có nhận giá trị Null (Rỗng) hay không.

Mũi tên bên trái thể hiện Record hiện hành mà bạn đang chỉnh sửa. Bảng Column Properties có chứa các yếu tố tương ứng mà bạn có thể chỉnh sửa riêng cho Record đó.

Thể hiện bảng mẫu và column properties để xem thông tin cột

Bước 4:  Lưu Table vừa tạo bằng cách nhấn Biểu tượng SAVE hoặc phím tắt Ctrl + S.

Nhấn vào nút save để lưu table

  • Cửa sổ Choose Name hiển thị. Nhập tên Table > Ok

Đặt tên cho table cần lưu


Tạo Table bằng code

Bước 1: Trong Query, bạn viết cú pháp khởi tạo Table sau > Bôi đen dòng lệnh > Excute ( phím tắt F5)

CREATE TABLE <Tên Table>

(

<Tên trường 1> <Kiểu dữ liệu>,

<Tên trường 2> <Kiểu dữ liệu>,

<Tên trường n> <Kiểu dữ liệu>

)

Lưu ý: Sau mỗi trường cần có dấu phẩy (,) để ngăn cách với thông tin trường tiếp theo.

 Sau trường cuối cùng không cần có dấu phẩy.

Ví dụ: Tạo Table SINHVIEN có các thuộc tính MASV, TENSV, KHOA

-- Tạo Table SINHVIEN có các thuộc tính MASV,TENSV,KHOA
CREATE TABLE SINHVIEN
(
            MASV NCHAR(10),
            TENSV NVARCHAR(100),
            KHOA NVARCHAR(100)
)

Hộp thoại Message xuất hiện báo lệnh khởi tạo thành công.

Hiển thị thông báo khởi tạo table thành công


Một số lưu ý trong khởi tạo Table

Tạo Table mới ở Database hiện hành

Cách 1: Nhận biết Database hiện hành tại ô đỏ trong hình, lựa chọn Database mong muốn trong danh sách xổ xuống trước khi thực thi lệnh khởi tạo Table

Hiển thị danh sách các Database mà bạn muốn chọn

Cách 2: Trước khi khởi tạo Table, sử dụng cú pháp

USE <Tên Database>

  • Ví dụ: tạo table SINHVIEN trong database SQLDBUI
--Sử dụng Database SQLDBUI
USE SQLDBUI

--Tạo bảng SINHVIEN trong Database SQLDBUI
CREATE TABLE SINHVIEN
(
            MASV NCHAR(10),
            TENSV NVARCHAR(100),
            KHOA NVARCHAR(100)
)

Không tìm thấy Table vừa khởi tạo

Trong quá trình tạo Table bằng code, một số trường hợp bạn không nhìn thấy Table vừa tạo thì bạn nhấp chuột phải vào Table > Refresh để cập nhập danh sách Table.

Nhấn refresh để cập nhập lại danh sách Database vừa tạo


Mỗi Column chỉ có một tên duy nhất trong Table

Trong quá trình tạo bảng, bạn có thể gặp một trong các lỗi sau:

  • Khi tạo Table bằng giao diện

Lỗi khi tạo column bằng giao diện

  • Khi tạo Table bằng code.

Lỗi khi khởi tạo column bằng code

Hai lỗi này cùng thông báo có 2 column trùng lặp tên trong một Table > Cần thay đổi tên để đảm bảo tên mỗi Colummn là duy nhất trong Table.


Mỗi Table chỉ có một tên duy nhất trong Database

Trong quá trình tại bảng, bạn có thể gặp một trong các lỗi sau

  • Khi tạo Table bằng giao diện

Lỗi khi tạo table bằng giao diện

  • Khi tạo Table bằng code

Lỗi khi khởi tạo table bằng giao diện

Hai lỗi này, cùng thông báo có 2 Table trùng tên trong một Database > Cần thay đổi tên để đảm bảo tên mỗi Table là duy nhất trong cùng Database.


Xóa Table trong SQL Server

Cách 1: Nhấp chuột phải vào Table cần xóa > Delete. Cửa sổ Delete Object > Ok

Cách xóa table bằng chuột phải và chọn Delete

Cách 2: Trong Query bạn viết cú pháp xóa Table > Excute (phím tắt F5).

DROP TABLE <Tên Table>

Cách xóa table bằng đoạn code

Lưu ý: Nếu lệnh xóa được thực thi 2 lần hoặc xóa một Table không tồn tại trong Database, Message sẽ xuất hiện thông báo sau:

Thông báo lỗi khi xóa không thành công table


Một số lệnh thao tác khác trong Table

Thêm/sửa đổi thuộc tính vào Table

Cách 1: Nhấp chuột phải vào Table cần thay đổi > Design. Tiến hành thay đổi các thuộc tính > SAVE (Ctrl + S)

Thao tác Design thay đổi thuộc tính table

Cách 2: Sử dụng cú pháp thêm/sửa > Excute (F5)

ALTER TABLE <Tên Table> ADD <Tên Column> <Kiểu dữ liệu> 

ALTER COLUMN <Tên Column> <Kiểu dữ liệu cần sửa> 

Ngoài thêm/ sửa column trong bảng, lệnh ALTER còn có thể thêm/ sửa khóa chính, khóa ngoại, các ràng buộc, hàm/thủ tục,… sẽ đề cập ở các bài sau trong khóa SỬ DỤNG SQL SERVER.

  • Ví dụ: Thêm cột NGAYSINH có kiểu dữ liệu DATA vào bảng GIANGVIEN
--Thêm column NGAYSINH có kiểu dữ liệu DATE vào Table dbo.GiangVien

ALTER TABLE dbo.GiangVien ADD NGAYSINH DATE
GO

--Chỉnh sửa kiểu dữ liệu của column MASV trong Table dbo.GiangVien
ALTER TABLE dbo.GiangVien
            ALTER COLUMN  MASV CHAR(5)
GO

Xóa toàn bộ dữ liệu trong Table

Để xóa toàn bộ dữ liệu trong table mà không xóa đi table đó trong Database bạn sử dụng cú pháp > Excute (F5)

TRUNCATE TABLE <tên Table>


Ngăn cách các khối lệnh

Trong quá trình tạo bảng bằng code, nếu bạn tạo một database mới, đồng thời tạo một lần nhiều table trong database đó dễ dẫn đến việc database chưa khởi tạo nên không tồn tại thêm bảng.

Từ bản SQL Server 2014 trở đi, lỗi trên đã được khắc phục, Tuy nhiên, Kteam vẫn khuyến khích sử dụng lệnh GO sau mỗi khối lệnh để giảm thiểu lỗi khi thực thi đồng loạt hoặc toàn bộ Query

  • Ví dụ: 
--Khởi tạo Database TRUONG
CREATE DATABASE TRUONG
GO

--Sử dụng Database TRUONG
USE TRUONG
GO

--Khởi tạo Table SinhVien
CREATE TABLE SinhVien
(
            MASV NCHAR(10),
            TENSV NVARCHAR(100),
            KHOA NVARCHAR(100)
)
GO

--Khởi tạo Table GiangVien
CREATE TABLE GiangVien
(
            MAGV NCHAR(10),
            TENGV NVARCHAR(100),
            KHOA NVARCHAR(100)
)
GO


Kết

Trong bài này, chúng ta đã biết cách KHỞI TẠO TABLE trong SQL Server.

Bài sau, chúng ta sẽ tìm hiểu về KIỂU DỮ LIỆU 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 Khởi tạo, xóa, sửa 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á

manh2004 đã đánh giá 20:38 18-09-2023

Cám ơn HowKteam đã làm những video bài giảng đầy tâm huyết giúp mọi người học biết thêm nhiều kiến thức. Chúc cho HowKtem luôn có nhiều sức khỏe, sự nhiệt huyết để tạo nên những bài giảng bổ ích cho tất cả mọi người.

phuong-pcm đã đánh giá 22:56 06-08-2023

Thang0912 đã đánh giá 00:17 02-05-2023

QuynhNgaDuong đã đánh giá 11:08 05-10-2022

huynh94 đã đánh giá 14:48 08-07-2022

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
phuonglinh167 đã bình luận 10:31 30-06-2023

Không biết là nên học MySQL hay SQL server ạ ? Cái nào được dùng phổ biến hơn ạ? Nếu em học SQL Server và sau đi làm phải dùng MySQL thì 2 cái này có khác nhau quá nhiều không ạ?

 

O0oKingo00 đã bình luận 23:47 10-05-2021

Cám ơn Kteam nhé.

Kết hợp đọc thêm tài liệu sẽ thống kê chi tiết hơn là chỉ coi video

CattyLee đã bình luận 14:24 05-01-2021

Cảm giác kiểu như team cứ giảng vậy xong đến đâu nhớ ra cái gì thì nói cái đó, khiến cho video trở nên khá loãng, dài dòng thiếu trọng tâm :(( Mình góp ý vậy thui

Nerosaro đã bình luận 23:24 26-11-2020

À mình hiểu rồi, nó xóa toàn bộ dữ liệu, không phải xóa cột, mình nhầm
Cảm ơn HowKteam vì bài giảng nha ! :D

Nerosaro đã bình luận 23:18 26-11-2020

Bài giảng rất hay, dễ hiểu, rất cảm ơn HowKteam nha! 
Mà ad cho mình hỏi sao mình dùng lệnh TRUNCATE TABLE <tên Table> mà khi refresh lại dữ liệu trong table đó vẫn không xóa được là sao ạ?

Không có video.