Hướng dẫn default decimal mysql - mysql thập phân mặc định

11.1.3 & nbsp; các loại điểm cố định (giá trị chính xác) - thập phân, số

Các loại


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 và

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

5 lưu trữ các giá trị dữ liệu số chính xác. Các loại này được sử dụng khi điều quan trọng là duy trì độ chính xác chính xác, ví dụ với dữ liệu tiền tệ. Trong MySQL,

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

5 được triển khai là

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4, vì vậy các nhận xét sau đây về

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 áp dụng như nhau cho

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

5.

MySQL lưu trữ các giá trị


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 ở định dạng nhị phân. Xem Phần & NBSP; 12,25, Toán học chính xác.

Trong khai báo cột


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4, độ chính xác và tỷ lệ có thể được chỉ định (và thường là) được chỉ định. Ví dụ:

salary DECIMAL(5,2)

Trong ví dụ này,


CREATE TABLE My_Table (
     length ENUM('small', 'medium', 'large')
);
2 là độ chính xác và

CREATE TABLE My_Table (
     length ENUM('small', 'medium', 'large')
);
3 là thang đo. Độ chính xác đại diện cho số lượng các chữ số quan trọng được lưu trữ cho các giá trị và tỷ lệ biểu thị số chữ số có thể được lưu trữ theo điểm thập phân.

SQL tiêu chuẩn yêu cầu


CREATE TABLE My_Table (
     length ENUM('small', 'medium', 'large')
);
4 có thể lưu trữ bất kỳ giá trị nào với năm chữ số và hai số thập phân, do đó, các giá trị có thể được lưu trữ trong phạm vi cột ____25 từ

CREATE TABLE My_Table (
     length ENUM('small', 'medium', 'large')
);
6 đến

CREATE TABLE My_Table (
     length ENUM('small', 'medium', 'large')
);
7.

Trong SQL tiêu chuẩn, cú pháp


CREATE TABLE My_Table (
     length ENUM('small', 'medium', 'large')
);
8) tương đương với ________ 28,0). Tương tự, cú pháp

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 tương đương với ________ 28,0), trong đó việc thực hiện được phép quyết định giá trị của

-- Chú ý một bảng không nhất thiết phải có khóa chính.
-- Phải có dấu chấm phẩy cuối dòng lệnh.

CREATE TABLE    (
  Column_Name_Id    DataType  [NOT NULL] [AUTO_INCREMENT] ,
  Column_name2       DataType  [NOT NULL] ,
  ......
  Column_nameN       DataType  [NOT NULL] ,
  Primary Key  (Column_Name_Id)
);
2. MySQL hỗ trợ cả hai dạng biến thể của cú pháp

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 này. Giá trị mặc định của

-- Chú ý một bảng không nhất thiết phải có khóa chính.
-- Phải có dấu chấm phẩy cuối dòng lệnh.

CREATE TABLE    (
  Column_Name_Id    DataType  [NOT NULL] [AUTO_INCREMENT] ,
  Column_name2       DataType  [NOT NULL] ,
  ......
  Column_nameN       DataType  [NOT NULL] ,
  Primary Key  (Column_Name_Id)
);
2 là 10.

Nếu tỷ lệ là 0, các giá trị


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 không chứa phần thập phân hoặc phần phân số.

Số lượng chữ số tối đa cho


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 là 65, nhưng phạm vi thực tế cho một cột

--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

4 đã cho có thể bị hạn chế bởi độ chính xác hoặc tỷ lệ cho một cột nhất định. Khi một cột như vậy được gán một giá trị với nhiều chữ số theo điểm thập phân hơn so với được cho phép theo thang đo được chỉ định, giá trị được chuyển đổi thành thang đo đó. .


MySQL ALTER là một lệnh rất tiện dụng khi bạn muốn thay đổi tên của bảng, cột hoặc xóa các cột có sẵn trong bảng.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.

2.2.2.1- ALTER - Thêm cột vào bảng


ALTER TABLE 
Add  Data_Type  [NOT NULL DEFAULT value];

