MySQLのvarcharフィールドのサイズを拡張すると、その中のデータに影響しますか?
MySQLのvarcharフィールドのサイズを拡張する場合、その中のデータには影響しません。
まずテーブルを作成しましょう-
mysql> create table DemoTable( Name varchar(8) ); Query OK, 0 rows affected (1.11 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values('Robert'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('Mike'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Sam'); Query OK, 1 row affected (0.13 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+--------+ | Name | +--------+ | John | | Robert | | Mike | | Sam | +--------+ 4 rows in set (0.00 sec)
表の説明を確認しましょう-
mysql> desc DemoTable;
これにより、次の出力が生成されます-
+-------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+-------+ | Name | varchar(8) | YES | | NULL | | +-------+------------+------+-----+---------+-------+ 1 row in set (0.04 sec)
ここで、VARCHARサイズをVARCHAR(8)からVARCHAR(100)に拡張してみましょう-
mysql> alter table DemoTable change Name Name varchar(100); Query OK, 4 rows affected (1.96 sec) Records: 4 Duplicates: 0 Warnings: 0
テーブルの説明をもう一度確認しましょう-
mysql> desc DemoTable;
これにより、次の出力が生成されます-
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 1 row in set (0.01 sec)
varcharのサイズを拡張した後、その中のデータは影響を受けませんが、サイズを小さくすると問題が発生する可能性があります。
-
MySQLテーブルデータはWindowsのどこに保存されていますか?
MySQLテーブルデータの場所を知るために、以下の構文を使用できます- select @@datadir; これには、SHOWVARIABLESコマンドを使用することもできます。以下は構文です- show variables where Variable_name ='datadir'; 上記の構文を実装して、MySQLテーブルがデータを格納する場所を確認しましょう- mysql> select @@datadir; これにより、次の出力が生成されます- +---------------------------------------------+ | @@data
-
VARCHARデータをMySQLの日付形式に変換しますか?
VARCHARデータを日付形式に変換するには、STR_TO_DATE()-を使用できます。 mysql> create table DemoTable1989 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.91 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1989 values('31/01/2015'); Query OK, 1 row