TRUY VẤN SQL: CREATE TABLE

Ngày đăng: 14/11/2020   -    Cập nhật: 14/11/2020

1. Giới thiệu


Sau khi nắm vững kiến thức về đại số quan hệ, chúng ta có thể tiến nhanh trên con đường mới – tiếp xúc với một loại ngôn ngữ mới dựa trên chính các đại số quan hệ mà ta đã tìm hiểu ở phần trước – ngôn ngữ SQL (Structured Query Language).


Đây có thể xem là một ngôn ngữ đơn giản (nếu bạn đã chắc ăn các phần mà mình đã giới thiệu trước đó) để xây dựng các câu lệnh truy vấn. Truy vấn SQL trong Series này, chúng ta sẽ làm quen với MS – SQL Server (đã hướng dẫn cài đặt ở phần trước).


Qui ước câu lệnh SQL:


  • Câu lệnh có thể viết nhiều dòng
  • Kết thúc bằng dấu chấm phẩy ;
  • Các câu lệnh không phân biệt hoa thường
  • Một lệnh SQL còn được gọi là một câu truy vấn


Qui ước cú pháp lệnh:


  • <…> phần bắt buộc
  • […] phần tuỳ chọn, có cũng được – không có cũng được.


Lưu ý: các câu lệnh sử dụng trong Series này có thể không thực thi được trên các hệ quản trị CSDL khác MS – SQL Server.


Đầu tiên, chúng ta hãy làm quen với CREAT TABLE.


2. Tạo bảng với lệnh CREAT TABLE


Để tạo một bảng trong CSDL ta có câu lệnh SQL là CREAT TABLE, cú pháp của CREAT TABLE đơn giản như sau:



CREATE TABLE <tên bảng> (
<tên cột> <kiểu dữ liệu> [các ràng buộc cột[…] ] | [ràng buộc bảng[…] ])
 


Trong đó:


Ràng buộc cột có thể là:



  • NOT NULL
  • CHECK (<điều kiện>)
  • UNIQUE
  • DEFAULT <giá trị>
  • PRIMARY KEY

 
Ràng buộc bảng : có thể là FOREIGN KEY (<cột tham chiếu>) REFERENCES <bảng tham chiếu>(<cột tham chiếu>)


Cơ sở dữ liệu minh hoạ:


PHICONG(MPC, hoten, dchi, nuoc)
CONGTY (MCT, tencty, nuoc)
LOAIMAYBAY(loai, NSX, socho)
MAYBAY(MMB, loai, MCT)
CHUYENBAY(SOCB, ngaybay, MPC, MMB, noidi, noiden, khoangcach, giodi, gioden)
LAMVIEC(MPC, MCT, ngayBD, songay)



Nếu chưa có File CSDL sẵn, bạn phải tạo Database lại từ đầu. Vì chỉ khi có Database trong MS – SQL Server, chúng ta mới thao tác / truy vấn được bằng các câu lệnh.


Để tạo một Database, ta có cú pháp: CREATE DATABASE <tên database>


Để sử dụng / truy vấn được với Database: USE <tên database>


Với CSDL như trên, ta có thể tạo và sử dụng Database như sau:




CREATE DATABASE PILOTMANAGEMENT;
USE PILOTMANAGEMENT;
 



Sau khi có Database PILOTMANAGEMENT, chúng ta có thể áp dụng câu lệnh tạo bảng cho bảng PHICONG và  CONGTY như sau:



