タグ

SQLに関するsiroccoのブックマーク (24)

  • サービス終了のお知らせ

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

    sirocco
    sirocco 2014/09/01
    ADOでレコードセットを作成する3つの方法。 1.RecordsetオブジェクトのOpenメソッド(レコードの更新、変更、削除が可能) 2.ConnectionオブジェクトのExecuteメソッド(読み取り専用) 3.CommandオブジェクトのExecuteメソッド(読み取り専用)
  • MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録

    トランザクションとは 1つの作業単位として扱われるSQLクエリの集まりです。 複数のUPDATEやINSERTをひとつの集まりとして、 それらのクエリがすべて適用できた場合のみデータベースに反映します。 ひとつでも適用に失敗したクエリがあった場合は、そのまとまりすべてのクエリの結果は反映しません。 ACID特性 トランザクション処理に求められる4つの特性です。 原子性 (Atomicity) トランザクションに含まれる手順が「すべて実行されるか」「すべてされないか」のどちらかになる性質。 一貫性 (Consistency) どんな状況でもトランザクション前後でデータの整合性が矛盾なく保たれる性質。 分離性 (Isolation) トランザクション実行中は、処理途中のデータは外部から隠蔽されて他の処理に影響を与えない性質。 永続性 (Durability) トランザクションが完了したら、シス

    MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録
    sirocco
    sirocco 2014/02/12
    トランザクションの解説。
  • SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば

    オレオレSQLセキュリティ教育は論理的に破綻している | yohgaki's blog 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ SQLインジェクション対策で大垣靖男氏は何を勘違いしていたか | [ bROOM.LOG ! ] エスケープとプレースホルダをめぐる議論 - Togetterまとめ SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論 - Togetterまとめ IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgaki's blog SQLへの安全な値の埋め込み方について、ここ数日で色々議論というか意見の投げ合いがありましたが、自分としての考えをまとめておきます。 1. SQLに値を埋め込む場合は、プリペ

    SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば
  • Amazon.co.jp: SQL: ゼロからはじめるデータベース操作: ミック: 本

    Amazon.co.jp: SQL: ゼロからはじめるデータベース操作: ミック: 本
    sirocco
    sirocco 2012/09/07
    今までSQLを書くときはそれっぽいサンプルを探して貼り付けるということをしていて、SQLの学習をしたことがなかった。テーブルを作るときの制約がいい加減だったり、NULLの認識も甘かった・・・。
  • 外部結合の使い方

    はじめに SQLに対するよくある誤解の1つに、「SQLは帳票作成のための言語だ」というものがあります。確かに、SQLは定型・非定型を問わず、さまざまな帳票や統計表を作成するシステムで利用されています。そのこと自体に問題はありませんが、エンジニアにとってもSQLにとっても不幸なことは、SQL来の用途ではない結果のフォーマット整形までがSQLに求められることです。あくまでSQLはデータ検索を目的に作られた言語だからです。 しかし同時に、SQLは多くの人が考えているよりずっと強力な言語です。特に近年は、そうした用途にも対応すべく、OLAP関数をはじめとするレポート作成のための機能が多く取り入られるようになりました。システム全体としてソースを簡略化でき、十分なパフォーマンスを得られるなら、SQLの力を利用する価値は十分にあります。 稿では、外部結合(OUTER JOIN)を利用したフォーマッ

    外部結合の使い方
    sirocco
    sirocco 2012/09/02
    外部結合により行を列に変換する方法。社員が受講した研修コースを管理するテーブルを社員1人が何のコースを選択したか分かるように並べる。
  • LIKE検索は使ったらダメな場合もある - 全文検索について - SQLer 生島勘富 のブログ

    SQLのLIKE検索は非常に便利です。しかし、データ量によっては使ってはいけません。 例えば、 WHERE 備考 LIKE '%大阪%' とすれば備考欄に'大阪'が含まれているレコードをすべて取得することが可能ですが、当然、インデックスは使えません。必ずテーブルをフルスキャンすることになります。 そもそも、LIKE検索をするような項目はデータ量が多く、数百Byteから数千Byteの領域を取っていることもあるでしょう。RDBMSのデータに対するアクセスは、カラム単位でもレコード単位でもなく、ブロック(ページ)単位になりますので、レコード数によっては非常に大量のアクセスが発生します。 ブロック単位のアクセスはデータの入り方によって何とも言えないので、レコード長で考えるとすると、数百〜2000Byteのレコード長で1万件(数M〜20MByte)前後で、検索頻度が少ないのであればLIKE検索で十分

    LIKE検索は使ったらダメな場合もある - 全文検索について - SQLer 生島勘富 のブログ
    sirocco
    sirocco 2010/07/04
  • 今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた

    「安全なSQLの呼び出し方」というSQLセキュリティに焦点を当てたドキュメントが、2010年3月にIPA(独立行政法人情報処理推進機構)から公開された。 これは2006年1月から提供されている、Webサイト開発者や運営者向けのセキュアWebサイト構築のための資料「安全なウェブサイトの作り方」の別冊として書かれたものである。「安全なウェブサイトの作り方」が92ページなのに対して、SQLインジェクションについてだけで40ページもの分量がある。なぜこんなに分厚いのだろうか。 このドキュメント作成に協力したという、独立行政法人産業技術総合研究所 情報セキュリティ研究センターの高木浩光氏にお話を伺うことができた。高木氏は個人ブログ「高木浩光@自宅の日記」で、セキュリティ関連の問題を追求する論客としても知られている。筆者も以前、この連載の「今夜わかるSQLインジェクション対策」の回(2006年11月

    今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた
  • 安全なSQLの呼び出し方

    2010 年 3 月 「安全なウェブサイトの作り方」 別冊 安全な S Q L の 呼び出し方 書は、以下の URL からダウンロードできます。 「安全な SQL の呼び出し方」 http://www.ipa.go.jp/security/vuln/websecurity.html 目次 目次.....................................................................................................................................................................................................2 はじめに.................................................

  • SQLアタマアカデミー 記事一覧 | gihyo.jp

    最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (5)集合指向と手続き型 ミック 2010-05-28 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (4)OLAP関数と集約関数を組み合わせる ミック 2010-05-27

    SQLアタマアカデミー 記事一覧 | gihyo.jp
    sirocco
    sirocco 2010/01/28
  • SQLアタマ養成講座 記事一覧 | gihyo.jp

    第6回SQL流行間比較(2) 直近⁠⁠、直近の1つ前⁠⁠、そのまた1つ前… ミック 2009-05-19

    SQLアタマ養成講座 記事一覧 | gihyo.jp
  • そろそろSQLインジェクションについてひとこと言っておくか。 - だらだらやるよ。

    ちょっとSQL Injectionについて未だに情報が少ないのにいらついていたので。 というか対策ばっかりで何ができますよーってのはほとんどログインできますよーくらいじゃねえか。 具体的な攻撃方法もわからずにぼんやり対策してるだけの人多いような気がするのでちょっと攻撃方法書いとく。 SQLインジェクションってなに? アプリのユーザ入力領域からSQL文を注入されてしまうこと。 サーバでこういうコード書いてると、user_nameに「' or '1'='1';#」とか書かれて素敵なことになる。(mysqlの場合) String sql = "SELECT * FROM users WHERE = name = '"+user_name+"' AND password='"+user_password+"'"; 簡単に言うと、開発者の意図しないSQLをユーザの入力によって行う攻撃手法ですね。 S

    そろそろSQLインジェクションについてひとこと言っておくか。 - だらだらやるよ。
  • プロが作った黒猫印のフリーソフト 黒猫ソフトウェア工房 (引っ越しました)

    ■最新情報 黒ソフトウェア工房のホームページは引っ越しました。 新しいホームページはこちら → http://kuronekosoft.ewinds.net/ 5秒後に自動的にジャンプします。 黒 SQL Studio は、あらゆるデータベースに接続可能な汎用SQL開発環境です。黒 SQL Studio には、SQLを手早く作るための入力支援機能や、作ったSQLプロジェクトとして管理する機能が用意されています。 ■黒 SQL Studio について知りたい → 黒 SQL Studio ■黒 SQL Studio を紹介していただきました → SQL文をGUIで作成できるデータベース開発環境... - 窓の杜 → 使いやすいSQL実行環境... - Unofficial DB2 BLOG → どんなDBGUISQL作成... - Hibi日記 → データベース開発の必需品

  • フリーの SQLインジェクション スキャナー トップ15

    Top 15 free SQL Injection Scanners - Security-Hacks.com あとで試す。トップ15だけど順位がよくわからない。上から1位? SQLIer Sqlbftools SQL Injection Brute-forcer (.tar.gz) SQLBrute (.py) BobCat sqlmap: a blind SQL injection tool Absinthe :: Automated Blind SQL Injection SQL Injection Pentesting TooL SQID - SQL Injection digger Blind SQL Injection POC (.pl) SQL Power Injector FG-Injector Framework sqlninja: a SQL Server inject

    フリーの SQLインジェクション スキャナー トップ15
  • インジェクション系攻撃への防御の鉄則

    前回までは,主にクロスサイト・スクリプティングのぜい弱性とその対策について解説してきた。最終回となる今回は,クロスサイト・スクリプティング以外の「インジェクション系」ぜい弱性について解説する。具体的には,SQLインジェクション,OSコマンド・インジェクション,HTTPヘッダー・インジェクション,そしてメールの第三者中継である。 SQLインジェクション対策にはバインド変数の利用が最適 まず,SQLインジェクションから見ていこう。対策には二つの方法がある。一つは,SQLの「バインド変数(注1)」を使う方法である。バインド変数の書式はプログラミング言語によって異なるが,一例として,Perlを使った場合に,パスワード認証のSQLをバインド変数で書き換えた例を示す(図1)。 (注1) 「準備された文(Prepared Statement)」というのがJIS SQLでの用語だがあまり普及していない。バ

    インジェクション系攻撃への防御の鉄則
  • Web2.0ナビ: SQL-DESIGNERがスゴイ

    いいね! 0 ツイート B! はてブ 447 Pocket 2 データベースの設計時にER図をかくことが多いと思いますが、SQL-designerというウェブベースのツールが非常に使いやすいく、デザイン的にも綺麗で便利。 MSproject等のデータベース設計を行う専用ソフトは非常に多くあるが、どれもインストールが必要だったり、設定ファイルが必要だったり、ソフトが重かったり、環境依存が激しかったりして、使いにくい。 使いかたは簡単で、 1.ウェブページにいって 2.テーブルやフィールドを追加する 3.プリントアウトorXMLエクスポート だけ。 データの型なども選択できて、設計が終わったら、SQL文をそのまま発行したり、作ったEQ図をXMLでエクスポートやインポートすることも可能。Javascriptベースなので、めんどくさいインストールや環境依存もなし。 ウェブ上でやるのは、セキュリティ

    sirocco
    sirocco 2006/12/29
  • 高木浩光@自宅の日記 - 駄目な技術文書の見分け方 その1

    ■ 駄目な技術文書の見分け方 その1 はてなブックマークのホッテントリを見ていたところ、300を超えるユーザに登録された以下の記事があった。 今夜分かるSQLインジェクション対策, 上野宣, @IT, 2006年11月2日 また上野宣か。顔見知りなのでズバリいくことにする。 しかし、その対策はまだ当に理解されていないように思える。 へえ。 終わりの方を見てみると、 Webアプリケーションの対策 入力値のSQLの特殊文字を適切にエスケープ 入力値=プログラム(プロセス)に外部から入ってくるもの シフトJISの場合には1バイト文字を整理 SQLの記述をなくすためにO/R(Object/Relational)マッピングを活用 攻撃者に役立つ情報を与えないために、不要なエラーメッセージ(データベースが出力するエラーなど)の表示を抑止 対策に「準備された文」(prepared statement)

  • Eclipse SQL Explorer [RCP/Plugin]

    Eclipse SQL Client for database querying/browsing any JDBC compliant database. It supports plugins with specialized functionality for individual databases (Oracle, DB2, MySQL, PostgreSQL, Sybase, Informix) and can be extended.

  • 捕捉:MT 3.31 + SQLiteがベラボーに遅い件について - Tociyuki::Diary

    Ogawa::Memoranda さんが指摘されている、MovableType (以下、MT)の 3.31 ブランチの、mt_entry 表と mt_objecttag 表の結合で、SQLite の最適化が不適切になる理由を調べてみました。 結論を先に述べると、mt_entry.entry_status へのインデックスが存在するために、SQLite の最適化ルーチンがだまされていました。SQLite ではインデックスが存在すると、行のふるい落しがおこなわれることを暗に期待するのですが、残念ながら、通常のブログにおいては mt_entry.entry_status = 2 の制約条件は、行のふるい落しに寄与せず、mt_entry のほとんどの行を参照していました。 さて、問題は次のような単純な結合をもつ SELECT 文です(注: mt_entry 表と mt_objecttag 表には同

    捕捉:MT 3.31 + SQLiteがベラボーに遅い件について - Tociyuki::Diary
    sirocco
    sirocco 2006/08/01
  • なぜSQLインジェクション脆弱性は減らないのか | TarZの日記 | スラド

    SQLインジェクション脆弱性が話題になることがずいぶん増えた。 従来のC/Sアプリケーションでも同じ問題を抱えていたが、不特定多数から使われうるWebアプリでは特に危険が高い。SQLインジェクションによるアタックがニュースになるのは、ほぼ全てWebアプリの脆弱性としてだ。これについて、ちょうど関連する記事が出た。 SQLインジェクション攻撃が激増 (ITmedia) SQLインジェクションについては、採るべき対策はずいぶん前から言われ続けている。しかし、いつまでたっても脆弱性を抱えたシステムは減らない。 これについてはずっとモヤモヤしていたものを感じていた。ちょうどよい機会なので、忘れないうちにモヤモヤを形にしておく。 (註) ここにまとめているのは根原因の推測のメモであって、SQLインジェクションに対するなんらかの具体的方策を提起するものではありません。考察の誤りや事実誤認があればコメ

  • SQL Power Injector Download

    Download In this section you will be able to download the installation file, the documentation and the source code of all versions of SQL Power Injector. Current version

    sirocco
    sirocco 2006/06/17