データベース構造の操作における 注意点について
alter table, drop table, drop database等
・操作は基本的には取り消せない
・特に実務において本番環境を操作するときはサービスをメンテナンスモードにしてバックアップを取ってからalter tableなどを実行するのが安全
・想定外に時間がかかりシステムトラブルになる場合があるので注意!
・テスト環境でalter tableなどのテストをして問題点を洗い出してから
本番環境で実行するのがオススメ
例:データベースの作成book_storeという名前のデータベースを作成する。
create database book_store;
データベースを確認する
show databases;
データベースオブジェクトの命名ルールについて
ルールに従わないとエラーになる
最初はアルファベットでアンダースコアや数字はダメ
半角のアルファベットで始める
mydb3などつけた人しかわからないマジックナンバーは避けよう
例2:booksという名前のテーブルを作成したい!
use book_store; create table books (id int not null auto_increment primary key, title varchar(255) not null);
テーブル
show tables;
show columns from books;
(id int not null auto_increment primary key, title varchar(255) not null);
↑の意味について
idの作成についてintでデータ型を整数型に設定
not null でnullを許可しないという意味
auto incrementでidを自動的にふる指定
primary key主キーの設定idを主キーにするという設定
タイトルについて
varchar(255)は最大255文字の可変長文字列型を指定
not nullはnullを許可しない
という意味
テーブル構造の変更
例3:書籍を管理するbooksテーブルに価格を管理する列を追加したい!(列名は price データ型は int として追加)
alter table books add price int after id;
例4:列名priceをunit_priceに変更したい
構文:alter table テーブル名 change 旧列名 新列名 データ型
alter table books change price unit_price int; show columns from books;
例5:booksテーブルから列unit_priceを削除
構文:alter table テーブル名 drop 列名;
alter table books drop unit_price; show columns from books;
例6:booksテーブルを削除
構文:drop table 削除したいテーブル名
drop table books;
削除したテーブルは 基本的には簡単に復旧できないので注意!
データベースの削除
例7:book_store を削除する(drop database)
drop database book_store;
削除したデータベースは基本的には簡単に復旧できないので注意!