Câu lệnh SELECT

Một phần của tài liệu Tìm hiểu MYSQL và PHP, hiện thực ứng dụng quản lý xuất nhập tân dược cho công ty xuất nhập khẩu Y tế thành phố Hồ Chí Minh (Trang 33 - 36)

Với câu lệnh chọn mẫu tin này, chúng ta có thể lấy bất cứ mẫu tin nào thoả mãn điều kiện cần của chúng ta ngay cả khi dữ liệu không nằm trong cùng một bảng. Cú pháp chung:

SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT]

[SQL_BIG_RESULT] [SQL_BUFFER_RESULT]

[HIGH_PRIORITY] [DISTINCT | DISTINCTROW | ALL] select_expression,...

[INTO {OUTFILE | DUMPFILE} 'file_name' export_options] [FROM table_references

[WHERE where_definition]

[GROUP BY {unsigned_integer | col_name | formula}] [HAVING where_definition]

[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT [offset,] rows]

[PROCEDURE procedure_name] ]

Bạn có thể cung cấp một danh sách các tên cột thuộc các bảng, hay chỉ đơn giản là những hàm chức năng vào vị trí sau từ khoá Select để trình bày kết quả trả về, ngoài ra bạn cũng có thể nhận kết quả trả về và tự động lưu chúng trong một tập tin văn bản. Các điều kiện để lấy mẫu tin sẽ được đặt ở vị trí mệnh đề WHERE. Bạn có thể dùng các toán tử so sánh dưới đây được MySQL hỗ trợ để đặt trong mệnh đề điều kiện của bạn.

 Các hàm sử dụng trong mệnh để WHERE và SELECT : Tính toán các giá

trị

Có thể +,-,*,/ các giá trị trong mệnh đề Select trả về như sau:

mysql> select 1+2*3; -> 7 mysql> select (1+2)*3; -> 9 Sử dụng các toán

tử Logic Các toán tử Logic bao gồm NULL sẽ trả về các giá trị là 1(true) hoặc 0(false) hoặc AND(&&), OR(||), NOT, NOT NULL.

Toán tử so sánh Bao gồm toán tử tương đương (<=>), bằng (=), khác (<> hay

!= ), lớn hơn (>), nhỏ hơn (<), lớn hơn hay bằng (>=), nhỏ

NULL), hàm BETWEEN min AND max, IN, NOT IN, COALESCE(list),

INTERVAL(N,N1,N2,N3,...), giá trị trả về sẽ là 0(false)

hay 1(true) hay NULL . Các hàm so sánh

chuỗi Hàm REGEXP, LIKE (giá trị trả về là 0 hay 1), RLIKE, NOT REGEXP, NOT RLIKE, NOT LIKE ,

STRCMP(expr1,expr2),

MATCH (col1,col2,...) AGAINST (expr), IFNULL

(expr1,expr2)

Nếu expr1 không rỗng thì trả về giá trị của expr1, ngược lại thì trả về giá trị của expr2. giá trị trả về có thể lả một số hay một chuỗi ký tự tuỳ thuộc vào ngữ cảnh sử dụng hàm. Ví du:

mysql> select IFNULL(1,0); //-> 1

mysql> select IFNULL(NULL,10); //-> 10 mysql> select IFNULL(1/0,'yes'); //-> 'yes'

NULLIF

(expr1,expr2)

Giá trị trả về sẽ là NULL nếu expr1=epxr2, ngược lại thì trả về giá trị của expr1.

IF (expr1 ,expr2,

expr3)

Nếu expr1 có giá trị (nghĩa là expr1 khác 0 và khác NULL) thì trả về giá trị của expr2, ngược lại thì trả về giá trị của expr3. ví dụ như :

mysql> select IF(1>2,2,3); //-> 3

mysql> select IF(1<2,'yes','no'); //-> 'yes' Các hàm toán học Gồm hàm tính giá trị tuyệt đối ABS(X)

Hàm kiểm tra số là âm hay 0 hay dương (SIGN(X)) Hàm lấy phần dư của phép chia (MOD(N,M))

Hàm lấy số nguyên (FLOOR(X) hoặc CEILING(X)) Hàm làm tròn số (ROUND(X))

Hàm tính logarit (LOG(X))

