Thiết đặt constraint Not NullMặc định một cột trên bảng có thể giữ giá trị Null Vd1: CREATE TABLE Persons P_Id int NOT NULL, LastName varchar255 NOT NULL, FirstName varchar255, Address
Trang 1SQL trong MySQL
Để thực hiện nội dung phần này, đầu tiên sử dụng MySQL Query
Browser để kết nối đến Server
Trang 2Nội dung
Kết nối đến ServerCác Query (SQL) thao tác trên DatabaseCác Query (SQL) thao tác trên bảng
Các Query (SQL) quản lý người dùng
Trang 3Kết nối đến Server
Trang 4Kết nối đến Server
Sử dụng MySQL Command Line Client
Sử dụng MySQL Query Browser
Trang 5MySQL Command Line Client
Vào Start/All programs/MySQL/MySQL Server 5.1 (tùy theo phiên bản cài đặt)/MySQL Command Line Client
Nhập Password của User roo t
Trang 6MySQL Query Browser (1)
Vào Start/All programs/MySQL/MySQL Query Browser
1 2 3
6 1
2 3
6
Trang 7MySQL Query Browser (1)
Tên kết nối Tên Server muốn kết nối đến Username của người dùng Password của người dùng CSDL mặc định khi kết nối đến Tạo một kết nối lưu trữ sẵn
Gửi thông tin yêu cầu kết nối.
Trang 8Các Query (SQL) thao tác trên
Database
Trang 9Truy vấn thông tin chung
select version()// để xem phiên bản
MySQL đang sử dụng
Trang 10Select user()// xem thông tin người dùng hiện đang kết nối
Trang 11Xem thông tin tất cả người dùng
Chọn mysql làm cơ sở mặc định sau đó thực hiện câu
truy vấn như hình bên dưới
Trang 12Tạo một CSDL mới
Trang 13Xem thông tin CSDL hiện có
Trang 14Xoá CSDL hiện có
Cú pháp: DROP DATABASE database_name
Trang 15Các query (SQL) thao tác trên bảng
Trang 16Hiển thị các bảng hiện có
show tables;
Trang 17DDL (Data Definition Language)
Trang 19Ví dụ 1
B1: Chọn CSDL cần tạo bảng
B2: Nhập vào đoạn lệnh
SQL để tạo bảng
Trang 20Ví dụ 2
CREATE TABLE sinhvien
( id_sv int primary key,
Trang 21constraint pk_diem_thi primary key (id_sv, id_mon),
constraint pk_dthi_sv foreign key (id_sv) references sinhvien(id_sv),
constraint pk_dthi_mh foreign key (id_mon) references monhoc (id_mon) );
Trang 22SQL ALTER TABLE
Trang 24Thay đổi kiểu dữ liệu
Trang 26SQL CONSTRAINTS
• Ràng buộc được sử dụng để giới hạn các kiểu dữ liệu được nhập vào bảng.
• Được thiết đặt ở câu lệnh Create Table hoặc Alter Table
• Các constraints thường được sử dụng:
– NOT NULL – UNIQUE – PRIMARY KEY – FOREIGN KEY – CHECK
– DEFAULT
Trang 27Ràng buộc Not Null
Trang 28Thiết đặt constraint Not Null
Mặc định một cột trên bảng có thể giữ giá trị Null
Vd1:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
Trang 29Ràng buộc duy nhất
(Unique Constraint)
Trang 30Thiết đặt constraint Unique
• Ràng buộc tính duy nhất cho một cột hoặc một tập hợp các cột
• Một ràng buộc khoá chính tự động có ràng buộc duy nhất được định nghĩa trên nó
• Có thể có nhiều ràng buộc duy nhất trên một bảng,
nhưng chỉ có một ràng buộc khoá chính
Trang 31Unique Constraint on Create Table
Ví dụ:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
Trang 32Unique Constraint on Create Table
Ví dụ:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
Trang 33Unique Constraint on Alter Table
Ví dụ 1:
ALTER TABLE Persons
ADD UNIQUE (P_Id)
Ví dụ 2:
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
Trang 34To DROP a UNIQUE Constraint
Ví dụ:
ALTER TABLE Persons
DROP INDEX uc_PersonID
Trang 35Ràng buộc khoá chính
(PRIMARY KEY Constraint)
Trang 36 Dùng để xác định duy nhất một mẫu tin trong bảng.
Khoá chính phải chứa giá trị duy nhất
Một cột khoá chính không được chứa giá trị Null
Mỗi một bảng nên có và chỉ cần một khoá chính
Trang 37SQL PRIMARY KEY Constraint on
CREATE TABLE
Ví dụ 1:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
Trang 38SQL PRIMARY KEY Constraint on
CREATE TABLE
Ví dụ 2:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
Trang 39SQL PRIMARY KEY Constraint on
ALTER TABLE
Ví dụ 1:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
Ví dụ 2:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY
(P_Id,LastName)
Trang 40To DROP a PRIMARY KEY
Constraint
Ví dụ 1:
ALTER TABLE Persons
DROP PRIMARY KEY
Trang 41Ràng buộc khoá ngoại
SQL FOREIGN KEY Constraint
Trang 42SQL FOREIGN KEY Constraint on
CREATE TABLE
Ví dụ 1:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
Trang 43SQL FOREIGN KEY Constraint on
CREATE TABLE
Ví dụ 2:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
Trang 44SQL FOREIGN KEY Constraint on
ALTER TABLE
Ví dụ 1:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
Ví dụ 2:
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
Trang 45To DROP a FOREIGN KEY
Constraint
Ví dụ:
ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders
Trang 46SQL CHECK Constraint
Trang 47P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
Trang 48Ví dụ 2:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
Trang 49SQL CHECK Constraint on ALTER
TABLE
Ví dụ 1:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
Ví dụ 2:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK
Trang 50SQL DEFAULT Constraint
Trang 51P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
Trang 52O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)
Trang 54To DROP a DEFAULT Constraint
Ví dụ:
ALTER TABLE Persons
ALTER City DROP DEFAULT
Trang 56DML (Data Manipulation Language)
Trang 57Thêm dữ liệu vào bảng
Trang 58Thêm dữ liệu vào bảng
Ví dụ:
Trang 59Xem thông tin bảng
Cú pháp:
Chỉ định các cột cần hiển thị
Hiển thị tất cả các cột của bảng
Trang 60Xem thông tin bảng
Xem kết quả bảng dữ liệu
Thực thi câu Query
Vùng hiển thị kết quả
Trang 61Alias: Bí danh
Đặt bí danh (tên khác) cho bảng hoặc cột
Sử dụng cho các cột hoặc bảng có tên dài và phức tạp
Bí danh thường ngắn
Cú pháp đặt bí danh cho bảng:
SELECT column_name(s)
FROM table_name
Trang 62Alias: Bí danh
Cú pháp đặt bí danh cho cột:
SELECT column_name AS alias_name FROM table_name
Trang 63Alias: Bí danh – ví dụ
Ví dụ 1:
SELECT po.OrderID, p.LastName, p.FirstNameFROM Persons AS p,Product_Orders AS poWHERE p.LastName='Hansen' AND p.FirstName='Ola‘
Ví dụ 2: không đặt bí danh
SELECT Product_Orders.OrderID, Persons.LastName,
Persons.FirstName
Trang 64SQL JOIN
Từ khoá Join được sử dụng để truy vấn dữ liệu từ 2 bảng
trở lên dựa trên mối quan hệ được thiết lập giữa các bảng.
Trang 70SQL UNION Operator
Cú pháp: // không hiển thị các dòng trùng
SELECT column_name(s) FROM table_name1 UNIONSELECT column_name(s) FROM table_name2
// cho phép hiển thị các dòng trùng nhau
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
Trang 72SQL SELECT INTO Statement
Lấy dữ liệu từ một bảng và chèn dữ liệu đó vào một bảng khác
Sử dụng để tạo ra các bảng coppies dữ liệu
Trang 73SQL SELECT INTO Statement
Cú pháp 1:
SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
Ví dụ 1:
SELECT *
Trang 74SQL SELECT INTO Statement
Cú pháp 2:
SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename
Ví dụ 2:
SELECT LastName,FirstName INTO Persons_Backup
Trang 75SQL SELECT INTO Statement
Ví dụ 3:
SELECT LastName,FirstnameINTO Persons_Backup
FROM PersonsWHERE City='Sandnes'
Ví dụ 4:
SELECT Persons.LastName,Orders.OrderNo
Trang 76Hiển thị giá trị phân biệt
Trang 77Chọn các mẫu tin thỏa điều kiện
Cú pháp: Sử dụng mệnh đề WHERE để chọn lấy
những mẫu tin thỏa điều kiện
Trang 78Chọn các mẫu tin thỏa điều kiện
Vd: Hiển thông tin thông tin chi tiết về môn 'Tóan rời rạc'
Trang 79Toán tử AND & OR
Chọn các mẫu tin với hơn 1 điều kiện:
đk1 AND đk2 hoặc đk1 OR đk2
AND: hiển thị mẫu tin khi đk1 và đk2 là true OR: hiển thị mẫu tin khi đk1 là true hoặc đk2 là true
Trang 80Toán tử AND & OR – ví dụ
Vd: tìm thông tin của môn ' toán rời rạc' và có số tiết là 60
Vd: tìm thông tin của môn 'toán rời rạc' hoặc môn có số tiết là 60
Trang 81Sắp xếp kết quả
Cú pháp:
ASC: sắp xếp theo thứ tự tăng (mặc định)DESC: sắp xếp theo thứ tự giảm
Trang 82Cập nhật giá trị cho mẫu tin
Cú pháp:
cập nhật Nếu không có toàn bộ các mẫu tin trong bảng sẽ được cập nhật
Trang 83Cập nhật giá trị cho mẫu tin
Vd: Chỉnh sửa số tiết của môn ' toán rời rạc' thành 70
Trang 84Xóa mẫu tin
Cú pháp:
Lưu ý: Mệnh đề WHERE dùng để chỉ ra mẫu tin thỏa điều kiện sẽ được xóa Nếu không có mệnh đề WHERE tất cả các mẫu tin của bảng sẽ được xóa.
Trang 85Xóa mẫu tin
Vd: xóa môn ' toán rời rạc'