2.2.2.2- ALTER - Thay đổi tên cột

2.2.2.3- ALTER - Xóa cột trong bảng

2.2.2.4- ALTER - Thay đổi kiểu dữ liệu của cột

2.2.2.5- ALTER - Thay đổi tên bảng 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).

2.2.3- DROP TABLE Rất dễ dàng xóa (drop) một bảng MySQL hiện có, nhưng bạn cần phải rất cẩn thận khi xóa bất kỳ bảng hiện tại, vì dữ liệu bị mất sẽ không được phục hồi sau khi xóa một bảng.
(số byte)
2.3- DCL
(Có dấu)
Data Control Language (DCL) là các lệnh điều khiển truy cập dữ liệu. Ví dụ:
(Có dấu)
GRANT - Gán quyền truy cập cơ sở dữ liệu
(Không dấu)
REVOKE - Rút đặc quyền được cho bởi lệnh GRANT.
(Không dấu)
2.3.1- GRANT 1 -128 127 0 255
TODO2 -32768 32767 0 65535
2.3.2- REVOKE 3 -8388608 Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. 0 16777215
Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. 4 -2147483648 2147483647 0 4294967295
Facebook 8 -9223372036854775808 1- Kiểu dữ liệu
54775807
0 1.1- Kiểu dữ liệu số
09551615

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). FLOAT 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 8 byte dành cho kiểu dữ liệu DOUBLE.

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)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. 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)
(Số Bytes)
Giá trị nhỏ nhất (Có dấu)
(Có dấu)
Giá trị lớn nhất (Có dấu)
(Có dấu)
Giá trị nhỏ nhất (Không dấu)
(Không dấu)
Giá trị lớn nhất (Không dấu)
(Không dấu)
FLOAT 4 -3.402823466E+38  -1.175494351E-38  1.175494351E-38  3.402823466E+38
DOUBLE 8 -1.7976931348623 157E+ 308
157E+ 308
-2.22507385850720 14E- 308
14E- 308
0, and 2.22507385850720 14E- 308 
2.22507385850720
14E- 308 
1.797693134862315 7E+ 308
7E+ 308

1.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ệ. Trong MySQL 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.   MySQL kiểu DECIMALNUMERIC 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.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.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. 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. 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ểuMô 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. 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ệ. 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ệuMô 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 Đị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. 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 lấy và hiển thị thời gian theo định dạng '


-- Chú ý một bảng không nhất thiết phải có khóa chính.
-- Phải có dấu chấm phẩy cuối dòng lệnh.

CREATE TABLE    (
  Column_Name_Id    DataType  [NOT NULL] [AUTO_INCREMENT] ,
  Column_name2       DataType  [NOT NULL] ,
  ......
  Column_nameN       DataType  [NOT NULL] ,
  Primary Key  (Column_Name_Id)
);
8 (hoặc định dạng

-- Chú ý một bảng không nhất thiết phải có khóa chính.
-- Phải có dấu chấm phẩy cuối dòng lệnh.

CREATE TABLE    (
  Column_Name_Id    DataType  [NOT NULL] [AUTO_INCREMENT] ,
  Column_name2       DataType  [NOT NULL] ,
  ......
  Column_nameN       DataType  [NOT NULL] ,
  Primary Key  (Column_Name_Id)
);
9 đối với các giá trị giờ lớn). Giá trị của

Create Table Members (
   Member_Id INT NOT NULL AUTO_INCREMENT,
   Full_Name VARCHAR(64) NOT NULL,
   Address VARCHAR(256),
   Birth_Day DATE NOT NULL,
   PRIMARY KEY (Member_Id)
);
0 có thể trong khoảng

Create Table Members (
   Member_Id INT NOT NULL AUTO_INCREMENT,
   Full_Name VARCHAR(64) NOT NULL,
   Address VARCHAR(256),
   Birth_Day DATE NOT NULL,
   PRIMARY KEY (Member_Id)
);
1 tới

