Int nghĩa là gì trong mysql?

INT là viết tắt của số nguyên và là một nhóm các kiểu dữ liệu trong nhiều cơ sở dữ liệu lưu trữ số. Có nhiều kiểu dữ liệu INT trong cơ sở dữ liệu SQL chính

Trong hướng dẫn này, bạn sẽ thấy tất cả các loại dữ liệu INT này, xem các hạn chế của chúng và cách chúng so sánh giữa các cơ sở dữ liệu

Hãy cùng xem

Mục lục

Kiểu dữ liệu SQL INT

Chúng ta sẽ xem xét bốn cơ sở dữ liệu SQL chính trong hướng dẫn này. Oracle, Máy chủ SQL, MySQL và PostgreSQL. Mỗi người trong số họ có các loại dữ liệu INT hơi khác nhau và có thể gây nhầm lẫn khi nhớ loại dữ liệu nào làm gì

Vì vậy, trong hướng dẫn này, chúng tôi sẽ xem xét tất cả chúng, cũng như bảng so sánh

Để biết thêm thông tin về tất cả các loại dữ liệu khác nhau trong các cơ sở dữ liệu này, hãy xem bài đăng này về Các loại dữ liệu SQL

 

Các kiểu dữ liệu SQL Server INT

Dưới đây là các kiểu dữ liệu INT tồn tại trong SQL Server

Loại dữ liệuPhạm viStorageTINYINT0 đến 2551 byteSMALLINT-32,768 đến 32,7672 byteINT-2,147,483,648 đến 2,147,483,6474 byteBIGINT-9,223,372,036,854,775,808 đến 9,223,372,036,854,78 byte

Kiểu dữ liệu số nguyên chính là INT. Đây là cách phổ biến nhất mà tôi đã thấy trong mã của riêng mình và trong các ví dụ trực tuyến. Nó lưu trữ tới khoảng 2 tỷ, đủ lớn cho nhiều dữ liệu số

Bạn nên sử dụng loại dữ liệu nhỏ nhất có thể chứa các giá trị mà bạn có thể cần. Đôi khi, đây có thể là TINYINT, nếu bạn mong đợi ít hơn 255 giá trị

Lưu ý rằng từ INTEGER là từ đồng nghĩa với INT. Điều này có nghĩa là nếu bạn sử dụng INTEGER, cơ sở dữ liệu sẽ dịch nó thành INT

Ví dụ

Dưới đây là ví dụ về cách tạo bảng với các kiểu dữ liệu này và chèn giá trị vào chúng

CREATE TABLE sql_server_int (
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT
);

INSERT INTO sql_server_int (tinyint_col, smallint_col, int_col, bigint_col)
VALUES (255, 32767, 2147483647, 9223372036854775807);

Các giá trị được chèn vào bảng

 

Các kiểu dữ liệu MySQL INT

MySQL có một số kiểu dữ liệu số nguyên

Data TypeRange (Unsigned)Range (Signed)StorageTINYINT0 to 255-128 to 1271 byteSMALLINT0 to 65,535-32,768 to 32,7672 bytesMEDIUMINT0 to 16777215-8,388,608 to 8,388,6073 bytesINT0 to 4,294,967,295-2,147,483,648 to 2,147,483,6474 bytesBIGINT0 to 18,446,744,073,709,551,616-9,223,372,036,854,775,807 to 9,223,372,036,854,775

MySQL là nhà cung cấp duy nhất trong số bốn nhà cung cấp này có kiểu dữ liệu INT không dấu. Kiểu dữ liệu không dấu có nghĩa là không có chỉ báo nào cho biết dữ liệu đó là dương hay âm, vì vậy tất cả các giá trị đều là dương (hoặc 0). Điều này có nghĩa là phạm vi cao hơn

Ví dụ

Đây là một ví dụ về tạo bảng và chèn dữ liệu bằng kiểu dữ liệu INT của MySQL

CREATE TABLE mysql_int (
tinyint_col TINYINT,
smallint_col SMALLINT,
mediumint_col MEDIUMINT,
int_col INT,
bigint_col BIGINT
);

INSERT INTO mysql_int (tinyint_col, smallint_col, mediumint_col, int_col, bigint_col)
VALUES (127, 32767, 8388607, 2147483647, 9223372036854775807);

 

Ngoài ra, đây là một ví dụ về việc sử dụng số nguyên UNSIGNED trong MySQL. Bạn chỉ cần thêm chữ UNSIGNED sau khi khai báo kiểu dữ liệu

CREATE TABLE mysql_int_unsigned (
tinyint_col TINYINT UNSIGNED,
smallint_col SMALLINT UNSIGNED,
mediumint_col MEDIUMINT UNSIGNED,
int_col INT UNSIGNED,
bigint_col BIGINT UNSIGNED
);

INSERT INTO mysql_int_unsigned (tinyint_col, smallint_col, mediumint_col, int_col, bigint_col)
VALUES (255, 65535, 16777215, 4294967295, 18446744073709551616);

 

