Sử dụng SQL server

Sử dụng SQL server

Khởi tạo, xóa, sửa Table trong SQL Server Khởi tạo, xóa, sửa Table trong SQL Server Khởi tạo, xóa, sửa Table trong SQL Server Khởi tạo, xóa, sửa Table trong SQL Server Khởi tạo, xóa, sửa Table trong SQL Server 4.7/5 (116 reviews)

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

Đã đăng 2017-02-28 04:54:18 bởi Kteam
5 bình luận 44631 lượt xem
Khởi tạo, xóa, sửa Table trong SQL Server 4.7 /5 stars (8 reviews)
 

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

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL


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)

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

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 đó.

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

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.

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

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

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL


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.

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL


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

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

 

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.

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL


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

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

  • Khi tạo Table bằng code.

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

 

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

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

  • Khi tạo Table bằng code

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

 

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

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

 

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>

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

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:

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL


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)

kteam, SQLHowkteam, AlterTableSQL,DropTableSQL,CreateTableSQL, TableSQL, HowkteamSQL

 

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 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 TẠO, XÓA, SỬA TABLE TRONG SQL 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. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Khởi tạo, xóa, sửa Table trong SQL Server
nhoctargunn 2018-10-16 22:03:37

Dạ mình muốn sửa cột MaHS thành kiểu dữ liệu khác hoặc tên khác thì dùng alter như thế nào vậy admin nhỉ?

1 bình chọn
Reply
Khởi tạo, xóa, sửa Table trong SQL Server
rubyintheair 2018-03-06 18:11:06

Thanks Howkteam nha

1 bình chọn
Reply
Khởi tạo, xóa, sửa Table trong SQL Server
cactus_165 2018-02-17 00:50:15

17/2/2018 hoàn thành bài 3.

Mỗi khi hoàn thành 1 bài học mình sẽ comment lại để đánh dấu, cố gắng bài nào cũng có comment ^^
Nếu 2 hôm liên tiếp mà các  bài sau của khóa học mình chưa comment thì mong admin, mod, hay ai đó tốt bụng hãy nhắc nhở mình nhé, hoặc inb nhắc mình thì thật tuyệt vời ^^ 
Nếu có ai đang học mà có người học cùng để nhắc nhở nhau thế này thì inbox mình nhé ^^ 
https://www.facebook.com/123dna

1 bình chọn
Reply
Khởi tạo, xóa, sửa Table trong SQL Server
mr.ms 2017-08-07 11:39:40

cho em hỏi là dùng alter add để thêm 1 cái mục nào đó vậy có cách nào mà chỉ xóa 1 cái mục ( vd như trong table giao viên chỉ xóa dòng name đi)

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2017-08-13 15:14:30
ALTER TABLE dbo.doc_exb DROP COLUMN column_b ;
0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education