MySQL
以前こんな記事を書きました。異なるリージョンからグローバルIPの無い、MySQLサーバに接続する方法ですね。これもっと簡単な方法があってVPC ピアリングを使えばいいのです(笑) 前回それをやらなかったのは、転送料金がかかるからです。ちなみに、データ…
よくテーブルデザインをする際、あれ?これって予約語じゃね?って時ありませんか? もっと細かくみたい場合、WEBで調べるとか・・・ちょっとめんどくさいですよね。 いままで全然、知らなかったのですが、MySQL 8.0以降では、予約語をこんなに簡単になりま…
今回は文字だけ(笑) 例えば、アプリケーションサーバが東京リージョンにあって、DBサーバがUSリージョンにある場合でDBサーバは、public ipをもっていない場合(まあ、大概そうですが・・)この東京リージョンにあるWEBサーバからシームレスにUSリージョン…
たとえば、こんなテーブルがあったとします。このテーブルってidがプライマリーキーです。 CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `seq_id` int(10) unsigned NOT NULL , `name` varchar(50) NOT NULL DEFAULT '', PRIMARY…
すごく大した話ではないのですが、複数のデータベースを保有している時、コマンド接続した際に、どこのDBサーバに接続しているかわかんなくなっちゃうことありませんか? 自分の場合、管理が良くないので、本番データベースに接続しているのか、テスト用のデ…
まあ、これだけなんですが(汗)個人的に頻繁に使うのでメモ。 まず、文字列を、REVERSEで反転させて、最初に登場するドット(.)の位置までRIGHT関数で切り出す感じにしてます。もっとシンプルな方法がありましたら、どなたかご教授を(笑) 文字列関数を利…
色々な書き方がありますが、私は以下のように書いてます。というほど書いてないので、必要な時にすっかり忘れるのが現実ですが。。 例えばこんなケースで書いてみます。 とあるテーブルの検索結果が0(ゼロ)件以外だったら、後続の処理を実行する
こんなの不可能だろと思いつつやってみたら以外と出来たというクエリーについて紹介します。 JOIN のON句にLIKEを使うというだけなのですが、これが以外と使える場面があります。今回、音楽のアーティスト名周りでこの難解なSQLをどのように活用するかを考え…
当記事、2012年に書いた記事になりますので、hyperdbがあるかないのかもわかりませんが、当方で活用する案件が発生しましたので、再アップしました。 思っていたより簡単にできた、そして結果からいいますと、思っていたよりパフォーマンスがよく無かった記…
MySQLおよび、MariaDBでの文字列結合関数といえばCONCAT(コンキャット)です。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.5 文字列関数 文字列結合にいちいちconcatなんていう関数を使うのはめんどくさい、且つわけがわからなくなるので、パイプ(||…
MySQLとヒアドキュメントをうまく使いこなされば、さくっとSQLをファイルを作ることができます。はじめは戸惑いますが慣れれば簡単です。数百回はやったかも(^^;) ヒアドキュメント(heredocument)自体は、MySQLとはまったく関係のない話、そもそもbash…
MySQL8.0の話ですので、以前のバージョンの話とはちょっと変わってしまうかもしれませんが、テーブルの作成で、ものすごくしょうもないことでハマってしまいました。 ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes まず、…
MySQL(MariaDB)には、レンジパーティションってものがありまして、うーなんでしょ?ある規則にしがったデータをおのおののデータファイルに振り分けてくれるストレージエンジン的なものです。 データ領域が分割されるため、大量のデータを処理することによる…
ソニー SONY ワイヤレスヘッドホン WH-CH510 : bluetooth / AAC対応 / 最大35時間連続再生 2019年モデル ブルー WH-CH510 L出版社/メーカー: ソニー(SONY)発売日: 2019/10/05メディア: エレクトロニクス 他のDBはよくしらないですが、MySQL系のSQLをSQL文中…
MariaDBでマルチソースレプリケーション 私的に待ちに待ったあの機能が追加されました。それは、マルチデータソースレプリケーション、mariadb10.0から実装されるという話は知っておりましたが、ようやく触る機会がきたので試してみようと思います。 余談で…
無事、システムもMySQL 8.0化が成功し、じゃあ今後、どう活用していこうと考えた時に、まずやったのが、WITH句なんですが、 hit.hateblo.jp 他にもいっぱい機能がアップされた部分があって、その中で、今回JSONで追加された関数を主に試してみました。 今回…
かなり前に、なければINSERT、あればUPDATEというの書きました。 hit.hateblo.jp しかしながら、現状で運用でもっとも活躍できるのは、IGNOREの方だと思います どのようなケースで活用できるついて、サンプルを含め説明します プライマリーキーを更新 以下の…
毎回忘れる、MYSQLの文字列->日付変換についてメモしました。例えば、rssのフィード内によくある、publishedとかとか。。これを日付/時刻型に変換するにはどうすればいいか?なんていうのを例につらずらと書いていきます。 <pubDate>Sun, 29 Jul 2018 21:00:00 +0900</pubDate>
あくまでも自分だけのメモですが、これだけは、いや、あくまでも私的な話ですが必須だろうと思うものしか書いてません。 今後他にも色々出てきそうですが、その時はその時で随時追記していくつもりです。 OSは、CENTOS 6x をベースに記載しましたが、まあ、U…
どうでも良い話ですが、設定した変数をLIKE検索で使う場合、%%ってどうすればいいの?というのがわからなかったのでメモしました。 少なくともこの書き方ではない模様 SET @ARTIST='Michael' ; SELECT artist_name FROM artist_master WHERE artist_name LIK…
mysqldumpする際にこんなエラーを食らったことはありませんか? 現在、 MySQL5.7のデータベースをMySQL 8.0に絶賛リストア中なのですが、mysqldumpが終わりそうなところでこのエラーがコンソールに出てきて疲弊してきました(汗) mysqldump: Error 1412: Ta…
例えば、User_Idというカラム名を含むテーブル名に何か変更をかけないといけないという運用が発生した場合、テーブル定義書に書かれているドキュメントを確認したりしますか?いやいや、とっても効率悪いので、information_schema.columnsを使いましょうよ!…
MySQLのチューニングで一番効果があるものは、パラメータのチューニングでもなく、はたまた、マシンのスペックでもなく、索引のチューニングです。私自身、サーバをスケールアウトしてみたり、パラメータをいじってみたりしてみましたが大した効果はないんで…
いままでなんで、きずかなかったのだろう。。 例えば、こんなテーブルがあったとして DROP TABLE IF EXISTS test_tab1 ; CREATE TABLE `test_tab1` ( `Id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `CreatedAt` datetime NOT NULL DEFAULT CURRENT_TIM…
ストアドプロシージャにて、トランザクションをかける場合、HANDLERの順番には注意しましょう!という話です。 Logicool ロジクール Bluetoothマウス M558出版社/メーカー: ロジクール発売日: 2013/11/21メディア: Personal Computersこの商品を含むブログ (…
私が知らなかっただけかもしれせんが、処理を途中で抜けることってストアドプロシージャって出来ないとばかり思っていたのですが、できるんですね汗 (adsbygoogle = window.adsbygoogle || []).push({}); 今まで、ストアドでこんなIF文のネスティングで書い…
たまーにしか使わないのに、その必要が急に出てきて、調べる時間が勿体無いので、ざっくりここにMySQLのDDLおよびSQLをメモしていきます。 マッスルジーニアス(Muscle Genius) チンニングバー 懸垂マシン ドア枠に引っ掛けるだけ 俺のドアジム? MG-DG02出版…
とあるテーブルの内容を元にして、SQLで、shellファイルをつくって実行しちゃおうってのを無理やりつくってみました。 テーブル定義 CREATE TABLE `files` ( `id` int(11) NOT NULL DEFAULT '0', `file_name` varchar(100) DEFAULT NULL ) ENGINE=InnoDB DEF…
特に連番がないテーブルに意図的に連番を振りたいってこと、日々の運用で結構あったりませんか?以外と簡単にSQLでそれを実現できます!!! サンプルデータについて 例えば以下のようなテーブルがあり、これを題材にやってみたいと思います mysql> DESC log…
やってみたら、かなり私には、高度すぎて死にかけました。 やりたいことは、 MySQLで同列の異なる行と行の引き算をSQLで書くとこうなるってことです。 やってみたいことを文書で表すと、ユーザーのログインは前回のアクセスからどれくらいの感覚でログインし…