Các kiểu dữ liệu Oracle INT

Dưới đây là các kiểu dữ liệu INT trong Oracle SQL

Loại dữ liệuPhạm viStorageNUMBER– 1 x 10^-130 đến 9. 99…9 x 10^125Lên đến 21 byte

Oracle thực sự chỉ có kiểu dữ liệu SỐ để lưu trữ số nguyên. Nó lưu tối đa 38 chữ số và sử dụng tối đa 21 byte để lưu số nên khá linh hoạt

Kiểu dữ liệu SỐ cũng có thể được sử dụng để lưu trữ số thập phân hoặc số có vị trí thập phân

Có một số từ khóa hoặc loại dữ liệu khác trong Oracle, nhưng tất cả chúng đều được dịch sang SỐ

  • số nguyên
  • TRÔI NỔI
  • SỐ THẬP PHÂN
  • SỐ
  • INT
  • NHỎ

Ví dụ

Đây là một ví dụ về cách tạo và chèn kiểu dữ liệu SỐ trong Oracle

CREATE TABLE oracle_int (
number_col NUMBER
);

INSERT INTO oracle_int (number_col)
VALUES (18446744073709551616);

 

Các kiểu dữ liệu PostgreSQL INT

PostgreSQL có một vài kiểu dữ liệu INT

Loại dữ liệuPhạm viLưu trữSMALLINT-32,768 đến 32,7672 byteINTEGER-2,147,483,648 đến 2,147,483,6474 byteBIGINT-9,223,372,036,854,775,808 đến 9,223,372,036,854,775,8078 byte

Ba kiểu dữ liệu này tương tự như các cơ sở dữ liệu khác. Loại INTEGER thường được khuyên dùng vì nó lưu trữ một loạt các giá trị thường là đủ. INTEGER giống như INT trong MySQL và SQL Server

Ví dụ

Đây là một ví dụ về tạo và chèn kiểu dữ liệu INT trong PostgreSQL

CREATE TABLE postgresql_int (
smallint_col SMALLINT,
integer_col INTEGER,
bigint_col BIGINT
);

INSERT INTO sql_server_int (smallint_col,integer_col, bigint_col)
VALUES (32767,2147483647, 9223372036854775807);

 

so sánh

Bây giờ chúng ta đã xem xét các loại dữ liệu khác nhau trong các cơ sở dữ liệu khác nhau, làm thế nào để so sánh giữa chúng?

Data TypeRangeSQL ServerMySQLOraclePostgreSQLTINYINT*-128 to 127YesYesSMALLINT-32,768 to 32,767YesYesYesMEDIUMINT-8,388,608 to 8,388,607YesINT or INTEGER-2,147,483,648 to 2,147,483,647YesYesYesBIGINT-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807YesYesYesNUMBER– 1 x 10^-130 to 9. 99…9 x 10^125Có

Ngoại lệ đối với TINYINT trong SQL Server chỉ không được ký, do đó, nó lưu trữ phạm vi từ 0 đến 255

Vì vậy, có cách so sánh các kiểu dữ liệu số nguyên khác nhau trong các nhà cung cấp SQL khác nhau. Hầu hết trong số họ chia sẻ một tập hợp các loại dữ liệu phổ biến, với Oracle là ngoại lệ

INT được sử dụng để làm gì trong SQL?

Kiểu dữ liệu int là kiểu dữ liệu số nguyên chính trong SQL Server. Kiểu dữ liệu bigint được thiết kế để sử dụng khi các giá trị số nguyên có thể vượt quá phạm vi được hỗ trợ bởi kiểu dữ liệu int.

INT 10 có nghĩa là gì trong MySQL?

INT(10) có nghĩa là bạn có thể định nghĩa nó là INT UNSIGNED . Vì vậy, bạn có thể lưu trữ các số từ 0 đến 4294967295 (lưu ý rằng giá trị tối đa có 10 chữ số, vì vậy MySQL sẽ tự động thêm (10) vào định nghĩa cột mà (10) chỉ là một gợi ý định dạng và không có gì khác.

INT 4 có nghĩa là gì trong MySQL?

Ví dụ: INT(4) chỉ định một INT có chiều rộng hiển thị là bốn chữ số . Chiều rộng hiển thị tùy chọn này có thể được các ứng dụng sử dụng để hiển thị các giá trị số nguyên có chiều rộng nhỏ hơn chiều rộng được chỉ định cho cột bằng cách đệm trái chúng bằng khoảng trắng.

INT 6 có nghĩa là gì trong MySQL?

Giá trị tối đa của SMALLINT(6) chưa được ký trong MySQL là 65535. Số 6 không ảnh hưởng đến phạm vi thực tế. Chỉ có thể dùng để hiển thị chiều rộng trên dòng lệnh . Giá trị tối thiểu được ký là -32768.