SQL勉強メモ[0]

今日からデータベースのお勉強

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で付加される「`」(バッククォート)は基本的にはいらない
    • 予約語をテーブル名や列名に使いたいときはバッククォートで囲う。でもそういう名前を使うべきでない。

テーブル、レコード、カラムの用語がどこを指しているのかわからんくなる…