Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
55Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Cau Lenh Truy Van Trong SQL

Cau Lenh Truy Van Trong SQL

Ratings: (0)|Views: 16,646|Likes:
Published by xuan1296

More info:

Published by: xuan1296 on Apr 21, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, DOC, TXT or read online from Scribd
See More
See less

07/20/2013

pdf

text

original

 
SELECT
Phát biểu SQL dạng SELECT là 1 trong những phát biểu yêu cầu MySQL truy vấn dữliệu trên cơ sở dữ liệu chỉ định.SELECT dùng để đọc thông tin từ cơ sở dữ liệu theotrường trường hợp quy định hay những biểu thức cho trường hợp đó.Mệnh đề FROM chỉ ra tên 1 bảng hay những bảng có liên quan hệ cần truy vấn thôngtinMệnh đề WHERE để tạo nên điều kiện cần lọc mẩu tin theo tiêu chuẩn được địnhnghĩa .Thông thường WHERE dùng cột (trường) để so sánh với giá trị cột khác,hay biểu thức chứa cột (trường) bất kỳ có trong bảng (table)Phát biểu SQL có dạng
SELECT*FROM{table}WHERE{condictions}
Các phép toán so sánh trong condictions (điều kiện) :
 
> : lớn WHERE id>10; < : nhỏ hơn WHERE id<10;>= :lớn hơn hoặc bằng WHERE id>=10; <= : nhỏ hơn hoặc bằng WHERE id<=10;= : bằng WHERE id=1;!= : khác (ko bằng ) WHERE id!=1; <> : khác WHERE id<>1;
Các phép toán logic trong condictions:
AND : WHERE `id`=1 AND `username`='admin';OR : WHERE `id`=1 OR `username`='admin';NOT : WHERE password is not NULL;NOT IN: WHERE OrderID NOT IN( '10','20');BETWEEN : WHERE OrderID BETWEEN 10 And 20;LIKE: WHERE username LIKE '%hatinh';NOT LIKE : WHERE usernam NOT LIKE '%hatinh' ;IN : WHERE OrderID IN ('100','200','300');
Thông thường trong khi truy vấn mẩu tin từ bảng dữ liệu ,kết quả hiển thị sắp xếptheo chiều tăng hay giảm dựa trên ký tự ALPHABET .Nhưng bạn cũng có thể sắp xếptheo 1 tiêu chuẩn bất kỳ .Cú pháp cho mệnh đề ORDER BY cùng với trạng thái tăng (ASC) ,giảm dần( DESC )Cú pháp :
ORDER BY columnname DESCORDER BY columnname1 + columnname2 DESCORDER BY columnname ASCORDER BY columnname1 + columnname2 ASC
Giả sử ta có 1 cái table `person` với các field `LastName`,`FirstName`,`Address`,`City`
-----------------------------------------------------\LastName | FirstName | Address | City-----------------------------------------------------|Cuc | Cu | Tổ chim | Bầu trờiMào | Gà | PHP | Nỏ biết-----------------------------------------------------/
Bây giờ muốn truy vấn tất cả các giá trị trong table `person` thì chúng ta sử dụng câulệnh SQL như sau :
SELECT*FROM person
 
Còn nếu muốn truy vấn vào 1 field nào đó .Chẳng hạn như field `LastName` thì ta sửdụng câu lệnh SQL như sau:
SELECT{tên field}FROM{tên table} SELECT LastName FROM person
Kết quả :
-------------\LastName-------------|CucMào-------------/
Phát biểu SQL dạng SELECT cho phép truy vấn chỉ 1 số mẩu tin tính từ vị trí thứ nđến vị trí thứ m trong Table (theo 1 tiêu chuẩn sắp xếp nào đó) .Để làm điều này,trong phát biểu SQL dạng SELECT bạn chỉ dùng chỉ định từ khóa LIMIT với số lượng mẩutin cần lấy từ vị trí n đến mVí dụ :
 SELECT*FROM tablerOrders LIMIT 0,10
