MySQLの既存テーブルへの更新処理の時のコマンドをメモ
MySQLのデータベースに対して、
テーブルを追加して、
データ更新処理を行うことがよくある。
こんな中で、
Laravelでのデータ移行を行うなど、
同じテーブル定義で処理を行うことは、
Laravelで別のデータベースから同じテーブルカラムのテーブルにデータを移行した件
などを行った例など、
実際によく行うことがあります。
そんな中で、
「既存テーブル」
に対して、
- 既存テーブルに対して新しいカラムを追加
- 既存テーブルのインクリメントを初期化
などについては、
時々、実施することがあり、
この時の実行コマンドを忘れるので、
その時の対応内容などをメモ。
使用したMySQLのバージョン確認
mysqlのコマンドラインで確認
mysql -V
実行結果
$ mysql -V
mysql Ver 8.0.31-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
MySQLで既存テーブルにカラムを追加
既存のテーブルに対して、
新しいカラムを追加するのは、
そのテーブルデータ自体をそのまま残しながら、
新しいカラムを追加してそこに別項目の値を入れることができるので、
使うパターンが個人的に少しだけある。
その際、
ALTER TABLE テーブル名 add column カラム名 カラム定義 after 指定カラム;
という形で、
指定のテーブルに対して、
自分が追加したいカラム定義を追加することができる。
実際の例としては、
ALTER TABLE sample_tbl add column test_new_col varchar(255) after test_exist_col;
という形で使う。
上記の例だと、
- テーブル名:sample_tbl
- 追加カラム名:test_new_col
- 追加カラム定義:varchar(255)
で追加することができる。
ちなみに、
最後の「after」以降は、
その特定カラムの後に追加されるので、
テーブル内のカラムの順番を指定する際に使う。
MySQLで既存テーブルのインクリメント番号を更新
テーブル定義で、
IDなどをインクリメントしている場合、
自動的に連番が振られていくが、
- 振られた連番の番号を初期化したい
- 振られた連番の番号が、途中データ削除で開いたので、変えたい
などの時に、
コマンドで調整できる。
その際のコマンドはシンプルで、
ALTER TABLE テーブル名 AUTO_INCREMENT = 更新したい番号
となるので、
こちらも実際の例としては、
ALTER TABLE sample_tbl AUTO_INCREMENT = 1
などのようにすることで、
「sample_tbl」というテーブルの自動連番の番号を、
「1」という値に初期化することができる。
上記は「1」で設定したが、
他の「60」や「128」などの任意の番号にも更新できるので、
その時のテーブルデータの状況など見ながら、
自分が指定したい連番の番号に指定すると良い。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。