Ngôn ngữ SQL - Phần 1
Lưu ý khi xóa bảng có liên quan đến khóa ngoại :
1. Nếu không có tham chiếu vòng thì tiến hành xóa bảngchứa khóa ngoại trước sau
đó rồi xóa bảng còn lại, hoặc xóa khóa ngoại rồi sau đó tiến hành xóa các bảng
2. Nếu có khóa vòng thì xóa một khóa để mất khóa vòng rồi tiến hành làm như
trường hợp 1
1 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Ngôn ngữ SQL – Phần 1 Trọng tâm 1) Tạo bảng 2) Thay đổi cấu trúc bảng 3) Nhập, cập nhật dữ liệu Cú pháp câu lệnh tạo bảng và khóa chính Tạo bảng không có khóa chính Cú pháp Ví dụ Create table [Tên Bảng] ( [Thuộc tính 1] [Kiểu dữ liệu 1], [Thuộc tính 2] [Kiểu dữ liệu 2], [Thuộc tính 2] [Kiểu dữ liệu 3] ) Create table NHAN_VIEN ( manv char(10), hoten varchar(30), ngaysinh datetime, luong float ) Tạo bảng có khóa chính Create table [Tên Bảng] ( [Thuộc tính 1] [Kiểu dữ liệu 1], [Thuộc tính 2] [Kiểu dữ liệu 2], ... [Thuộc tính n] [Kiểu dữ liệu n], PRIMARY KEY ([Danh sách các thuộc tính làm khóa chính, cách nhau Create table NHAN_VIEN ( manv char(10), hoten varchar(30), ngaysinh datetime, luong float, PRIMAMRY KEY (manv) 2 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Tạo bảng kèm theo khóa chính và khóa ngoại Các lệnh về thay đổi cấu trúc bảng - Thêm, xóa, sửa một thuộc tính - Thêm, xóa khóa chính - Thêm, xóa khóa ngoại - Thêm, xóa ràng buộc miền giá trị - Thêm, xóa ràng buộc UNIQUE Thêm, xóa, sửa một thuộc tính bằng dấu phẩy)] ) ) Create table [Tên Bảng] ( [Thuộc tính 1] [Kiểu dữ liệu 1], [Thuộc tính 2] [Kiểu dữ liệu 2], ... [Thuộc tính n] [Kiểu dữ liệu n], CONSTRAINT [Tên Khóa Chính] PRIMARY KEY ([Danh sách các thuộc tính làm khóa chính, cách nhau bằng dấu phẩy)] CONSTRAINT [Tên Khóa Ngoại] FOREIGN KEY ([Danh sách các thuộc tính khóa ngoại]) REFERENCES [Tên bảng tham chiếu]([Danh sách các thuộc tính khóa chính của bảng tham chiếu ñến]) ) Create table PHONG ( Maphg char(10), Tenphg varchar(30), Diadiem varchar(40), Trphg char(10), CONSTRAINT PK_NHANVIEN PRIMARY KEY (maphg) CONSTRAINT FK_PHONG_NHANVIEN FOREIGN KEY (Trphg) REFERENCES NHAN_VIEN(Manv) ) Cú pháp Ví dụ 3 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Thêm ràng buộc khóa chính, khóa ngoại, miền giá trị Thêm thuộc tính : Alter table [Tên Bảng] add [Tên thuộc tính] [Kiểu dữ liệu] Thêm thuộc tính DiaChi Alter table NhanVien add DiaChi varchar(20) Xóa thuộc tính : Alter table [Tên Bảng] drop column [Tên thuộc tính] Xoá thuộc tính DiaChi Alter table NhanVien Drop DiaChi Sửa thuộc tính : Alter table [Tên Bảng] alter column [Tên thuộc tính] [Kiểu dữ liệu mới] Sửa thuộc tính DiaChi Alter table NhanVien Alter column DiaChi varchar(50) Cú pháp Ví dụ Thêm khóa chính : Alter table [Tên Bảng] add constraint [Tên khóa chính] PRIMARY KEY ([Danh sách các thuộc tính của khóa chính]) Lưu ý : Khi tạo khóa chính cho bảng ở bên ngoài lệnh tạo bảng thì các thuộc tính của khóa chính phải được khai báo là NOT NULL trong câu lệnh tạo bảng Thêm khoá chính cho bảng nhân viên: Alter table NhanVien add constraint PK_NHANVIEN PRIMARY KEY (MaNV) Thêm khóa ngoại : ALTER TABLE [Tên Bảng] ADD CONSTRAINT [Tên khóa ngoại] FOREIGN KEY ([Danh sách các thuộc tính khoá ngoại]) REFERENCES [Tên bảng tham chiếu] ( Thêm khóa ngoại cho bảng PHONG: ALTER TABLE PHONG ADD CONSTRAINT FK_PHONG_NHANVIEN FOREIGN KEY (trphg) REFERENCES NHANVIEN(manv) 4 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Xóa ràng buộc khóa chính, khóa ngoại, miền giá trị Một số lưu ý : - Tên khoá chính, khóa ngoại chỉ mang tính gợi nhớ. - Danh sách các thuộc tính khoá ngoại cách nhau bằng dấu phẩy - Danh sách cấc thuộc tính khoá chính cách nhau bằng dấu phẩy Các lệnh xem thông tin của một bảng [Danh sách các thuộc tính khoá chính của bảng tham chiếu tới]) Thêm ràng buộc miền giá trị ALTER TABLE [Tên Bảng] ADD CONSTRAINT [Tên ràng buộc miền gt] CHECK ([Biểu thức ñiều kiện]) Thêm ràng buộc phái thuộc Nam hoặc Nữ ALTER TABLE NHANVIEN ADD CONSTRAINT C_PHAI CHECK (PHAI IN (‘Nam’, ‘Nữ’)) Alter table [Tên Bảng] drop constraint [Tên ràng buộc] Xóa khóa chính Alter table NHANVIEN drop constraint PK_NHANVIEN Xóa khóa ngoại Alter table PHONG drop constraint FK_PHONG_NHANVIEN Cú pháp Ví dụ Xem cấu trúc bảng sp_help [Tên Bảng] sp_help NHANVIEN 5 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Nhập, cập nhật dữ liệu Một số cú pháp nhập dữ liệu Một số lưu ý : Xem thông tin khóa chính của bảng sp_pkeys [Tên Bảng] sp_pkeys NHANVIEN Xem thông tin khóa ngoại của bảng sp_fkeys [Tên Bảng] sp_fkeys NHANVIEN Cú pháp Ví dụ Ví dụ : NHANVIEN (manv, hoten, ngaysinh, phai, luong,phg) Insert không tường minh Insert into [Tên Bảng] values ([gt1], [gt2], ..., [gtn] Insert into NHANVIEN values (‘NV001’, ‘Nguyen Van A’, ‘12/30/1955’, ‘Nam’, 5000, null) Insert tường minh Insert into [Tên Bảng] ([tt1], [tt2], ..., [ttn]) values ([gt1], [gt2], ..., [gtn] Insert into NHANVIEN(manv, hoten, phai, ngaysinh, luong) values (‘NV001’, ‘Nguyen Van A’, ‘Nam’,‘12/30/1955’, 5000) Insert từ một nguồn dữ liệu có sẳn : Chưa quan tâm : Xem từ khóa INSERT...SELECT Kiểu dữ liệu Unicode Thêm kí tự N trước chuổi Unicode Insert into NHANVIEN values (‘NV001’, N‘Nguyễn Văn Trường’, ‘12/30/1955’, ‘Nam’, 5000, null) Kiểu dữ liệu ngày tháng ðịnh dạng nhập ngày tháng mặc ñịnh : ‘mm/dd/yyyy’ Insert into NHANVIEN values (‘NV001’, N‘Nguyễn Văn Trường’, ‘12/30/1955’, ‘Nam’, 5000, null) 6 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Nhập dữ liệu khi đã có ràng buộc khóa ngoại: Insert một bộ có 1 giá trị là NULL Dùng từ khóa null Insert into NHANVIEN values (‘NV001’, ‘Nguyen Van A’, ‘12/30/1955’, ‘Nam’, 5000, null) Thuộc tính NOT NULL Nếu thuộc tính ñược khai báo trong cú pháp tạo bảng là NOT NULL thì bắt buộc phải có giá trị khi nhập 1 bộ vào bảng. Cách 1: 1. Bước 1 : Nhập phòng ban 2. Bước 2 : Nhập đề án Cách 2: 1. Bước 1 : Nhập DEAN, nhập PHONG = null 2. Bước 2 : Nhập phòng ban 3. Bước 3 : Cập nhật DEAN 7 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Xóa bảng Cú pháp câu lệnh xóa bảng: Cách 1: Bước 1 : Nhập NHANVIEN, đặt PHG là null Bước 2 : Nhập PHONGBAN Bước 3 : Cập nhật thuộc tính PHG của NHANVIEN Cách 2 : Bước 1 : Nhập PHONGBAN, đặt TRPHG là null Bước 2 : Nhập NHANVIEN Bước 3 : Cập nhật TRPHG của phòng ban Cách 1 : - Những nhân viên mà có MA_NQL là null thì nhập trước - Sau đó nhập những Nhân viên mà đã nhập thông tin về NQL của nhân viên đó. Cách 2 : Bước 1. Nhập NHANVIEN, đặt thuộc tính MA_NQL là null Bước 2. Cập nhật MA_NQL của NHANVIEN Drop table [Tên bảng] Drop table NHANVIEN 8 Bộ môn Hệ Thống Thông Tin – Khoa CNTT Lưu ý khi xóa bảng có liên quan đến khóa ngoại : 1. Nếu không có tham chiếu vòng thì tiến hành xóa bảng chứa khóa ngoại trước sau đó rồi xóa bảng còn lại, hoặc xóa khóa ngoại rồi sau đó tiến hành xóa các bảng 2. Nếu có khóa vòng thì xóa một khóa để mất khóa vòng rồi tiến hành làm như trường hợp 1 Xem dữ liệu của một bảng Xem nội dung của một bảng SELECT * FROM [Tên bảng] Xem dữ liệu của bảng NHANVIEN SELECT * FROM NHANVIEN Xóa nội dung của một bảng DELETE FROM [Tên bảng] WHERE [Biểu thức ñiều kiện] Xóa nhân viên NV001 của bảng NHANVIEN DELETE FROM NHANVIEN WHERE manv = ‘NV001’ Xóa tất cả dữ liệu bảng NHANVIEN DELETE FROM NHANVIEN
File đính kèm:
- Unlock-SQL_Part_1.pdf