Create Table Members (
   Member_Id INT NOT NULL AUTO_INCREMENT,
   Full_Name VARCHAR(64) NOT NULL,
   Address VARCHAR(256),
   Birth_Day DATE NOT NULL,
   PRIMARY KEY (Member_Id)
);
2. Phần thời gian có thể lớn bởi vì kiểu

Create Table Members (
   Member_Id INT NOT NULL AUTO_INCREMENT,
   Full_Name VARCHAR(64) NOT NULL,
   Address VARCHAR(256),
   Birth_Day DATE NOT NULL,
   PRIMARY KEY (Member_Id)
);
0 có 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).


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

Định dạng hiển thị

Phạm viYEAR được sử dụng 1-byte để mô tả giá trị.Nó có thể khai báo YEAR(2) hoặc YEAR(4) chỉ định rõ chiều rộng hiển thị là 2 hay 4 ký tự. Nếu không chỉ rõ chiều rộng mặc định là 4 ký tự.

DATETIME YEAR(2) khác nhau định dạnh hiển thị nhưng có cùng phạm vi giá trị.
Với định dạng 4 số, MySQL hiển thị  giá trị YEAR theo định dạng YYYY, với phạm vi 1901 tới 2155, hoặc 0000.
Với định dạng 2 số, MySQL chỉ hiển thị 2 số cuối; ví dụ 70 (1970 hoặc 2070) hoặc 69 (2069).

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. YEAR theo một vài định dạng khác nhau:

YYYY-MM-DD HH:MM:SS 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
MySQL chuyển đổi '0' tới '69' tương đương với giá trị YEAR từ 2000-2069.
Và '70' tới '99' tương đương với YEAR từ 1970 tới 1999.
Định dạng hiển thịPhạm vi
MySQL chuyển đổi giá trị từ 1 tới 69 tương đương với YEAR từ 2001 tới 2069.
Và 70 tới 99 tương đương với YEAR từ 1970 tới 1999.

1.2.4- Khác nhau giữa kiểu dữ liệu Datetime và Timestamp trong MySQL

Kiểu dữ liệu DATETIME được sử dụng khi bạn cần lưu trữ cả hai thông tin ngày tháng và thời gian.MySQL lấy và hiển thị DATETIME theo định dạng  ‘YYYY-MM-DD HH:MM:SS’. Và hỗ trợ phạm vi từ '1000-01-01 00:00:00' tới '9999-12-31 23:59:59'.DATETIME được sử dụng khi bạn cần lưu trữ cả hai thông tin ngày tháng và thời gian.MySQL lấy và hiển thị DATETIME theo định dạng  ‘YYYY-MM-DD HH:MM:SS’. Và hỗ trợ phạm vi từ '1000-01-01 00:00:00' tới '9999-12-31 23:59:59'.

Kiểu dữ liệu TIMESTAMP cũng được sử dụng khi bạn muốn lưu trữ cả hai thông tin ngày tháng và thời gian. TIMESTAMP có phạm vi  '1970-01-01 00:00:01' UTC tới '2038-01-19 03:14:07' UTCTIMESTAMP cũng được sử dụng khi bạn muốn lưu trữ cả hai thông tin ngày tháng và thời gian. TIMESTAMP có phạm vi  '1970-01-01 00:00:01' UTC tới '2038-01-19 03:14:07' UTC

Sự khác biệt chính của DATETIME và TIMESTAMP là giá trị của TIMESTAMP được chuyển đổi từ múi giờ hiện tại sang UTC trong khi lưu trữ, và chuyển ngược trở lại từ UTC sang múi giờ hiện tại trong lúc lấy ra. Còn kiểu dữ liệu DATETIME thì không có gì thay đổi.DATETIME TIMESTAMP là giá trị của TIMESTAMP được chuyển đổi từ múi giờ hiện tại sang UTC trong khi lưu trữ, và chuyển ngược trở lại từ UTC sang múi giờ hiện tại trong lúc lấy ra. Còn kiểu dữ liệu DATETIME thì không có gì thay đổi.

