どうもてんし君です。
今回はタイトルどおり「いまさらながらMySQLのカラム操作をする」ということについてまとめていきます。
エンジニアになって最初入った現場はJavaScriptでひたすらDOM操作みたいな感じだったのでDBをそれほど触る機会がなかったんですよね。(今考えるとすげー現場だったな逆に)
ところがどっこい今の現場はフルスタックに求められます。
jsはもちろんサーバーサイド(PHP)、データベース設計まで(このあとにはAWSも待ってる)
そんな中ヒーコラ言いながら毎日勉強してはコードを書いてってのを繰り返してるんですけど、sql文を書くときにちょいちょい「あれ、、こんなふうじゃなかったけか?」となるときがあります。
うろ覚えで書いてみて動かなくては調べてみたいなのを繰り返してるんですよね。
そんなのじゃ強強エンジニアじゃない!かっこわるい!スラスラ書いてやりたい!と強く思ったので基本的な操作を自分に染み込ませるという意味もかねてまとめていきます。
【この記事でわかること】
MySQLのカラム操作の基本
【環境】
MySQL Community Server - GPL Version:8.0.19
(MySQLWorkBenchっていうの使ってます。まだMySQLの導入が済んでいない方はまずはこちらで環境設定してください。そのあとにコチラからMySQLWorkBenchをダウンロード、インストールすればOKです。)
【この記事を読んでほしい人】
MySQLをいちいち調べずにスラスラっと書いてドヤ顔(小並)したい方
前準備
テーブルのカラムを操作していく前にDB作ったりテーブル作ったり前準備もします。
【この章でわかること】
MySQLのテーブル操作を学ぶための前準備
データベース作成
いやカラムじゃないんかーいって言葉はおいておいて、データベース作成からいきます。
こんな感じ。今回は「tenshikun」をつくる。
大文字でも小文字でもどっちでも大丈夫です。
CREATE SCHEMA `tenshikun';
はいできた。
DB選択
これでtenshikunを使うぞ!って宣言できます。
オレはここで戦うぞ!っていう場所の宣言ですな。
USE tenshikun;
テーブル作成
これだと1つは列を作ってねと怒られます。
13:25:32 create table ten Error Code: 1113. A table must have at least 1 column 0.010 sec
CREATE TABLE ten;
以下でOK。今回はよく使うidを数字、自動採番、主キーにするという指示を出しつつ作る
CREATE TABLE ten (id INT AUTO_INCREMENT NOT NULL PRIMARY KEY);
ちなみに「int」が数字。「auto_increment」が自動採番。「not null」が空禁止。「primarykey」が主キー。
テーブル選択
スキーマを選択してテーブル表示。
SELECT * FROM tenshikun.ten;
いい感じ!
カラム操作【基本編】
さて前準備もできたということでいよいよカラム操作です。
この章ではカラム操作の基本を解説していきます。
【この章でわかること】
基本的なカラム操作の方法
カラム追加
以下でOK。ここから小文字になる。
alter table tenshikun.ten add column name varchar(10);
実行後のテーブルは以下のようになる
カラム追加の基本は次の文法
ALTER TABLE スキーマ名.テーブル名 ADD 追加するカラム名 型など指定;
カラム更新
以下でOK。
alter table tenshikun.ten rename column name to age;
実行後のテーブルは以下のようになる
カラム更新の基本は次の文法
ALTER TABLE スキーマ名.テーブル名 RENAME 今のカラム名 TO 変更後のカラム名;
カラム削除
以下でOK。
alter table tenshikun.ten drop age;
カラム削除の基本は次の文法
ALTER TABLE スキーマ名.テーブル名 DROP 削除するカラム名;
カラム操作【実用編】
さてここまではMySQLの基本的な操作方法について解説してきました。
ここからは実務でよく使われるような感じの操作をまとめます。
【この章でわかること】
よく使うカラム操作
特定のカラムのあとに追加
特定のカラムのあとに追加したいときはafterをつければOK。
alter table tenshikun.ten add column name varchar(10) after id;
これでidのあとに入る
カラムの定義を変更したいとき
ALTER TABLE tenshikun.ten MODIFY name int;
カラムの名前と定義を変更したいとき
ALTER TABLE tenshikun.ten CHANGE name skill varchar(11);
データベース設計までしっかり学ぼう
今回は基本的なカラム操作についてまとめました。
ぶっちゃけエンジニアなら今回の内容ぐらいはいちいち調べずに書けるようにはしておきましょう。
今回アウトプットがてらに書いたのですがなんか身についた感じがするので非常によかったです。
経験が浅いうちからマルチタスクに追われるといろんな知識がついていく一方で基本が固まりきらないなんてこともあると思います。
そんなときは休日に基礎から学びましょう。
今参画しているプロジェクトのデータベース設計をしっかり把握して設計のところから学べると単純に操作できるだけのレベルからあがると思います。
(まぁこれは半分自分に向けて言ってる)
勉強がんばりましょう。
\コチラの記事もよく読まれています/