Phât biểu SQL dạng SELECT với DISTINCT

Một phần của tài liệu Cách thao tác trên cơ sở dữ liệu MySQL (Trang 26 - 28)

Nếu có một hay nhiều bảng kết nối với nhau, sẽ xảy ra trùng lặp nhiều mẩu tin. Nhưng trong trường hợp năy bạn chỉ cần lấy ra một mẩu tin trong tập mẩu tin trùng lặp, bạn sử dụng phât biểu

SQL dạng SELECT với chỉ định DISTINCT.

Ví dụ 8-14: Phât biểu SQL dạng SELECT

Select ItemID,Qtty,Price,Amount from tblOrderDetails

order by Qtty

Kết quả trả về như sau:

ItemID Qtty Price Amount --- 1 900 12000 12960000 2 1000 12000 14400000 3 5000 12000 72000000 3 6000 12000 86400000 4 8000 12000 115200000 4 8000 12000 115200000 4 8000 10000 115200000 5 9000 12000 129600000 5 9000 12000 129600000 5 9000 12000 129600000 ... ...

Ví dụ 8-15: Phât biểu SQL dạng SELECT với DISTINCT

Select Distinct ItemID,Qtty,Price,Amount From tblOrderDetails

Order by Qtty

Kết quả loại bỏ những mẩu tin trùng lắp như sau:

ItemID Qtty Price Amount --- 1 900 12000 12960000 2 1000 12000 14400000 3 6000 12000 86400000 4 8000 12000 115200000 5 9000 12000 129600000 ... ... ...

5.7.

5.7.1.

Nhập dữ liệu bằng phât biểu SQL dạng Insert

Khi cần thím mẩu tin văo bảng trong cơ sở dữ liệu MySQL, bạn có nhiều câch để thực hiện công việc năy. Trong Visual Basic 6.0, VB.NET, C Sharp hay Java có những phương thức để thím mẩu tin văo bảng trong cơ sở dữ liệu. Tuy nhiín, để sử dụng câc phât biểu SQL mang tính chuyín nghiệp trong MySQL, bạn cần sử dụng phât biểu INSERT.

Bạn có thể sử dụng phât biểu Insert ngay trín ứng dụng kết nối với MySQL. Trong trường hợp bạn sử dụng cơ sở dữ liệu SQL Server hay Oracle, bạn có thể tạo ra một Stored Procedure với mục đích INSERT dữ liệu văo bảng chỉ định trước.

Khi thím dữ liệu, cần chú ý kiểu dữ liệu giống hoặc tương ứng kiểu dữ liệu đê khai bâo của cột đó, nếu không phù hợp thì lỗi sẽ phât sinh.

Ngoăi ra bạn cần quan tđm đến quyền của User đang truy cập cơ sở dữ liệu. User phải được cấp quyền Insert dữ liệu văo từng bảng cụ thể (quyền năy do nhă quản trị cơ sở dữ liệu phđn quyền cho

User đó).

Trong phât biểu INSERT INTO chúng tôi thực hiện trín bảng tblOrderDetails vă bảng

tblOrderDetailsHist, hai bảng năy có cấu trúc như sau:

/* Bảng tblOrderDetails*/

CREATE TABLE tblorderdetails (

ItemID int(3) unsigned DEFAULT '0' , OrderID int(3) unsigned DEFAULT '0' , No tinyint(3) unsigned DEFAULT '0' , Qtty int(3) unsigned DEFAULT '0' , Price int(3) unsigned DEFAULT '0' , Discount int(3) unsigned DEFAULT '0' , Amount bigint(3) unsigned DEFAULT '0' );

/* Bảng tblOrderDetailsHist, dùng để chứa câc thông tin hợp đồng chi tiết khi hợp đồng của khâch hăng năy kết thúc, chương trình tự động xoâ trong tblOrderDetails vă lư trữ lại trong bảng tblOrderDetailsHist.*/

CREATE TABLE tblorderdetailshist (

ItemID int(3) unsigned DEFAULT '0' , OrderID int(3) unsigned DEFAULT '0' , No tinyint(3) unsigned DEFAULT '0' , Qtty int(3) unsigned DEFAULT '0' , Price int(3) unsigned DEFAULT '0' , Discount int(3) unsigned DEFAULT '0' , Amount bigint(3) unsigned DEFAULT '0' );

Khi Insert dữ liệu văo bảng, có 3 trường hợp xảy ra: insert dữ liệu văo bảng từ câc giâ trị cụ thể, insert văo bảng lấy giâ trị từ một hay nhiều bảng khâc, vă cuối cùng lă kết hợp cả hai trường hợp trín.

Insert văo bảng lấy giâ trị cụ thể:

INSERT INTO <Tablename>[<columnname list>] Values (data_value)

/* Thím mẩu tin với một số cột */

Một phần của tài liệu Cách thao tác trên cơ sở dữ liệu MySQL (Trang 26 - 28)

Tải bản đầy đủ (PDF)

(48 trang)