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

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のサイズを拡張した後、その中のデータは影響を受けませんが、サイズを小さくすると問題が発生する可能性があります。


  1. MySQLテーブルデータはWindowsのどこに保存されていますか?

    MySQLテーブルデータの場所を知るために、以下の構文を使用できます- select @@datadir; これには、SHOWVARIABLESコマンドを使用することもできます。以下は構文です- show variables where Variable_name ='datadir'; 上記の構文を実装して、MySQLテーブルがデータを格納する場所を確認しましょう- mysql> select @@datadir; これにより、次の出力が生成されます- +---------------------------------------------+ | @@data

  2. 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