MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでINT(1)とTINYINT(1)を使用することに違いはありますか?


括弧内の数字の1は幅表示専用です。 INT(1)とTINYINT(1)はストレージに影響を与えません。

TINYINTは1バイトを取ります。つまり、intは4バイトを取りますが、範囲は-128〜+127です。範囲は-2147483648〜 + 2147483647

幅の表示を理解するために、テーブルを作成しましょう-

mysql> create table intAndTinyint
   −> (
   −> FirstNumber int(1) zerofill,
   −> SecondNumber tinyint(1) zerofill
   −> );
Query OK, 0 rows affected (0.52 sec)

これで、テーブルにレコードを挿入できます。クエリは次のとおりです-

mysql> insert into intAndTinyint values(1,1);
Query OK, 1 row affected (0.32 sec)

mysql> insert into intAndTinyint values(12,12);
Query OK, 1 row affected (0.26 sec)

mysql> insert into intAndTinyint values(123,123);
Query OK, 1 row affected (0.14 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from intAndTinyint;

以下は出力です-

+-------------+--------------+
| FirstNumber | SecondNumber |
+-------------+--------------+
|           1 |            1 |
|          12 |           12 |
|         123 |          123 |
+-------------+--------------+
3 rows in set (0.00 sec)

これは、ゼロフィルを使用して括弧の1番を1より大きくすると理解できます。幅のゼロフィルの概念を理解するために、INTの例だけを見てみましょう。

テーブルを作成します。以下は、テーブルを作成するためのクエリです-

mysql> create table intVsIntAnyThingDemo
   −> (
   −> Number1 int(11) unsigned zerofill,
   −> Number int(13) unsigned zerofill
   −> );
Query OK, 0 rows affected (1.17 sec)

これで、挿入コマンドを使用してテーブルにレコードを挿入できます。ここでは、INTに異なる幅を設定しました。クエリは次のとおりです-

mysql> insert into intVsIntAnyThingDemo values(12345,6789);
Query OK, 1 row affected (0.44 sec)

mysql> insert into intVsIntAnyThingDemo values(3,2);
Query OK, 1 row affected (0.20 sec)

mysql> insert into intVsIntAnyThingDemo values(12,89);
Query OK, 1 row affected (0.15 sec)

mysql> insert into intVsIntAnyThingDemo values(123,6789);
Query OK, 1 row affected (0.17 sec)

mysql> insert into intVsIntAnyThingDemo values(1234,6789);
Query OK, 1 row affected (0.14 sec)

selectステートメントを使用してすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from intVsIntAnyThingDemo;

以下は、さまざまな幅とゼロフィルを表示する出力です

+-------------+---------------+
| Number1     | Number        |
+-------------+---------------+
| 00000012345 | 0000000006789 |
| 00000000003 | 0000000000002 |
| 00000000012 | 0000000000089 |
| 00000000123 | 0000000006789 |
| 00000001234 | 0000000006789 |
+-------------+---------------+
5 rows in set (0.00 sec)

  1. MySQLのTINYINTでUpdateステートメントを使用していますか?

    まず、テーブルを作成しましょう。タイプTINYINT-の列の1つを設定しました mysql> create table DemoTable    -> (    -> EmployeeId int,    -> isMarried tinyint    -> ); Query OK, 0 rows affected (6.84 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(1

  2. MySQLクエリでLIKE句を2回使用する

    まずテーブルを作成しましょう- mysql> create table DemoTable2009 (    Name varchar(20) ); Query OK, 0 rows affected (0.51 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2009 values('John Doe'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable2009 valu