Hàm luỹ thừa (POW(X,Y) hay POWER(X,Y)) Hàm tính căn bậc hai (SQRT(X))

Hàm lấy số PI (PI())

Hàm tính lượng giác (COX(X) ” SIN(X) ” TAN(X) ” ACOS(X) ” ASIN(X) ” ATAN(X) ” ATAØN(X) ” COT(X) )

Hàm lấy số ngẫu nhiên (RAND() - RAND(N))

Hàm lấy số nhỏ nhất có trong danh sách (LEAST(X,Y,...)) Hàm lấy số lớn nhất (GREATEST(X,Y,...))

Hàm chuyển giữa số radian và độ (DEGREES(X) -

RADIANS(X)), …

Các hàm về chuỗi Gồm hàm lấy mã ASCII của một chuỗi (ASCII(str))

Hàm hoán chuyển số giữa các hệ đếm (BIN(N) - OCT(N) -

HEX(N))

Hàm nối chuỗi (CONCAT(str1,str2,...)) Hàm đếm độ dài của chuỗi (LENGTH(str))

Hàm định vị trí của chuỗi con (LOCATE(substr,str) -

POSITION(substr IN str) - INSTR(str,substr) - LPAD(str,len,padstr))

Hàm cắt chuỗi (LEFT(str,len) - RIGHT(str,len)-

SUBSTRING(str,pos,len) - SUBSTRING(str FROM pos

FOR len) - MID(str,pos,len) -

SUBSTRING_INDEX(str,delim,count) - LTRIM(str) - RTRIM(str) )

Hàm thay thế chuỗi (SPACE(N) -

REPLACE(str,from_str,to_str) - REPEAT(str,count))

Hàm đảo chuỗi (REVERSE(str)) Hàm đổi chữ hoa ” thường (LCASE(str) - LOWER(str) ) Hàm về ngày giờ DAYOFWEEK(date)

WEEKDAY(date) DAYOFMONTH(date) DAYOFYEAR(date) MONTH(date) DAYNAME(date) MONTHNAME(date) QUARTER(date) HOUR(time) MINUTE(time) SECOND(time) TO_DAYS(date) CURDATE() CURRENT_DATE CURTIME() Tính ngày trong tuần(1=Sunday,..7=Saturday) Trả về chỉ số của ngày trong tuần Tính số ngày trong tháng

Tính số ngày trong tháng Tính tháng

Tính thứ của ngày Lấy tên của tháng

Tính tuần thứ mấy trong tháng Lấy giờ của time

Lấy phút của time

Lấy giây của time

Tính số ngày từ năm 0 đến ngày

date

Trả về ngày hiện hành Trả về ngày hiện hành Trả về giờ hiện hành

CURRENT_TIME NOW()

SYSDATE()

Trả về giờ hiện hành Trả về ngày, giờ hiện hành Trả về ngày, giờ hiện hành Hàm trên cơ sở dữ

liệu và dữ liệu Gồm hàm xem cơ sở dữ liệu hiện hành DATABASE() Hàm xem thông tin về user hiện hành USER() -

SYSTEM_USER() - SESSION_USER() - PASSWORD(str) - ENCRYPT(str[,salt]) PASSWORD(str) - ENCRYPT(str[,salt])

Hàm mã hoá dữ liệu ENCODE(str,pass_str) - DECODE() -

DECODE(crypt_str,pass_str)

Hàm xem phiên bản mysql VERSION()

 Các hàm sử dụng trong mệnh để GROUP BY :

COUNT(expr) Đếm số mẩu tin của expr

AVG(expr) Tính giá trị trung bình của các mẩu tin

MIN(expr) Trả về giá trị nhỏ nhất trong cột expr

MAX(expr) Trả về giá trị lớn nhất trong cột expr

SUM(expr) Trả về tổng giá trị các mẩu tin của cột expr

STD(expr) Độ lệch chuẩn của các giá trị trong cột

STDDEV(expr) Giống STD(expr)

Một phần của tài liệu Tìm hiểu MYSQL và PHP, hiện thực ứng dụng quản lý xuất nhập tân dược cho công ty xuất nhập khẩu Y tế thành phố Hồ Chí Minh (Trang 33 - 36)

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

(118 trang)