今日からデータベースのお勉強
MAMPのMySQLをターミナルから操作
cd Applications/MAMP/Library/bin/
mysql -u root -p
- Macの場合パスワードは
root
パスを通す
~/.bash_pofile
に以下を追記export PATH=$PATH:/Applications/MAMP/Library/bin
source .bash_profile
で適用- これでどっからでも
mysql -u root -p
でmysqlに入れる
SQL文
- テーブルの作成
CREATE TABLE テーブル名(カラム名 データ型, カラム名 データ型...);
- データの挿入
INSERT INTO テーブル名 SET カラム名=値, カラム名=値...;
INSERT INTO テーブル名 (カラム名,カラム名) VALUES (値,値);
- データの変更
UPDATE テーブル名 SET カラム名=値 WHERE 条件文;
- データの削除
DELETE FROM テーブル名 WHERE 条件文;
- データの検索
SELECT カラム名, カラム名 FROM テーブル名 WHERE 条件分;
プライマリーキー(主キー)
- 一意のレコードを特定するために使う
- phpMyAdminでは、構造タブ>右端の「▼その他」にある主(鍵アイコン)をクリックして設定
- プライマリーキーは同じ値を設定できない
- プライマリーキーは値が必要(NULLにできない)
オートインクリメント
- 設定したカラムは自動的に値が++される
- 構造タブ > ✎変更 > 右端のAI(AUTO_INCREMENT)
- プライマリーキーに設定しておくとべんり
##カラムの追加
– 構造タブ > テーブル構造の表の下にある設定から追加
– SQL文だとこう ALTER TABLE テーブル名 ADD 追加したいカラム名 TEXT NOT NULL AFTER 追加する前の位置のカラム名;
その他
- 照合順序は utf8mb4_general_ci を使う
- phpMyAdminのSQLで付加される「`」(バッククォート)は基本的にはいらない
- 予約語をテーブル名や列名に使いたいときはバッククォートで囲う。でもそういう名前を使うべきでない。
テーブル、レコード、カラムの用語がどこを指しているのかわからんくなる…