Database JUNKY

MySQL,MariaDBを中心としたブログです

SQL

SQLだけで、メールアドレスの@以前の文字を置き換える

SQLって奥が深いです。SQLだけで、ほぼデータの加工が行えます。 今回はメールアドレスをマスキングかけるというのを試してみたいと思います Lenovo タブレット 2in1 パソコン Miix 3 80HV0055JP/Microsoft Office Home & Business 2013搭載/2GB/64GB/Window…

MariaDB/NoSQL Dynamic Columns の活用

以前、ここに hit.hateblo.jp 掲載して、結構満足していたのですが、今更になって、MariaDBにその機能が実装されていたという、なんともお恥ずかしい話しになります MariaDBにDynamic Columnsというものがありまして、これがまさしくRDBMSとNoSQLのハイブリ…

MySQLをKVSのように使う

RDBは、使いやすい!速い!なのですが、カラムの拡張には、どの製品であろうと弱い。。24時間365日稼働しているサービスでカラム追加なんてなんてしようものなら、もうとんでもなくめんどくさいことになる。。 というわけで、カラム拡張が容易なテーブル構成…

MySQL 登録されている索引の一覧を出力する

MySQLにて、登録されている索引を確認する方法としては mysql > show index from TABLE_NAME; で確認できます。しかしこれですと全てのスキーマ内に存在する全ての索引を確認することができません では、索引が設定されているかいないかわからないテーブルの…

SQLで文字の一部分を置き換えて表示する方法

あくまでも例ですが・・ よくテストデータを作成する時に、 ドメインは残しておきたい でも@より前のアカウントはマスキングしたい なんていうリクエスト結構ないですかね?昔、ガラケーなのではあったのですが、今そんなにそんなリクエストないのかな? な…

SQLでトリガーのみのmysqldumpコマンドを生成する

日々運用を続けている中でたまーーーにでてくる、定義のみのバックアップ、ストアドプロシージャのみバックアップする、トリガーのみをバックアップなど、そのイベントが発生するたびに、googleで調べるのが面倒なため、前回同様、ほぼ自分用にメモ状態にな…

MySQL 各クライアントの接続数を簡単に集計する

MySQLのプロセス状況を確認するには、show processlist コマンドで確認することはできるのですが、じゃあ、各接続クライアント毎のサマリを出したい場合はどうすんの?と言ったときに役立つシェルを作ってみました。

DB2 でIDENTITY列(オートインクリメント列)を含むテーブルをSQLで抽出する方法

DB2のデータのEXPORT AND LOAD時、カラムにIDENTITY列(オートインクリメント)が存在する場合、ロードはエラーになってしまいます。その場合、LOADのオプションで、identityoverrideを指定することで、IDENTITY列を上書きロードしてくれるのですが、対象の…

MySQL: 文字列の結合に||(パイプ)を利用できるようにする方法

MySQLで文字列結合を利用する場合、concat関数しか使えないと思っておりましたが、他者DBMSのように、パイプ(||)で表現することが可能なことを発見してしまいました。 知らなかった・・。

プログラミングテストの問題をMySQL ストアドプロシージャで解答する

最近更新していないのすこし休憩・・以下に記載している問題を、SQLなんかでやったら評価的には、おそらく「プログラミング能力不適合者」に認定されること必至なのでマネしないように・・・この問題・・前職での問題なのですが、利用する言語はなんでもよく…

PostgreSQL 位置参照データベースを作ってみる(GISデータ)

そもそも地図はよくわからないので、もう地図のことは書くまいと心に決めていたのですが、意外と見ていただいている方は多いので、やっぱり地図データベースのことを書きます。前回は、MySQLをベースに書きましたが、今回は、PostgreSQLで、PostGISを利用し…

MySQL すごーーーく便利! group_concat関数を利用した文字列グルーピング結合!

いきなりですが、こんな構成のテーブル群があったりします。左記の図では、ユーザー情報を管理する、ユーザーテーブル、およびそのユーザーが持っているスキル を格納しているスキルテーブル、ユーザーとスキルテーブルは、1対多で紐づいています。みたいな…

MySQL: 知ってた?検索時の大文字、小文字の扱いについて

MySQLでの大文字小文字の値の区別の話って・・・意識しなかったのだけどデフォルトの設定だと区別しない仕様なんですね・・。 ここでいう大文字、小文字の区別とは、任意のテーブルに設定するカラムのCHAR,VARCHAR,TEXT属性のことです。既にMySQLのDBエンジ…

MySQL SQLで遊ぶ

SQLを最近忘れてきている・・・よく使うかどうがわかりませんが、集計系でちょこちょこ、「あれ?どうするんだっけ?」と毎回毎回調べるのも面倒になってきたのでメモがてら掲載することにしました。MySQLを例に書いておりますが、別のほかのDBでもいけるか…

MySQL データを横に倒して表示させるSQL

どうタイトルをつければよいのやら悩んだ。。けど以下のようなデータを、横に並べて一覧、結果を返すことをするには、SQLでこう書くのだよっていうサンプルです。IBM DB2を利用しているときも悩みましたが、MySQLはもっと悩みました。

mongodbのインストール

インストールは書くまでもなく簡単です。また簡単なのはインストールのみならず、シャーディングやレプリケーションもコマンド一発でいけるところ、MySQLも簡単なのですが、それを上回る簡単さです。今回はそんな、mongdbのインストール方法について記載しま…