Bài 2: Câu lệnh SQL tạo cơ sở dữ liệu, bảng, thay đổi cấu trúc của bảng
1. Câu lệnh tạo cơ sở dữ liệu
CREATE DATABASE SinhVien;
2. Câu lệnh tạo bảng
Định nghĩa một bảng cần:
- Tên bảng
- Các thuộc tính:
- Tên thuộc tính
- Kiểu dữ liệu
- Ràng buộc toàn vẹn trên thuộc tính đó
CREATE TABLE <tên bảng> (
<tên cột 1> <kiểu dữ liệu 1> [RBTV] ,
<tên cột 2> <kiểu dữ liệu 2> [RBTV],
…
<tên cột n> <kiểu dữ liệu n> [RBTV];)
Trong đó các ràng buộc toàn vẹn (RBRV) bao gồm:
- NOT NULL
- NULL
- IDENTITY
- UNIQUE
- DEFAULT
- PRIMARY KEY
- FOREIGN KEY/ REFERENCES
- CHECK
Ví dụ: tạo bảng dữ liệu SINHVIEN
CREATE TABLE SINHVIEN(
MaSV char(6) not null PRIMARY KEY,
HoDem varchar(30) not null,
Ten varchar(15) not null,
NgaySinh datetime,
GioiTinh varchar(3),
Tinh varchar(30),
MaLop char(8) not null);
3. Câu lệnh chỉnh sửa bảng
Sử dụng trong trường hợp cần thay đổi cấu trúc của bảng như thêm cột, sửa kiểu dữ liệu cho cột …
3.1. Câu lệnh thêm cột
ALTER TABLE <tên bảng>
ADD <tên cột> <kiểu dữ liệu> [RBTV];
Ví dụ: thêm cột chính sách vào bảng SINHVIEN
ALTER TABLE SINHVIEN
ADD ChinhSach char(10);
3.2. Câu lệnh thay đổi kiểu dữ liệu cho cột
ALTER TABLE <tên bảng>
ALTER COLUMN <tên cột> <kiểu dữ liệu mới>;
Ví dụ: sửa kiểu dữ liệu cột GioiTinh trong bảng SINHVIEN từ kiểu char sang kiểu bit [0/1]
ALTER TABLE SINHVIEN
ALTER COLUMN GioiTinh bit;
4. Câu lệnh thêm ràng buộc toàn vẹn
Trường hợp bạn quên chưa tạo khoá chính chính hoặc khoá ngoại cho các bảng thì ta cần thực hiện câu lệnh
4.1. Thêm khóa chính
ALTER TABLE <tên bảng>
ADD PRIMARY KEY (danh sách tên cột);
Ví dụ: đặt khóa chính trên cột MaSV của bảng SINHVIEN
ALTER TABLE SINHVIEN
add PRIMARY KEY (MaSV);
4.2. Tạo khóa ngoài
Đặt khoá ngoại của bảng này liên kết với khoá chính của bảng kia.
ALTER TABLE<tên bảng>
ADD FOREIGN KEY (Danh sách tên cột)
REFERENCES <tên bảng> (Danh sách tên cột);
Ví dụ: Đặt MaLop là khóa ngoại trên bảng SINHVIEN
ALTER TABLE SINHVIEN
ADD FOREIGN KEY(MaLop)
REFERENCES LOP (MaLop);
5. Câu lệnh xoá cột
ALTER TABLE <tênbảng>
DROP COLUMN <tên cột>;
Ví dụ: xóa cột chính sách trong bảng SINHVIEN
ALTER TABLE SINHVIEN
DROP COLUMN ChinhSach;
6. Bài tập
Viết câu lệnh SQL hoàn thiện các bảng KHOA, LOP, MONHOC, KETQUA và tạo sơ đồ thực thể liên kết theo hình.