M Tháng trong năm, với 3 ký tự viết tắt Sắp xếp từ ‚Jan‛ đến ‚Dec‛.
1. Các Kiểu Dữ Liệu Của MySQL
Có ba loại dữ liệu cơ bản dùng cho cột bao gồm kiểu số,kiểu ngày giờ, và kiều chuỗi được mô tả chi tiết như sau:
Dữ liệu kiểu số: Loại dữ liệu kiểu số bao gồm kiểu số nguyên và kiểu số thực. Chiều dài tối đa cho kiểu số nguyên là 255 ký tự, bao gồm các loại số nguyên như sau:
Loại số nguyên Phạm vi Số byte lưu trữ Mô tả Từ Đến TINYINT ([0..255] ) -127 128 1 Số nguyên rất nhỏ 0 255 SMALLINT ([0..255] ) -32768 32767 2 Số nguyên nhỏ 0 65535 MEDIUMINT ([0..255] ) -8388608 8388607 0 16777215 3 Số nguyên cỡ trung bình INT ([0..255] ) -231 231-1 4 Số nguyên bình thường 0 232-1 INTEGER ([0..255] ) Số nguyên bình thường BIGINT ([0..255] ) -263 263 -1 8 Số nguyên lớn 0 264 –1 Kiểu số thực có dấu chấm động gồm : Loại số thực Số byte lưu trữ Mô tả FLOAT Thay
đổi Lưu trữ chính xác giá trị của số thực, chiều dài phụ thuộc vào độ chính xác. FLOAT[(0..255,30)] 4 Lưu trữ số thực với 30 số lẽ sau dấu chấm
thập phân.
DOUBLE[(0..255,30)] 8 Lưu trữ số double với 30 số lẽ sau dấu chấm thập phân.
DOUBLE
PRECISION[(0..255,30)]
Lưu trữ chính xác số double với 30 số lẽ sau dấu chấm thập phân.
DECIMAL[(0..255[,30])] 255 Số thực có dấu chấm động được lưu trữ như một chuỗi ký tự, chiều dài phụ thuộc vào chiếu dài hiển thị các ký số.
NUMERIC[(0..255,30)] Như kểu DECIMAL[(0..255[,30])]
Dữ liệu kiểu ngày giờ: MySQL hỗ trợ nhiều loại dữ liệu kiểu ngày giờ, trong tất cả các loại đó, bạn có thể nhập dữ liệu bằng cả dạng chuỗi và dạng số. Phần chi tiết các loại như sau:
Loại dữ liệu Phạm vi Mô tả
Từ Đến
DATE 1000-01-01 9999-12-31 Một ngày, hiển thị dưới dạng YYYY-MM-DD
TIME -838:59:59 838:59:59 Một giờ, hiển thị dưới dạng HH-MM-SS. Chú ý rằng phạm vi có thể rộng hơn nếu bạn cần.
DATETIME 1000-01-01
00:00:00 9999-12-31 23:59:59 Một ngày và giờ, hiển thị dưới dạng YYYY-MM- DDHH:MM:SS
TIMESTAMP [(0..14) ]
1970-01-01 00:00:00 Một mốc thời gian, thích hợp cho các báo cáo giao dịch. Độ dài hiển thị phụ thuộc vào giá trị mở rộng.
YEAR[ (2 | 4) ] 70(1970) 69(2069) Một năm, bạn có thể chỉ định phần định dạng là 2 hay 4 ký số, độ dài trong mỗi trường hợp sẽ khác nhau.
1901 2155
Đối với kiểu dữ liệu TIMESTAMP[ (0..14) ], giá trị phần mở rộng sẽ ảnh hưởng đến độ dài hiển thị và kiểu trình bày như:
TIMESTAMP YYYYMMDDHHMMSS TIMESTAMP(14) YYYYMMDDHHMMSS TIMESTAMP(12) YYMMDDHHMMSS TIMESTAMP(10) YYMMDDHHMM TIMESTAMP(8) YYYYMMDD TIMESTAMP(6) YYMMDD TIMESTAMP(4) YYMM TIMESTAMP(2) YY
Dữ liệu kiểu chuỗi: Dữ liệu kiểu chuỗi được chia thành ba nhóm như sau:
Dữ liệu kiểu chuỗi chính qui: gồm hai loại kiểu dữ liệu.
Kiểu dữ liệu Số ký tự Mô tả
[NATIONAL]
CHAR (M) [ BINARY ] 1..255 Chiều dài chuỗi ký tự lưu trữ trong vùng nhớ mặc định là M bất kể chiều dài thật của chuỗi.
[NATIONAL]
VARCHAR (M) [BINARY ] 1•..255 Chiều dài chuỗi ký tự lưu trữ trong vùng nhớ sẽ chính xác như chiều dài thật của chuỗi.
TưØ khoá NATIONAL dùng để chỉnh định tập hợp các ký tự mặc định phải sử dụng. Từ khóa BINARY được sử dụng để thông báo rằng dữ liệu đã đưa ra sẽ không có trường hợp nào tương tự.
Dữ liệu kiểu TEXT và BLOB
Kiểu dữ liệu Số ký tự Mô tả
TINYBLOB 1..255 ~ 1..28-1 Vùng chứa đối tượng bằng mã nhị phân nhỏ
TINYTEXT 1..255 ~ 1..28-1 Vùng văn bản nhỏ
BLOB 1..65535 ~ 1..216-1 Vùng BLOB cỡ bình thường TEXT 1..65535 ~ 1..216-1 Vùng văn bản cỡ bình thường MEDIUMBLOB 1..16777215 ~ 1..224-1 Vùng BLOB cỡ trung bình MEDIUMTEXT 1..16777215 ~ 1..224-1 Vùng văn bản cỡ trung bình LONGBLOB 1..4294967295 ~
1..232-1 Vùng BLOB dài LONGTEXT 1..4294967295 ~
1..232-1 Vùng văn bản dài Dữ liệu kiểu SET và ENUM:
Kiểu dữ liệu Số ký tự Mô tả
ENUM(‘value1’,’value2’, …)
65535 Dữ liệu của cột phải là một trong các giá trị đưa ra trong danh sách hoặc là NULL.
SET(‘value1’,’value2’, …) 64 Dữ liệu của cột là một tập hợp các giá trị nằm trong danh sách các giá trị đưa ra hoặc là NULL.
2. Sử dụng biến trong PHP
Các kiểu biến: Kiểu của biến phụ thuộc vào kiểu dữ liệu chứa trong biến đó. PHP hỗ trợ các kiểu dữ liệu sau:
Interger_Dùng cho tất cả các số.
$a = 1234; # decimal number $a = -123; # a negative number
$a = 0123; # octal number (equivalent to 83 decimal) $a = 0x12; # hexadecimal number (equivalent to 18 decimal)
Double_Dùng cho số thực.
String_Dùng cho chuỗi ký tự.
Array_Dùng để lưu trữ nhiều mục dữ liệu của cùng một kiểu. Ví dụ
về mảng một chiều : $a[0] = "abc"; $a[1] = "def"; $b["foo"] = 13;
$a[] = "hello"; // $a[2] == "hello" $a[] = "world"; // $a[3] == "world" Ví dụ về mảng đa chiều :
$a[1] = $f; # mảng một chiều $a["foo"] = $f;
$a[1][0] = $f; # mảng hai chiều $a["foo"][2] = $f;
$a[3]["bar"] = $f;
$a["foo"][4]["bar"][0] = $f; # mảng bốn chiều
Object_Dùng lưu trữ các lớp.
Trong hầu hết các ngôn ngữ lập trình, biến có thể giữ một kiểu dữ liệu, mà kiểu dữ liệu đó phải được khai báo trước khi sử dụng biến như trong C. Trong PHP, kiểu của biến được định nghĩa bởi kiểu của giá trị gán vào biến đó.
Eùp kiểu: có thể nói một biến hay giá trị có kiểu khác nhau bằng cách ép kiểu. Ta đặt kiểu tạm thời trong dấu ngoặc trước biến muốn ép kiểu. Ví dụ:
$totalqty = 0;
Hằng số: Như những phần trước chúng ta đã biết, có thể thay đổi giá trị trong một biến bằng cách khai báo kiểu hằng số. Một hằng số chứa một giá trị như biến nhưng giá trị của nó là tập hợp giá trị và không bị thay đổi trong kịch bản.
Lưu ý tên của hằng số phải viết in hoa. Đây là quy ước mượn từ C để dễ phân biệt giữa biến và hằng số khi mới nhìn sơ qua. Quy ước này không đòi hỏi nhưng giúp mã nguồn dễ đọc và bảo trì. Sự khác nhau quan trọng giữa biến và hằng số là khi tham chiếu đến hằng số thì nó không có dấu dolla ($) ở trước nó. Nếu muốn sử dụng giá trị của hằng số thì chỉ cần dùng tên của hằng số đóù.
Phạm vi của biến : Có 3 phạm vi cơ bản của biến trong PHP:
Biến toàn cục: được khai báo trong kịch bản có giá trị trong suốt kịch bản nhưng không có giá trị trong hàm.
Biến dùng trong hàm là biến cục bộ trong hàm.
Biến dùng trong hàm mà được khai báo như toàn cục tham chiếu đến biến toàn cục và cùng tên với biến toàn cục.
Kiểm tra và tạo kiểu biến: Hai hàm chung nhất đó là gettype() và settype().
Gettype(): ta đưa vào một biến, nó sẽ xác định kiểu và trả về chuỗi
chứa tên kiểu, hoặc kiểu unkown nếu nó không phải là một trong những kiểu chuẩn sau integer, double, string, array hay object.
Dùng hàm Settype(), ta đưa vào một biến mà chúng ta muốn đổi kiểu và chuỗi chứa kiểu mới cho biến từ danh sách trước.
PHP cũng cung cấp một số hàm chỉ định kiểu, hàm kiểm tra kiểu. Mỗi hàm tạo biến như đối số và trả về hoặc đúng hoặc sai. Các hàm đó là:
is_array()
is_double() is_float() is real() is_long() is_int() is_integer() is_string()