Kết quả sẽ trả về 10 mẩu tin đầu tiên trong bảng tableOrdersBạn có thể sử dụng kết hợp LIMIT với các mệnh đề WHERE ,ODER BY nhằm tạo rakết quả như ý muốn Nếu có 1 hay nhiều bảng kết nối với nhau ,sẽ xảy ra tình trạng trùng lặp nhiều mẩutin.Nhưng trong trường hợp mà bạn chỉ muốn lấy ra 1 mẩu tin trong tập mẩu tin trùnglặp ,bạn sử dụng phát biểu SQL dạng SELECT với chỉ định DISTINCTVí dụ:
 SELECT DISTINCT id,total,amount FROM tableOrdersDetails ORDER BY total
Phát biểu SQL dạng UPDATE dùng cập nhật lại dữ liệu đã tồn tại trong bảng.KhiUPDATE dùng cập nhật dữ liệu cho một mẩu tin chỉ định nào đó thừong lệnh này sửdụng chung với mệnh đề WHERE Nếu cập nhật tất cả các mẩu tin trong bảng bạn có thể bỏ mệnh đề WHERE. Cấu trúcnhư sau::
 UPDATE<table name>SET<column>=<value>,[<column>=<value>] [WHERE <restrictive condictions>]
 Nếu cập nhật giá trị là kết quả trả về từ phát biểu SELECT trên 1 hay nhiều bảngkhác.Cấu trúc như sau:
 UPDATE<table name>SET<column>=<select...FROM table name WHERE...>[WHERE<restrictive condictions>]
 
Ví dụ : UPDATE trên toàn bộ các cột dữ liệu từ giá trị cụ thể-UPDATE cột với giá trị cụ thể
 UPDATE Users SET username='newadmin',password='123456',email=' admin@gmail.com'WHERE id='1'
-UPDATE 1 cột với giá trị được lấy từ bảng khác(Giả sử chúng ta muốn update giá trị cho cột Price _nằm trong bảng tableOrders màgiá trị đó được lấy từ giá trị của cột Cost nằm bảng tableItems )
 UPDATE tableOrders SET Price(SELECT DISTINCT Cost FROM tableItems WHERE ItemsId=tableOrders.ItemsId)WHERE Price<1000
Khi cần thêm mẩu tin vào bảng (table) trong CSDL MySQL ,bạn có nhiều cách đểthực hiện công việc này,nhưng để sử dụng các phát biểu SQL mang tính chuyênnghiệp bạn cần sử dụng phát biểu INSERTKhi thêm dữ liệu ,cần chú ý kiểu dữ liệu giống hoặc tương ứng với kiểu dữ liệu đãkhai báo của cột ( column ) ,nếu không phù hợp thì lỗi sẽ phát sinh.Ngoài ra bạn còn phải quan tâm đến quyền User đang truy cập CSDL.User phải đượccấp quyền Insert dữ liệu vào từng table cụ thể (quyền này do Administator xét ).Muốn INSERT vào CSDL thì ta có cấu trúc như sau:
 INSERT INTO<table name>[<column namelist>]
Ví dụta muốn dùng phát biểu INSERT vào field username,password , email của bảng (table) Users với các giá trị admin, admin ,admin@yahoo.com 
INSERT INTO Users(username,password,email)VALUES('admin',' admin' ,'admin@yahoo.com');
Muốn INSERT vào table từ giá trị của table khác ta dùng cấu trúc
 INSERT INTO<table name1>[<columnnamelist>]SELECT[<columnname list>]FROM<table name2>WHERE<Condictions>
Ví dụ .Ta muốn INSERT vào table UserOrders gồm các field(username,password,email) với các giá trị lấy từ table User và được sắp xếp theo thứAlphalbet
INSERT INTO UserOrders(username,password,email)SELECT username,password,email FROM User ORDER BY username ASC
SELECT: truy vấn dữ liệu các tableSELECT [Alias.] Select_Item [AS Column_Name] [, [Alias.] Select_Item [ASColumn_Name] ...]FROM [DatabaseName!]Table [INNER JOIN DatabaseName!]Table [ONJoinCondition …][WHERE JoinCondition [AND JoinCondition ...] [AND | OR FilterCondition [AND |OR FilterCondition ...]]]

Activity (55)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Nguyen Nam liked this
Hoàng Hiếu liked this
Vô Danh liked this
Phan Diu Phan liked this
Quốc Tuấn liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->