MYSQLへの接続
mysqlにユーザー名rootで接続する
"ユーザー名:root" = "-u root"にあたる
$ mysql -u root
データベースの確認
現在どのようなデータベースが存在するかを確認する。
show database;
SQL文を実行すると以下のように、今まで作ってきたデータベースが一覧で表示される。
データベースの作成
今まではrake db:createコマンドを実行することでRailsがデータベースを作成していたが、ここではターミナルから直接データベースを作成する。
create database データベース名;
以下のように表示がされれば正常にデータベースが作成されている。
データベースの選択
use データベース名;
以下のように表示がされていれば正常にデータベースの選択が出来ている。
テーブル構造の操作
選択したデータベースに存在するテーブルを一覧で表示するSQL文
show tables;
テーブルの作成
テーブルに作成するカラムの名前とそのカラムの型を指定することが出来る。
create table テーブル名 (カラム名 カラム名の型, ...);
Railsでテーブルを作る際は、rails g model モデル名でそのテーブルに紐づくモデルを作成し、そのときに作られたマイグレーションファイルをrake db:migrateで実行していた。そのrake db:migrateが実行される裏側では、このCREATE TABLEというSQL文が動いていたということ。
テーブルの確認
以下のように"Tables_in_sqltest"に"goods"というテーブルが確認できれば、テーブルが正しく作成されたということ。
show tables
テーブル構造の確認
テーブル構造を確認するためには以下のようなSQL文を記述する。
show columns from テーブル名
カラムの追加
カラムの追加・修正・削除はすべてテーブル構造の変更。
そのためSQL文は共通して、ALTER命令を用いたALTER TABLE文を使用する。
実行時は以下のような文法で使用。
alter table テーブル名 操作
⬇︎
alter table テーブル名 add カラム名 カラムの型;
alter table テーブル名 add (カラム名 カラムの型, ...);
カラムを修正
カラムの修正は先ほど同様ALTER TABLE文を使用し、以下のような文法でSQL文を記述。
alter table テーブル名 change 古いカラム名 新しいカラム名 新しいカラムの型;
カラムの削除
カラムの削除にもALTER TABLE文を使用し、以下のようにSQL文を記述。
alter table テーブル名 drop カラム名;