1.3- Các kiểu chuỗi (String Types)

Các kiểu dữ liệu String bao gồm:

  • CHAR
  • VARCHAR
  • BINARY
  • VARBINARY
  • BLOB
  • TEXT
  • ENUM
  • SET.

1.3.1- Kiểu dữ liệu CHAR và VARCHAR

Kiểu dữ liệu CHAR và VARCHAR là giống nhau, nhưng khác nhau ở cách chúng được lưu trữ và truy xuất. Chúng cũng khác nhau về chiều dài tối đa và giữ lại hay không khoảng trắng phía trước (trailing spaces).

Kiểu dữ liệuMô tảĐịnh dạng hiển thịPhạm vi các ký tự
CHAR Chứa chuỗi không  phải nhị phân (non-binary strings). Độ dài là cố định như khi bạn khai báo cột của bảng. Khi lưu trữ chúng được độn thêm bên phải (right-padded) để có độ dài chỉ được chỉ định. Khoảng trắng phía trước (Trailing spaces) được loại bỏ Giá trị từ 0 tới 255
VARCHAR Chứa các chuỗi không phải nhịn phân (non-binary strings). Cột là chuỗi có chiều dài thay đổi. Giống như lưu trữ. Giá trị từ 0 tới 255 với MySQL trước phiên bản 5.0.3. Và 0 tới 65,535 với các phiên bản MySQL 5.0.3 hoặc mới hơn.
Và 0 tới 65,535 với các phiên bản MySQL 5.0.3 hoặc mới hơn.

1.3.2- Kiểu dữ liệu BINARY và VARBINARY

Các kiểu dữ liệu BINARY và VARBINARY tương tự như CHAR và VARCHAR, ngoại trừ việc chúng có chứa các chuỗi nhị phân chứ không phải là chuỗi non-binary. BINARYVARBINARY tương tự như CHARVARCHAR, ngoại trừ việc chúng có chứa các chuỗi nhị phân chứ không phải là chuỗi non-binary.

Kiểu dữ liệuMô tảĐịnh dạng hiển thị
Phạm vi các ký tựCHAR Giá trị từ 0 tới 255
VARCHAR CHAR Chứa chuỗi không  phải nhị phân (non-binary strings). Độ dài là cố định như khi bạn khai báo cột của bảng. Khi lưu trữ chúng được độn thêm bên phải (right-padded) để có độ dài chỉ được chỉ định.

Khoảng trắng phía trước (Trailing spaces) được loại bỏ

Giá trị từ 0 tới 255

VARCHAR

Kiểu dữ liệuMô tảĐịnh dạng hiển thịPhạm vi các ký tự
CHAR Chứa chuỗi không  phải nhị phân (non-binary strings). Độ dài là cố định như khi bạn khai báo cột của bảng. Khi lưu trữ chúng được độn thêm bên phải (right-padded) để có độ dài chỉ được chỉ định. Khoảng trắng phía trước (Trailing spaces) được loại bỏ Giá trị từ 0 tới 255
VARCHAR Chứa các chuỗi không phải nhịn phân (non-binary strings). Cột là chuỗi có chiều dài thay đổi.
Giống như lưu trữ. Giá trị từ 0 tới 255 với MySQL trước phiên bản 5.0.3. Và 0 tới 65,535 với các phiên bản MySQL 5.0.3 hoặc mới hơn.
1.3.2- Kiểu dữ liệu BINARY và VARBINARY Các kiểu dữ liệu BINARY và VARBINARY tương tự như CHAR và VARCHAR, ngoại trừ việc chúng có chứa các chuỗi nhị phân chứ không phải là chuỗi non-binary. Khoảng trắng phía trước (Trailing spaces) được loại bỏ Giá trị từ 0 tới 255
VARCHAR Chứa các chuỗi không phải nhịn phân (non-binary strings). Cột là chuỗi có chiều dài thay đổi.
Giống như lưu trữ. Giá trị từ 0 tới 255 với MySQL trước phiên bản 5.0.3. Và 0 tới 65,535 với các phiên bản MySQL 5.0.3 hoặc mới hơn.

