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

MySQL列をvarchar(30)からvarchar(100)に変更するにはどうすればよいですか?


MODIFY

と一緒にALTERTABLEコマンドを使用する必要があります

構文は次のとおりです

ALTER TABLE yourTableName MODIFY COLUMN yourColumnName varchar(100) NOT NULL;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです

mysql> create table syntaxOfAlterCommandDemo
   -> (
   -> UserId int,
   -> UserName varchar(30),
   -> UserAge int,
   -> UserCityName varchar(50)
   -> );
Query OK, 0 rows affected (0.51 sec)

テーブルの説明を確認しましょう。

クエリは次のとおりです

mysql> desc syntaxOfAlterCommandDemo;

以下は出力です

+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| UserId       | int(11)     | YES  |     | NULL    |       |
| UserName     | varchar(30) | YES  |     | NULL    |       |
| UserAge      | int(11)     | YES  |     | NULL    |       |
| UserCityName | varchar(50) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.04 sec)

次に、UserName列をvarchar(30)からvarchar(100)に変更しましょう。現在、UserName列をvarchar(30)に設定していることを思い出してください。列を変更するためのクエリは次のとおりです

mysql> alter table syntaxOfAlterCommandDemo modify column UserName varchar(100) NOT NULL;
Query OK, 0 rows affected (1.36 sec)
Records: 0 Duplicates: 0 Warnings: 0

テーブルの説明をもう一度確認しましょう。

クエリは次のとおりです

mysql> desc syntaxOfAlterCommandDemo;

以下は出力です

+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| UserId       | int(11)      | YES  |     | NULL    |       |
| UserName     | varchar(100) | NO   |     | NULL    |       |
| UserAge      | int(11)      | YES  |     | NULL    |       |
| UserCityName | varchar(50)  | YES  |     | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

上記の出力例を見ると、UserName列はvarchar(100)になっています。


  1. MySQLで列名として「from」を作成するにはどうすればよいですか?

    「from」は予約語であるため、バッククォート記号を使用して列名と見なします。ここで、予約語をバックティックで囲んだテーブルを作成します- mysql> create table DemoTable1810      (      `from` varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1810 v

  2. MySQLのVARCHAR列から最大値を見つける

    最大値を見つけるには、値がVARCHARタイプであるため、CAST()とともにMAX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2030    -> (    -> Value varchar(20)    -> ); Query OK, 0 rows affected (0.44 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2030 values(&