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

MySqlで一度に複数の列のテーブル列のデータ型を変更するにはどうすればよいですか?


ALTER tableコマンドで複数の列を追加するには、MODIFYcolumnコマンドを使用できます。構文は次のとおりです-

alter table yourTableName
modify column yourColumnName1 dataType,
modify column yourColumnName2 dataType,
.
.
.
modify column yourColumnNameN dataType

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

mysql> create table AddColumn
   −> (
   −> StudentID int,
   −> StudentName varchar(200)
   −> );
Query OK, 0 rows affected (0.49 sec)

上記のテーブル「AddColumn」には2つの列があります。ここでは、複数の列のデータ型を変更する方法を説明します-

mysql> alter table AddColumn
   −> modify column StudentName varchar(300),
   −> modify column StudentId varchar(50);
Query OK, 0 rows affected (1.95 sec)
Records: 0 Duplicates: 0 Warnings: 0
>

変更した列がテーブルに正常に追加されたかどうかを確認します。クエリは次のとおりです-

mysql> desc AddColumn;

以下は出力です-

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| StudentId   | varchar(50)  | YES  |     | NULL    |       |
| StudentName | varchar(300) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

次に、サンプル出力を見てください。両方の列が変更されています。


  1. MySQLテーブルで作成された時間を保存する方法は?

    DEFAULTCURRENT_TIMESTAMPを使用できます。挿入時にのみ機能することに注意してください。まずテーブルを作成しましょう- mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Arrivaltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP    ); Query OK, 0 rows affected (0.31 sec) 挿入コマンド-を使用

  2. MySQLのvarchar列から特定の値よりも大きい値を取得するにはどうすればよいですか?

    特定の値よりも大きい値を取得する列はVARCHARであるため、CAST()関数を使用します。たとえば、varchar値を持つ列から999を超える値をフェッチするには。 まずテーブルを作成しましょう- mysql> create table DemoTable (    Value varchar(100) ); Query OK, 0 rows affected (1.02 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('900'); Qu