1.3.2- Kiểu dữ liệu BINARY và VARBINARY

Các kiểu dữ liệu BINARY và VARBINARY tương tự như CHAR và VARCHAR, ngoại trừ việc chúng có chứa các chuỗi nhị phân chứ không phải là chuỗi non-binary.


CREATE TABLE My_Table (
     length ENUM('small', 'medium', 'large')
);

Phạm vi các bytes

BINARY

  • Chứa các chuỗi nhị phân (Binary Strings)

VARBINARY

Giá trị từ 0 tới 255 đối với MySQL trước 5.0.3, và 0 tới 65,535 với MySQL 5.0.3 và mới hơn.

  • 1.3.3- Kiểu dữ liệu BLOB và TEXT
  • BLOB là một đối tượng nhị phân lớn (Binary Large OBject) có thể chứa một lượng lớn dữ liệu. Có bốn loại BLOB, TINYBLOB, BLOB, MEDIUMBLOB, và LONGBLOB. Những chỉ khác nhau về độ dài tối đa của các giá trị mà họ có thể giữ.
  • Bốn loại TEXT là TINYTEXT, TEXT, MEDIUMTEXT, và LONGTEXT. Chúng ttương ứng với bốn loại BLOB và có độ dài tối đa và các yêu cầu lưu trữ tương tự.

LoạiDDL & DCL.

Độ dài

BLOB (DML) các câu lệnh được sử dụng để quản lý dữ liệu bên trong SCHEME. Ví dụ:

  • Đối tượng nhị phân lớn (Large binary object) chứa khối lượng dữ liệu lớn. Giá trị được xem như một chuỗi nhị phân. Bạn không cần thiết phải chỉ định độ dài khi tạo cột.
  • TINYBLOB
  • Chiều dài tối đa là 255 ký tự.
  • MEDIUMBLOB
  • Chiều dài tối đa là 16777215 ký tự.
  • LONGBLOB
  • Chiều dài tối đa là 4294967295 ký tự
  • TEXT

Lưu trữ giá trị được coi như một chuỗi các ký tự có mã hóa (character set).

Chiều dài tối đa là 4294967295 ký tự.

1.3.4- Kiểu dữ liệu ENUM (DDL) là các câu lệnh được sử dụng để định nghĩa cấu trúc database hoặc schema. Ví dụ:

  • Một đối tượng chuỗi có giá trị được chọn từ một danh sách các giá trị được đưa ra ở thời điểm tạo ra bảng. Ví dụ:
  • 1.3.5- Kiểu dữ liệu SET
  • Một đối tượng chuỗi có không hoặc nhiều dấu phẩy tách giá trị (tối đa 64). Các giá trị được lựa chọn từ một danh sách các giá trị được đưa ra ở thời điểm tạo ra bảng
  • TODO Example:
  • COMMENT - Thêm các chú thích vào từ điển dữ liệu (data dictionary).
  • RENAME - Thay đổi tên của đối tượng.

2.2.1- CREATE TABLE

Cú pháp:


-- Chú ý một bảng không nhất thiết phải có khóa chính.
-- Phải có dấu chấm phẩy cuối dòng lệnh.

CREATE TABLE    (
  Column_Name_Id    DataType  [NOT NULL] [AUTO_INCREMENT] ,
  Column_name2       DataType  [NOT NULL] ,
  ......
  Column_nameN       DataType  [NOT NULL] ,
  Primary Key  (Column_Name_Id)
);

