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)
-
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
-
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