CREATE TABLE PHICONG (
MPC smallint PRIMARY KEY,
hoten varchar(30NOT NULL,
dchi varchar(30)
);

CREATE TABLE CONGTY (
MCT smallint NOT NULL,
tencty varchar(30) UNIQUE,
nuoc varchar(20),
PRIMARY KEY (MCT)
);
 


Nếu thấy dòng “Commands completed successfully.” tức là câu lệnh được thức thi thành công.


Bạn thấy 2 câu lệnh tạo bảng trên khác nhau ở chỗ định nghĩa PRIMARY KEY không? Đó là 2 cách bạn hoàn toàn có thể áp dụng được.



[ Đối với MS – SQL Server, muốn thực thi câu lệnh nào, chọn (tô đen) câu lệnh đó rồi chọn Execute (hoặc nhấn F5) ]


Trên thực tế, bạn phải làm quen với những bảng có kết cấu phức tạp, nhiều ràng buộc và các điều kiện liên quan rất khó nhằn. Hãy thử tạo bảng CHUYENBAY với các ràng buộc và điều kiện như bên dưới xem – nếu bạn không xem qua mẫu thì có làm ngay được không ?



CREATE TABLE CHUYENBAY(
SOCB varchar(10NOT NULL,
MPC smallint NOT NULL,
MMB smallint NOT NULL,
noidi varchar(20) DEFAULT 'Paris',
noiden varchar(20),
khoangcach int CHECK(khoangcach>0),
giodi time,
gioden time ,
ngaybay date,
CONSTRAINT fk_MPC FOREIGN KEY(MPC)REFERENCES PHICONG(MPC)
);
 

3. Làm quen với lệnh ALTER TABLE


Trong nhiều trường hợp, đôi khi bạn quên định nghĩa khoá chính hoặc các ràng buộc cần thiết hoặc thiếu / thừa các cột, không cần phải xoá bảng để tạo lại đâu – chúng ta có thể dùng lệnh ALTER TABLE để sửa lại.


Lệnh ALTER TABLE cho phép thay đổi cấu trúc bảng, thêm hoặc xoá các ràng buộc toàn vẹn.



  • Thêm cột : ALTER TABLE <tên bảng> ADD <tên cột> <kiểu dữ liệu>
  • Xoá cột : ALTER TABLE <tên bảng> DROP COLUMN <tên cột>
  • Đổi kiểu dữ liệu của một cột: ALTER TABLE <tên bảng> ALTER COLUMN <tên cột> <kiểu dữ liệu>

Ví dụ:


  • Thêm cột songay với kiểu dữ liệu int: và cột nuoc với kiểu dữ liệu là varchar(20)UNIQUE:
 


ALTER TABLE LAMVIEC ADD songay int;
ALTER TABLE LAMVIEC ADD nuoc varchar(20UNIQUE;
 


  • Thêm khoá chính:



ALTER TABLE PHICONG ADD PRIMARY KEY (MPC);
-- Hoặc:
ALTER TABLE PHICONG ADD CONSTRAINT pk_MPC PRIMARY KEY (MPC); -- MPC Phải NOT NULL
 


  • Xóa cột nuoc:



ALTER TABLE LAMVIEC DROP COLUMN nuoc;
 


  • Xóa ràng buộc:



ALTER TABLE PHICONG DROP CONSTRAINT pk_MPC;
 


  • Thay đổi kiểu dữ liệu của một cột:



ALTER TABLE LAMVIEC ALTER COLUMN songay smallint;
 


Thỉnh thoảng gặp một số lý do bất khả kháng, bạn buộc phải xoá bảng thì phải làm sao?


Yên tâm MS – SQL Server hay bất kỳ hệ quản trị CSDL nào khác cũng đều hỗ trợ câu lệnh dành cho phần này.


> Lưu ý: Nếu xoá bảng thì toàn bộ dữ liệu sẽ bị mất và không thể phục hồi lại được. Đối với một số bảng có ràng buộc khoá ngoại -> Bạn phải xoá ràng buộc hoặc xoá luôn bảng có liên quan đó thì mới xoá được bảng hiện tại.


Cú pháp xóa bảng: DROP TABLE <tên bảng>


Ví dụ: xoá bảng LAMVIEC




DROP TABLE LAMVIEC;
 


Quên nhắc các bạn là, trong các ví dụ trên, một số bảng liên quan chưa được khởi tạo trước đó.


Nếu bạn làm theo khuôn mẫu nhất định sẽ bị lỗi. Bảng nào thiếu, bạn có thể tự dựa vào CSDL mẫu và tạo thêm hoặc chấp nhận hạn chế chỉ làm việc trên các bảng đã tạo trong các ví dụ trước đó.



Tổng kết


Học tạo Database, tạo bảng và sửa đổi các thuộc tính của bảng là những dòng SQL đầu tiên mà bất cứ lập trình viên nào cũng phải trải qua.


Bảng có thể được xem như một khối hợp có các vách ngăn làm tiền đề để thêmsửa xoá dữ liệu mà chúng ta sẽ làm quen ở những phần sau của Series Học lập trình SQL này.



[Một số bảng, thuộc tính, dữ liệu trong các ví dụ không có sẵn. Bạn hãy thêm vào để kiểm tra nhé.]


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!