エンジニアのひよこ_level10

【毎日更新!】新卒3年目エンジニアブログです!

MySQL

【MySQLWorkbench】データにnullを入れたい【775日目】

null入れたい MySQL Workbenchでnullを入れたい。 文字を消して保存すれば良いように思えるけど、それは空文字になる。 じゃあどうするか 右クリック 右クリックすると、メニューが出てくる。 Set Field to NULL と書かれているのを選ぶとnullが入る

【SQL】インデックスあるのにクエリが遅いと言われて調査してみた話【742日目】

調査依頼が来ました 『このSQL、table_nameにindexもwhereも用意してるのに遅いからチェックしてー』って言われて、調査をしてみようと思いました。 select data.* from (select * from table_name left join ~~~~) as data where table_name.date ~~ あ、こ…

【MySQL】バックアップを取る。他のサーバーからも。【733日目】

バックアップを取りたい データベースのバックアップを取りたい。 あるいは、他所のDBのデータを別なDBに移したい。 mysqldump mysqldumpを使うと、データの状態を再現するsqlファイルを生成することが出来る mysqldump -u user_name -p > output_file_name …

【MySQLWorkbench】Macでのmysqldump Version Mismatch対応【732日目】

MySQLWorkbenchでmysqldumpしたい mysqldumpをしたい。 でもコマンドで打つのは怖い。 ってことでMySQLWorkbenchを使ったが、以下のエラー mysqldump Version Mismatch エラーメッセージ的には、ローカルと接続先のmysqlのバージョンが違うよとのこと。 では…

【SQL】SQLで特定の一文字だけ異なるレコードを探す【664日目】

類似記事 www.nyamucoro.com 一文字だけ任意の値にしたい SQLで、一文字だけ任意の文字にしたい。 数値で、2100や2200、2300とかを調べたい。 _を使う SELECT * FROM users WHERE id LIKE '2_00'; これで、 _の部分は任意の1文字という扱いになる。 結果、21…

【SQL】インデント等使いこなして、SQLを見やすくしてみよう!【514日目】

SQLって見にくいこと多いですよね よく、自分や他の人のSQL文を見直すのですが、まーーーーあ見にくい。 ってことで、見やすいSQL文ってどんなのだろう? 友人2人と一緒に私のSQL文をリファクタリングしてみました! 元コード SELECT DISTINCT rankings.*, C…

【個人サイト制作記1】GCPを使ったLaravel環境構築まで【416日目】

個人サイトを作ってみよう http://nyamucoro.com/nyamucoro.com ってことで、作ってます! その過程でなにをしたかを少しずつ書いておきます! こんな感じに作ったのかーとか、これじゃまずくね?みたいなご指摘とか。 ほっこり楽しんでもらえると嬉しいです…

【MySQL】最初に設定したいDB作成とユーザー作成【413日目】

こんなとき困るよね 最初にMySQLインスタンス作りました。 Laravelとかプロジェクトに合わせてDBスキーマ作成したい。 該当スキーマに対してだけアクセスできるユーザー作りたい。 ・・・コマンドなんだっけ。 ってことで備忘録的にまとめ。 コマンド create…

【GCP】CloudSQLで作ったインスタンスに、ローカルからアクセスしたい【412日目】

こんなとき Cloud SQLを使ってMySQLを作りました。 その上で、開発中等にMySQLWorkbenchなどのアプリケーションでアクセスしたい。 ドキュメント 基本的にはここを参照。 ローカルテストにプロキシを使用する場合のクイックスタート | Cloud SQL for MySQL |…

【GCP】CloudSQLでMySQLインスタンスを立てる【411日目】

GCPでMySQLを用意したい ということで、GCP上でMySQLを使えるようにしましょう。 やり方 メニューから、SQLの項目をクリック インスタンスの作成を選択 データベースエンジンの選択 (今回はMySQLを選択) インスタンスタイプの選択 (MySQL第2世代を選択。料金…

【MySQL】GROUPBYでまとめた後、countの重複を取り除く【298日目】

こんなときにつかう select 'count(id)' FROM 'users' GROUP BY 'group_id'; GROUP BYではgroup_idでまとめているが、idの方で重複がある場合。 この時、 idが[1,2,3,4,4,5]だった場合、 count(id)の値は6になる。 idの4が重複しているので、合計を5にしたい…

【mysql】dumpファイルをmysqlに反映させるコマンド【284日目】

dump取りました データ用意したよ!バックアップから、mysqlを更新だ! えっと、コマンドなんだっけ こんな感じ mysql -u user_name -h host_name -p db_name < table_data.dump 各コマンド解説 -u user_name -p ユーザーネームとパスワード指定 -h host_nam…

【MySQL】出力結果を見やすく!結果を縦に表示する【224日目】

こんなとき使う カラム数が多いテーブルを取得するとき。 mysql> select * from users where id = 1; +----+-----------+----------------+-----------+---------------+-------------+---------------+------------------+--------------------------------…

SQLで特定の文字を含むレコードを探す【200日目】

SQLで、特定の文字を探したい messageカラムに、 ringoが含まれている文字列を探したい。 aoringoとか、akaringoとかがあるレコードを探したい。 こう書く LIKEと%を使おう SELECT * FROM users WHERE message LIKE '%ringo%'; これで、usersテーブルの、mes…

【Docker】phpでPDOにmysqlを使うと、could not find driverと出る【186日目】

Dockerfile FROM php:7.1-fpm phpファイル $dbh = new PDO('mysql:host=mysqlaaa;dbname=dbname', 'username', 'password); エラー could not find driver 対処法 RUN docker-php-ext-install pdo_mysqlの一文をDockerfileに付け足す FROM php:7.1-fpm RUN d…

Laravel+MySQLでtinyintの扱い【157日目】

desc table_nameでなにこれとなる なぜ1だったり、4だったり指定されているのかと思って調べてみた。備忘録。 tinyintとは 1byteの数値。 符号なしなら、0から255、符号ありなら、-128から127まで。 tinyint(1)は mysqlの時だけ、0or1を指します。つまり、bo…

OrderByでnullをascの最後尾に置く書き方【62日目】

Mysqlでnullをorderbyしてみた id|number| 1 | 1| 2 | 2| 3 |null| 4 | 4| 5 | 5| これのnumberを昇順(asc)でorderbyしたらどうなるか。 id|number| 3 |null| 1 | 1| 2 | 2| 4 | 4| 5 | 5| ナンデダヨ。 どうして? MySQL :: MySQL 5.6 リファレンスマニュア…

データベースでDELETEする時の一工夫【32日目】

sqlでDELETEの前にSELECTしよう DELETE from table WHERE id = 2; をいきなりすると、予定外のフィールドを消してしまう場合があります。 なので SELECT * from table WHERE id = 2; で消すフィールドを確認。 正しければ、SELECT *をDELETEに変えれば DELET…