Tại đây có một vài giải thích:

  • Thuộc tính NOT NULL được sử dụng nếu bạn không muốn trường này null. Như vậy nếu người dùng cố gắng trèn vào một bản ghi với dữ liệu NULL. MySQL sẽ ném ra một lỗi.NOT NULL được sử dụng nếu bạn không muốn trường này null. Như vậy nếu người dùng cố gắng trèn vào một bản ghi với dữ liệu NULL. MySQL sẽ ném ra một lỗi.

  • Thuộc tính AUTO_INCREMENT nói với MySQL tự gán giá trị tăng dần cho trường ID.AUTO_INCREMENT nói với MySQL tự gán giá trị tăng dần cho trường ID.

  • Từ khóa PRIMARY KEY được sử dụng để định nghĩa cột này là một khóa chính. Bạn có thể sử dụng nhiều cột ngăn cách nhau bởi dấu phẩy để định nghĩa một khóa chính.PRIMARY KEY được sử dụng để định nghĩa cột này là một khóa chính. Bạn có thể sử dụng nhiều cột ngăn cách nhau bởi dấu phẩy để định nghĩa một khóa chính.

Ví dụ:


Create Table Members (
   Member_Id INT NOT NULL AUTO_INCREMENT,
   Full_Name VARCHAR(64) NOT NULL,
   Address VARCHAR(256),
   Birth_Day DATE NOT NULL,
   PRIMARY KEY (Member_Id)
);

2.2.2- ALTER

MySQL ALTER là một lệnh rất tiện dụng khi bạn muốn thay đổi tên của bảng, cột hoặc xóa các cột có sẵn trong bảng. ALTER là một lệnh rất tiện dụng khi bạn muốn thay đổi tên của bảng, cột hoặc xóa các cột có sẵn trong bảng.

2.2.2.1- ALTER - Thêm cột vào bảng

Cú pháp:

Tại đây có một vài giải thích:

Ví dụ:


-- Thêm cột Address2 có kiểu dữ liệu Varchar2(256)
ALTER TABLE Members ADD Address2 Varchar(256);

-- Thêm cột Active có kiểu dữ liệu Varchar(1), NOT NULL
-- Chú ý nếu bảng đã có dữ liệu sử dụng với NOT NULL cần thêm giá trị mặc định.
ALTER TABLE Members ADD Active Varchar(1) NOT NULL DEFAULT 'Y';

2.2.2- ALTER


-- Cú pháp chỉ đổi tên cột.
ALTER TABLE  RENAME COLUMN  ;

-- Cú pháp vừa đổi tên cột vừa đổi kiểu dữ liệu:
ALTER TABLE  RENAME COLUMN   Data_Type;

MySQL ALTER là một lệnh rất tiện dụng khi bạn muốn thay đổi tên của bảng, cột hoặc xóa các cột có sẵn trong bảng.

Cú pháp:


ALTER TABLE  DROP ;

Ví dụ:


ALTER TABLE Member DROP Address2;

2.2.2- ALTER

Cú pháp:


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

0

Ví dụ:


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

1

2.2.2- ALTER

Cú pháp:


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

2

Ví dụ:


--  !!
SELECT
TIME_FORMAT(foo_hour, '%H:%i')
FROM bar

3

2.2.2- ALTER

MySQL ALTER là một lệnh rất tiện dụng khi bạn muốn thay đổi tên của bảng, cột hoặc xóa các cột có sẵn trong bảng.

Cú pháp:

Tại đây có một vài giải thích:

Thuộc tính NOT NULL được sử dụng nếu bạn không muốn trường này null. Như vậy nếu người dùng cố gắng trèn vào một bản ghi với dữ liệu NULL. MySQL sẽ ném ra một lỗi. (DCL) là các lệnh điều khiển truy cập dữ liệu. Ví dụ:

  • Thuộc tính AUTO_INCREMENT nói với MySQL tự gán giá trị tăng dần cho trường ID.
  • Từ khóa PRIMARY KEY được sử dụng để định nghĩa cột này là một khóa chính. Bạn có thể sử dụng nhiều cột ngăn cách nhau bởi dấu phẩy để định nghĩa một khóa chính.

Ví dụ:

  • 2.2.2- ALTER

MySQL ALTER là một lệnh rất tiện dụng khi bạn muốn thay đổi tên của bảng, cột hoặc xóa các cột có sẵn trong bảng.

  • 2.2.2- ALTER