Giới thiệu ngôn ngữ truy vấn database MySQL

I – Một số khái niệm cơ bản về database
Cơ sở dữ liệu (database) có thể hiểu là nơi chứa dữ liệu. Có nhiều loại cơ sở dữ liệu khác nhau như cơ sở dữ liệu quan hệ, database hướng đối tượng, database phân tán…
Hiện nay, trong phần lớn các ứng dụng, người ta thường sử dụng database quan hệ.
Trong mô hình database quan hệ, dữ liệu thường được chia thành các bảng có liên quan với nhau.

Ví dụ:

ta có 2 bảng:
Bảng 1 chứa các thông tin về Mã hàng, tên hàng, ngày nhập hàng, giá nhập hàng
Bảng 2 chứa các thông tin về Mã hàng, ngày bán hàng, giá bán.

Hai bảng này có quan hệ với nhau thông qua mã hàng, tức là chỉ cần có mã hàng ở bảng 2, ta có thể tìm ra tên hàng dựa trên mối liên hệ giữa mã hàng và tên hàng lưu ở bảng 1.

Hệ quản trị database là chương trình dùng để quản lý một database nào đó. Chẳng hạn như chương trình Access là một hệ quản trị database để quản lý database Access. Thông thường thì tên của hệ quản trị database gắn liền với tên của loại database. Ví dụ như: database Access <-> Hệ quản trị database Access, database MySQL <-> Hệ quản trị database MySQL, database Oracle <=> Hệ quản trị database Oracle. Trong trường hợp này thì người ta thường nhầm lẫn giữa khái niệm CSDL và cấu trúc (dạng nhị phân) của một database do hệ quản trị database quy định.

Người ta gọi các cột trong một bảng là các trường, các dòng trong một bảng là các bản ghi.

Mỗi trường sẽ có một kiểu dữ liệu xác định. Đó có thể là kiểu số, kiểu chuỗi, kiểu ngày tháng…

Ví dụ về một bảng có chứa thông tin người dùng. Bảng này sẽ có tên là NSD, các cột (trường) là: Ma_ND, Ten_ND, Tuoi_ND, Matkhau_ND; trong đó Ma_ND có kiểu nguyên, Ten_ND có kiểu chuỗi, Tuoi_ND có kiểu số, Matkhau_ND có kiểu chuỗi.

II – Ngôn ngữ truy vấn Cơ sở dữ liệu SQL

SQL là một ngôn ngữ được sử dụng trong các ngôn ngữ lập trình để truy vấn thông tin trong database. Điểm mạnh của ngôn ngữ này là cấu trúc đơn giản, có thể nhập lệnh vào dưới dạng các chuỗi văn bản, sau đó chuyển câu lệnh tới các chương trình điều khiển trung gian để truy vấn dữ liệu rồi trả về cho chương trình. Như vậy, mọi thao tác kết xuất, truy vấn hoàn tòan dễ dàng thông qua việc điều khiển chuỗi văn bản có chứa câu lệnh SQL.

Bài viết này tập trung vào việc trình bày cú pháp của ngôn ngữ SQL, có thể sử dụng PHP để biểu diễn một số thao tác để mọi người dễ dàng hình dung.

1 – Câu lệnh chèn dữ liệu vào một bảng.
Cú pháp của câu lệnh này có dạng:

Code:
INSERT INTO tên_bảng (danh_sách_trường) VALUES (danh_sách_giá_trị)

Trong đó:

Các từ khóa cố định là INSERT, INTO và VALUES.
tên_bảng là tên của một bảng quan hệ trong CSDL.
danh_sách_trường là danh sách các trường trong bảng quan hệ được sử dụng để chèn giá trị vào, mỗi trường cách nhau một dấu phảy.
danh_sách_giá_trị là danh sách các giá trị tương ứng với các trường, có bao nhiêu trường thì phải chèn vào bấy nhiêu giá trị.

Chú ý:
Thông thường, các giá trị chuỗi phải được đặt trong cặp dấu nháy hoặc dấu ngoặc kép tùy thuộc vào ngôn ngữ biểu diễn và kiểu dữ liệu của trường. Mỗi giá trị cách nhau bởi một dấu phẩy.

VD, với bảng dữ liệu ở trên (Bảng NSD có các cột (trường) là: Ma_ND, Ten_ND, Tuoi_ND, Matkhau_ND), ta có thể dùng câu lệnh SQL để chèn thông tin vào như sau:

Code:
INSERT INTO NSD (Ten_ND,MatKhau_ND) VALUES(‘Sinh’,’123456′)

Hoặc ta có thể chèn nhiều thông tin hơn:

Code:
INSERT INTO NSD (Ten_ND,Tuoi_ND,MatKhau_ND) VALUES(‘Sinh’,30,’123456′)

2 – Câu lệnh chỉnh sửa dữ liệu trong bảng
Để chỉnh sửa (cập nhật) thông tin trong bảng, ta dùng câu lệnh UPDATE với cú pháp sau:

Code:
UPDATE tên_bảng SET tên_trường1=giá_trị1[, tên_trường_i=giá_trịi] WHERE điều_kiện

Chẳng hạn, nếu ta muốn đổi mật khẩu của những người có trường Ten_ND là Sinh thành ‘JQKA’ trong bảng trên, ta sẽ làm như sau:

Code:
UPDATE NSD SET Matkhau_ID = ‘JQKA’ WHERE Ten_ND=’Sinh’

Chú ý mệnh đề điều kiện WHERE. Mệnh đề này sẽ được mô tả chi tiết hơn ở phía dưới.

3 – Câu lệnh xóa dữ liệu trong bảng
Để xóa dữ liệu trong bảng, ta dùng câu lệnh DELETE với cú pháp sau:

Code:
DELETE FROM tên_bảng WHERE điều_kiện.

Câu lệnh này sẽ xóa tất cả những bản ghi thỏa mãn điều kiện nằm sau mệnh đề WHERE.
VD:

Quote
DELETE FROM NSD WHERE Ten_ND=’Sinh’

4 – Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng
Đây là câu lệnh phức tạp nhất trong nhóm các câu lệnh của SQL.
Cú pháp của lệnh này như sau:
SELECT [danh_sách_trường] FROM [danh_sách_bảng] WHERE [danh_sách_điều_kiện] [ORDER BY]

FOLLOW US

Leave a Reply

Your email address will not be published. Required fields are marked *