1.1.1- Các kiểu số nguyên
- Các kiểu số nguyên tiêu chuẩn của SQL như INTEGER (or INT) và SMALLINT đều được hỗ trợ bởi MySQL. Và các mở rộng tiêu chuẩn, MySQL cũng hỗ trợ các kiểu số nguyên khác như TINYINT, MEDIUMINT, và BIGINT. Bảng dưới đây sẽ liệt kê các kiểu và không gian lưu trữ đòi hỏi và phạm vi của chúng (Giá trị nhỏ nhất, lớn nhất cho kiểu số nguyên có dấu, và không dấu).
Kiểu dữ liệu Độ dài
(số byte)Giá trị nhỏ nhất
(Có dấu)Giá trị lớn nhất
(Có dấu)Giá trị nhỏ nhất
(Không dấu)Giá trị lớn nhất
(Không dấu)TINYINT 1 -128 127 0 255 SMALLINT 2 -32768 32767 0 65535 MEDIUMINT 3 -8388608 8388607 to 0 16777215 INT 4 -2147483648 2147483647 0 4294967295 BIGINT 8 -9223372036854775808 92233720368
547758070 184467440737
095516151.1.2- Kiểu dấu chấm động (Floating-Point Types)
- Kiểu dữ liệu FLOAT và DOUBLE mô tả gần đúng các giá trị số thực. MySQL sử dụng 4 byte để lưu trữ dữ liệu FLOAT và 8 bytedành cho kiểu dữ liệu DOUBLE.
Types Description FLOAT(M,D) Một số chấm động (floating-point number) không thể không có dấu (unsigned). Bạn có thể định nghĩa độ dài phần nguyên (M) và độ dài phần thập phân (D). Điều này không bắt buộc và mặc định là 10,2, ở đây 10 là độ dài phần nguyên còn 2 là số số thập phân. Phần thập phân có thể sử dụng 24 vị trí cho một số FLOAT. DOUBLE(M,D) Một số chấm động DOUBLE (Độ chính xác gấp 2) cũng không thể không có dấu (unsigned). Bạn có thể định nghĩa độ dài phần nguyên (M) và độ dài phần thập phân (D). Điều này không bắt buộc và mặc định là 16,4, ở đó 16 là độ dài phần nguyên còn 4 là độ dài phần thập phân. Phần thập phân có thể sử dụng tới 53 vị trí cho một số DOUBLE. REAL là một từ đồng nghĩa với DOUBLE. - Following table shows the required storage and range (maximum and minimum value for signed and unsigned integer) for each floating-point type.
Kiểu dữ liệu Độ dài
(Số Bytes)Giá trị nhỏ nhất
(Có dấu)Giá trị lớn nhất
(Có dấu)Giá trị nhỏ nhất
(Không dấu)Giá trị lớn nhất
(Không dấu)FLOAT 4 -3.402823466E+38 -1.175494351E-38 1.175494351E-38 3.402823466E+38 DOUBLE 8 -1.7976931348623
157E+ 308-2.22507385850720
14E- 3080, and
2.22507385850720
14E- 3081.797693134862315
7E+ 3081.1.3- Kiểu dấu chấm cố định (Fixed-Point Types)
- Kiểu dấu chấm cố định (Fixed-Point data type) được sử dụng để bảo vệ độ chính xác (precision), ví dụ như với dữ liệu tiền tệ. TrongMySQL kiểu DECIMAL và NUMERIC lưu trữ chính xác các dữ liệu số. MySQL 5.6 lưu trữ giá trị DECIMAL theo định dạng nhị phân.
- Trong SQL chuẩn, cú pháp DECIMAL(5,2) nghĩa là độ chính xác (precision) là 5, và 2 là phần thập phân (scale), nghĩa là nó có thể lưu trữ một giá trị có 5 chữ số trong đó có 2 số thập phân. Vì vậy giá trị lưu trữ sẽ là -999.99 tới 999.99. Cú pháp DECIMAL(M)tương đương với DECIMAL(M,0). Tương tự DECIMAL tương đương với DECIMAL(M,0) ở đây M mặc định là 10.
Độ dài tối đa các con số cho DECIMAL là 65. 1.1.4- Kiểu dữ liệu Bit (Bit Value Types)
- Kiểu dữ liệu BIT được sử dụng để lưu trữ trường giá trị bit. Kiểu BIT(N) có thể lưu trữ N giá trị bit. N có phạm vi từ 1 tới 64. Để chỉ định giá trị các bit, có thể sử dụng b'value'. value là dẫy các số nhị phân 0 hoặc 1. Ví dụ b'111' mô tả số 7, và b'10000000' mô tả số 128.
1.1.5- Kiểu số và thuộc tính
- MySQL hỗ trợ một mở rộng cho việc tùy chọn chỉ định độ dài hiển thị là một số nguyên trong dấu ngoặc ngay sau từ khóa kiểu dữ liệu.
Kiểu Mô tả TYPE(N) Tại đây N là một số nguyên hiển thị chiều rộng cho kiểu độ dài lên đến N chữ số. ZEROFILL Các khoảng đệm (padding) được thay thế bởi số 0. Ví dụ với cột kiểu INT(3) ZEROFILL, 7 sẽ hiển thị là 007. - TODO - Example
1.2- Các kiểu Date and Time
Các kiểu dữ liệu ngày tháng và thời gian đại diện bao gồm DATE, TIME, DATETIME, TIMESTAMP, and YEAR. Mỗi kiểu có một phạm vi hợp lệ.
1.2.1- Kiểu dữ liệu DATETIME, DATE, và TIMESTAMP
Kiểu dữ liệu Mô tả Định dạng hiển thị Phạm vi DATETIME Sử dụng khi bạn cần giá trị lưu trữ cả hai thông tin ngày tháng và thời gian. YYYY-MM-DD HH:MM:SS '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. DATE Sử dụng khi bạn muốn lưu trữ chỉ thông tin ngày tháng. YYYY-MM-DD '1000-01-01' to '9999-12-31'. TIMESTAMP Lưu trữ cả hai thông tin ngày tháng và thời gian. Giá trị này sẽ được chuyển đổi từ múi giờ hiện tại sang UTC trong khi lưu trữ, và sẽ chuyển trở lại múi giờ hiện tại khi lấy dữ liệu ra. YYYY-MM-DD HH:MM:SS '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC 1.2.2- Kiểu dữ liệu TIME
- MySQL lấy và hiển thị thời gian theo định dạng '
'HH:MM:SS'(hoặc định dạng'HHH:MM:SS'đối với các giá trị giờ lớn). Giá trị củaTIMEcó thể trong khoảng'-838:59:59'tới'838:59:59'. Phần thời gian có thể lớn bởi vì kiểuTIMEcó thể không chỉ mô tả thời gian của một ngày (Vốn chỉ có tối đa 24 giờ), mà nó có thể là thời gian trôi qua hoặc khoảng thời gian giữa hai sự kiện (Cái mà có thể lớn hơn 24h thậm trí có giá trị âm). - Link: https://o7planning.org/vi/10321/du-lieu-va-cau-truc-trong-mysql
- #-----------------------------------------------------------------------------------#
- **** round:
- http://ngoton.it/ham-lam-tron-so-round-floor-ceil-nhat-ky-lap-trinh-chapter-7/
Không có nhận xét nào:
Đăng nhận xét