カテゴリー: SQL

SQL, PHP

Laravel クエリビルダー 複数JOINとWHERE条件 query builder

  クエリビルダはあまり使わないのだけど、レコードの有無を取得する場合や集計処理なんかでは使うことがある🐱   生クエリがこうだとする   select * from `employee_emails` left join `employee_skills` on `employee_skills`.`employee_email_id` = `employee_em …

SQL, SEノウハウ

すべらないSQLによる本番マイグレーション

    仕様変更によってremarksにあるデータをlogin_infoに移す本番マイグレーションがありました。 事業部に伝わる秘技 ポイント 作業前バックアップ →ヤバくなったら戻せる 立会いによるレビュー トランザクションとカウントを駆使したマイグレーション マイグレーションを本番サーバ内のトランザクションを利用することで、 更新対象を常に確認しながら実行することで精度を確 …

SQL

GROUP BYとHAVING COUNT(*) > 1で重複を探す

  GROUP BY id, name HAVING COUNT(*) > 1; 重複しない検索結果を検証する方法     具体例        爆速レンタルサーバならConoHa WING  サーバはプロに全部お任せ!「仕事」に専念したいあなたにおすすめです。    ConoHa VPSで運営してま🐱  サーバの勉強がしたいあなたにおすすめ!現役エンジニアの管 …

MySQL, トラブルシューティング

MySQLデッドロック ロックしているスレッドを殺す

(none)> SELECT * FROM sys.innodb_lock_waits\G ***************************[ 1. row ]*************************** wait_started | 2020-05-25 06:26:01 wait_age | 0:00:13 wait_age_secs | 13 locked_table …

RDB, SQL

EXISTSとINの使い分け【SQL】

  EXISTSとINは場合によって使い分ける。 間違うと遅くなる…🐱 結論として 従属表の選択性が高い場合 → 従属表から先に絞り込むIN 従属表の選択性が低い場合 → 主表から先に絞り込むEXISTS 両方の選択性が低い場合 → EXISTS 本の検索による例   世界の本のデータベース bookを主表、book_categoryを従属表とする 主表 bookテ …

MySQL, SQL

SQL グループの中で最新の日付のデータを取得する MySQL

●tb_user_section user_id section_id created 1 1 2020-05-11 20:00:00 1 2 2020-05-12 20:00:00 1 3 2020-05-13 20:00:00 2 1 2020-05-15 20:00:00 3 2 2020-05-18 20:00:00 3 4 2020-05-19 20:00:00 user_idのグループ …

SQL

Laravel クエリスコープを使おう!🐱 Query Scope

ORM?流行りものでしょ SQLで良くね?😨 → クエリスコープで保守しやすくなるぞ🐱 ●抽象的に内容がわかるから保守性アップ ●条件分岐と組みあわせてクエリの組み立ての柔軟性 ●コードが短く目と頭にやさしい#駆け出しエンジニア #プログラミング初心者 https://t.co/5sbnGp5iYW — 優さん🌷わくわく開発YouTuber (@yuu13n6) May 16, 2020 まずはS …

MySQL, SQL, PHP

Laravel SQLを実行 ヒアドキュメント クロス集計

手の込んだ集計などはSQLで取った方がシンプルになることも多い ヒアドキュメントを利用して記述するのが良いですね🐱 <?php namespace App\Services; use App\Services\Service; use Illuminate\Support\Facades\DB; class GetsectionParentGoalService extends Servic …

SQL

WordPressドメイン, HTTPSからHTTPに変更するSQL

  WordPressも春めいてきましたね!😊 暖かさにうきうきしてドメインを変えてみたくなったり ALBを利用したくなって HTTPSから薄手のHTTPに衣替えする季節になってきました そんな春の訪れを感じるクエリ🐱🌸https://t.co/DYEWSw0Ufx#WordPress#progate#駆け出しエンジニアと繋がりたい — 優さん🌷わくわく開発YouTuber (@yuu1 …

SQL

Laravel Exists SQL孫テーブルのレコードがあるかチェック

  sections.id = 4 && companys.master_id = 1のレコードが存在するのかチェックする例を示します。 SQL select exists( select * from `sections` inner join `contents` on `contents`.`id` = `sections`.`content_id` inner j …

SQL

SQL 同じテーブルのレコードの列に別の列の値で更新する

  全件のカラム2の値をカラム1に代入して更新する例 UPDATE テーブル名 SET テーブル名.カラム1 = テーブル名.カラム2     具体例 実際使う時は、条件を指定することが多い。 UPDATE administrators SET administrators.login_info = administrators.remarks WHERE admin …