Learn or Die

生涯勉強。Macです。

Database-MySQL

指定されたカラム名を持つテーブルを検索する

コード select table_name, column_name from information_schema.columns where column_name = '検索したいカラム名' and table_schema = '検索対象のデータベース名';

JOIN / LEFT JOIN / RIGHT JOINについて

JOIN JOINは「内部結合」。 一番使用機会が多い。INNNER JOINの別名。 共通のカラムを条件に、複数テーブルの結合を行うことができる。 結合できなかった行は返さない。 LEFT JOIN / RIGHT JOIN どちらも「外部結合」。 結合できなかった行があっても表示す…

IN演算子

IN演算子とは WHERE 句で条件を指定するときに、 IN 演算子を使用するとカラムの中に、IN演算子で指定した値が存在するかどうか調べることができる。 マッチした場合は条件式はTRUEになる。 SELECT col_name FROM table_name WHERE col_name IN (value1, val…

サブクエリを使用した更新でエラー

エラー update contract set contract_date = (select contract _date from contract where status = 8) where course_id > 1000; 上記のクエリを実行すると以下のエラーが発生。 You can't specify target table 'contract' for update in FROM clause 原因…

外部キー制約付きテーブルを作成する

外部キー制約を使⽤する場合の注意事項 親テーブルおよび⼦テーブルでは FOREIGN KEY 制約の対象となるカラムに対してインデックスが必要 ⼦テーブルの対象カラムと親テーブルの対象カラムは同じデータ型である必要がある サンプル -- 親テーブル作成 create…

MySQLでカラムの順番を変更する

カラムを追加して、かつ位置を指定したい 例) productテーブルのcountカラムの右隣にpriceカラムを追加したい場合 #ALTER TABLE テーブル名 ADD 追加するカラム名 データ型 データ定義 AFTER 移動後に左にくるカラム名; ALTER TABLE product ADD price INT N…

LaravelでMySQLの接続エラー

マイグレーションを実行するとエラーがでる MAMP環境です。 php artisan migrateを実行すると以下のエラーが出る Illuminate\Database\QueryException SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where tabl…