タグ

sqlに関するtarboのブックマーク (27)

  • trdsqlというコマンドラインツールを作った - Qiita

    trdsqlというコマンドラインツールを作りました。 Goで作ってます。 githubの trdsqlからダウンロード出来ます。 またLinux/Windows/macOSのバイナリもあります。 以下は、古くなっている内容もいくつかあります。 最新版に対応した、より詳細な内容は trdsql 目次 | Noboru Saito's page を参照して下さい。 これは何? 簡単に言えばCSV(TSV含む)やLTSVに対してSQLを実行できるツールです。 同様のツールが q や textql 等いくつかあります。 trdsqlはPostgreSQLドライバとMySQLドライバを含んでいて実際にDBに接続することでSQLite以上の機能を使用できるようにしています。 PostgreSQLMySQLの構文が使えるだけではなく、CSVファイルと実テーブルでJOINしたり、CSVファイルからテーブ

    trdsqlというコマンドラインツールを作った - Qiita
  • SQLアンチパターン 幻の第26章「とりあえず削除フラグ」

    SQLアンチパターン 26章「とりあえず削除フラグ」 2015/08/31 @ GMO Yours #ronsakucasual https://atnd.org/events/68902Read less

    SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
  • 新著が出ます:『SQL実践入門』 - ミックのブログ

    4月中旬ころになりますが、新著が出ます。SQLのパフォーマンスを主題にしたで、実行計画を読むことで、なぜこのSQLは遅いのか、あるいは速いのかをデータベースの内部動作まで把握して理解しよう、という趣旨です。 リレーショナルデータベースというのは、SQLという自然言語を模したインタフェースによって、低次のレイヤーを隠蔽する意図で作られたミドルウェアなので、当は実行計画などという手続レベルの世界をユーザが覗き見るのは、末転倒なところもあります。ただそうはいっても、現実にSQLが遅かったら原因を解析せざるをえないわけだし、大体当にブラックボックスにしたいなら、なんでどのDBMSも実行計画を見られる手段なんか用意してるんでしょうね不思議ですね、という理想と現実の狭間で悩むエンジニアの方々に少しでもベターな解に辿りつけるアプローチを提示できれば、と考えております。 以下まえがきと章立てです。

    新著が出ます:『SQL実践入門』 - ミックのブログ
    tarbo
    tarbo 2015/03/29
  • xRef - Database

    $ sqlplus $ sqlplus myuser@myhost $ sqlplus myuser/xxxxx@myhost $ sqlplus myuser/xxxxx@myhost/xe

  • 開発者のためのSQLパフォーマンスの全て

    前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検

    開発者のためのSQLパフォーマンスの全て
    tarbo
    tarbo 2014/10/19
  • SQL識別子は結局どうすればよいか

    今まで2回にわたって、SQL識別子のエスケープの問題を取り上げました。 間違いだらけのSQL識別子エスケープ SQL識別子エスケープのバグの事例 3回目となる稿では、SQL識別子の取り扱いに関する問題を整理して、一般的な原則を導きたいと思います。 SQL文が動的に変化する場合のSQLインジェクション対策 「間違いだらけの…」で示したように、識別子エスケープが必要な局面でそれが洩れていると脆弱性の要因になることがありますが、それは外部から指定したデータにより、SQL文の構造が変化してしまい、アプリケーションの要件にないSQL呼び出しがなされてしまうからでした。 しかし、「間違いだらけ…」の後半で示したように、識別子のエスケープだけではセキュリティ問題を防ぐことはできず、情報漏洩を招いてしまいました。外部から任意のSQL識別子を指定できることが問題という結論でした。 上記のように、アプリケー

  • joinコマンドが便利過ぎて生きるのが辛い - Y's note

    Linuxシステムプログラミング 作者: Robert Love,ロバートラブ,千住治郎出版社/メーカー: オライリージャパン発売日: 2008/04/16メディア: 大型購入: 5人 クリック: 181回この商品を含むブログ (29件) を見る 結合 Unix/Linuxの標準コマンドで2つのファイルの共通keyで連結することができます。共通keyでの結合にはjoinコマンドを利用します。joinによりSQLのinner joinに近いことがコマンドだけで出来てしまいます。今までテキスト処理をコマンドで行う事が少なかったのでjoinの活用方法を知りませんでしたが、今回調べた内容を記録します。似たコマンドとしてpasteというものもあり、こちらは同じ行数の内容を単純に結合します。そちらについても簡単に紹介します。 join join前にsort joinコマンドを利用する場合は2つのファ

    joinコマンドが便利過ぎて生きるのが辛い - Y's note
  • SQL vs NoSQL、グーグルにおける戦い(前編)。Google I/O 2012

    SQLとNoSQLではどちらが優れているのか? グーグルの担当者がディベート(というより小芝居:-)を行ったセッション「Google I/O 2012 - SQL vs NoSQL: Battle of the Backends - YouTube」が公開されています。 このセッションは、先々週開催されたGoogle I/O 2012で行われたもの。SQLとNoSQLには機能的にどのような違いがあり、どう使い分けるべきなのか、明確な説明が参考になります。 ハイライトを紹介しましょう。 クラウドにおけるデータベースのメリット グーグルAlfred Fuller氏(NoSQL担当)。 クラウドはフォルトトレラントでメンテナンス不要、パッチも私たちが適用しており、利用者は運用について心配する必要がない、といったメリットがある。 データのレプリケーションや地域分散でデータも保全され、インターネッ

    SQL vs NoSQL、グーグルにおける戦い(前編)。Google I/O 2012
  • オープンソースの発想で作ったOSS-DBの教科書を無償公開 - @IT

    2011/10/05 エルピーアイジャパン(LPI-Japan)は10月5日、データベース初心者向けの教科書「オープンソースデータベース標準教科書 -PostgreSQL-」(Ver1.0.0)をWeb上で無償公開した。アンケートに答えるとダウンロードできる。データはPDF版とEPUB版の2種類がある。 特定技術にしばられない、汎用性が高いSQLの知識を 教科書は、「これからデータベースを学び始める初心者」を対象に、「SQL言語を使ったデータベース」と「データベースの作成や管理」を“できるだけ分かりやすく”解説することを目的としている。 ベースとなる技術はPostgreSQLだが、PostgreSQLに特化した内容ではなく、汎用的なSQLの基礎知識を解説することに主軸を置いている。PostgreSQL独自の技術については、後半部分でようやく登場するといった構成だ。 教科書だってオープンソ

  • NoSQLデータモデリング技法

    NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック

    NoSQLデータモデリング技法
  • SQL脳に優しいMongoDBクエリー入門 - taka512's blog

    mongoコマンドから接続した際にオールドタイプ(SQL脳)たる我々人類にも 調べやすい形でinsert、select、updateを行う方法を調べました。 定義参照 // use [データベース名] use [データベース名] // show databases show dbs // show tables show collections参照系 // select * from [コレクション名] db.[コレクション名].find() // select * from [コレクション名] where x=4 db.[コレクション名].find({x:4}) // select j from [コレクション名] where x=4 db.[コレクション名].find({x:4}, {j:1}) // select * from [コレクション名] limit 1 db.[コレクション

    SQL脳に優しいMongoDBクエリー入門 - taka512's blog
  • HAVING句の力

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    HAVING句の力
  • 複数行返ってくるサブクエリを文字列に連結して取得するSQLまとめ - hikky nikky

    SELECT name FROM TABLE_NAME WHERE id IN(1, 2, 3)みたいな複数行の結果セットが返ってくるクエリを、 複数行を結合した文字列にしつつ、サブクエリとして扱って、 SELECT column1, column2, (SELECT name FROM TABLE_NAME WHERE id IN(1, 2, 3)) AS names FROM ...みたいにスバッと書きたいみたいなことが、たまにあります。 文字列への結合をプログラム側でやらなくて済むと嬉しいケースもあるし。 ただし、これはRDBMSによって、書き方が結構異なります。 なんで、アレっちゃアレなんですが、まとめてみました。 対象RDBMSはPostgreSQLMySQLOracle。(というか他は知らない。。。) 前提 SELECT name FROM TABLE_NAME WHERE

    複数行返ってくるサブクエリを文字列に連結して取得するSQLまとめ - hikky nikky
    tarbo
    tarbo 2011/11/08
  • CASE式のススメ / リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    tarbo
    tarbo 2011/11/08
  • 「Google Cloud SQL」発表、Google App EngineでSQLデータベース利用可能に 

  • 第2回 冗長性症候群~条件分岐をUNIONで表現するなかれ | gihyo.jp

    ここはとある街の総合病院。 ここには通常の診療科のほかに、一風変わった診療科が存在する。 何軒もの病院をたらいまわしにされた、手の施しようのないSQLや、今すぐに改善が必要なSQLが担ぎ込まれる救命室である。 それがSQL緊急救命室、略してSER(SQL Emergency Room⁠)⁠。 そう、ここは国内でも唯一のプログラミング専門外来である。 ロバート救命室部長。腕の立つエンジニアだが、口が悪く性格はもっと悪い四十オヤジ。 (AM10:00 休憩室。ワイリーが机に向かって一人で何かしている) どってぃろーんどってぃろーん、ぽぽぽんぽーん、どってぃろーん…

    第2回 冗長性症候群~条件分岐をUNIONで表現するなかれ | gihyo.jp
    tarbo
    tarbo 2011/10/03
  • NoSQLはRDBMSに取って代わるものなのか?

    注目を集めるNoSQLデータベース 数年ほど前から、分散KVS(Key-Value Store)や列指向(Column-Oriented)データベース、ドキュメント指向(Document-Oriented)データベースなどの新しいデータベース技術が注目を集めています。これらの新しいデータベース技術は、リレーショナルデータベース管理システム(RDBMS)とは異なる考えに基づいているので、よく「NoSQL」データベース(注1)と総称されています。 注1:「NoSQL」という言葉はもともと「近年登場している、RDBMS以外の(つまりSQLを使わない)データベース」を総称、表現したものであり、その後から「SQLは不要だ」というイメージを持つキーワードのようになってきました。データベース開発者の中には、このようなRDBMSに対するネガティブなイメージを好まず、NoSQLを「Not Only SQL

    NoSQLはRDBMSに取って代わるものなのか?
  • MySQLでクエリーを実行して複数の結果が抽出されるとします。…

    MySQLでクエリーを実行して複数の結果が抽出されるとします。 SELECT A FROM TABLE1 WHERE B=C; 結果 t1,t2,t3......... この結果を用いて引き続きSQLを実行したいと思います。 SELECT x FROM TABLE2 WHERE (y = t1) OR (y = t2) OR (y = t3).......... ; 現在は上の結果を配列に入れてfunctionの中でクエリー文を作っていますが、そうしないで、SQLだけで行うスマートな方法はないでしょうか。 IN を使ったらエラーになり、うまくいきませんでした。また、副クエリーというのを少し調べてみましたが、1番目のクエリー結果が1行だけでないとエラーになるのだそうです。 良い方法をご存じの方、どうかよろしくお願いします。

    tarbo
    tarbo 2011/03/23
  • ストアドプロシージャ - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ストアドプロシージャ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年9月) ストアドプロシージャ(英: Stored Procedure)は、リレーショナルデータベース管理システム(RDBMS)にアクセスするアプリケーションで利用できるサブルーチンである。このようなプロシージャは、データベースのデータ辞書に格納されている。 ストアドプロシージャの用途としては、データの検証(データベースへの統合)やアクセス制御の仕組みなどがある。さらに、ストアドプロシージャは、もともとアプリケーションに実装されていたロジックを統合し、一元化する

  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法