タグ

SQLとsqlに関するaiueo010101のブックマーク (7)

  • MySQLでクロス集計してみた【1/2】

    マスタテーブルつくって説明すると面倒くさいので、直接商品名、色名をインサートするとし、テーブルを以下のように作っておく。 CREATE TABLE IF NOT EXISTS `history` ( `id` int(5) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `color` varchar(255) NOT NULL, `price` int(10) unsigned NOT NULL, `created` datetime NOT NULL, `modified` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `name` (`name`,`price`,`created`,`modified`,`color`) ) ENGINE=InnoDB DE

    MySQLでクロス集計してみた【1/2】
  • SQLインジェクションとは何か?その正体とクラッキング対策。

    世間では、今Gumblar祭りが勃発中であり、SQLインジェクションがニュースに出てくることは少なくなったが、だからと言ってSQLインジェクションの脅威がなくなったわけではない。SQLインジェクションはGumblarを仕掛ける手段としても利用されることがあり、Webアプリケーションを提供する全ての人にとって、対策を講じなければいけない驚異であることに変わりはない。SQLインジェクションという攻撃手法が認識され、大いに悪用されているにも係わらず、その質に迫って解説している記事は少ないように思う。従来のWeb屋だけでなく、今やアプリケーション開発の主戦場はWebであると言っても過言ではなく、そういう意味ではSQLインジェクションについて理解することは、全てのプログラマにとっての嗜みであると言えるだろう。 というわけで、今日は改めてSQLインジェクションについて語ってみようと思う。 SQLイン

    SQLインジェクションとは何か?その正体とクラッキング対策。
  • ちょっと使えるMySQLの小技5つ+1

    こんにちは。最近ガスを止められ温もりの無い生活を送っている松田です。 今回は最近自分が知ったMySQLの小技をいくつか書いてみます。 んなもん常識だろ!ってネタがあっても優しく見守ってあげてください。 まず今回の実行サンプルには以下のテーブルを使ってます。 mysql> SELECT * FROM user_m; +---------+----------+---------------------+ | user_id | name     | create_datetime     | +---------+----------+---------------------+ |       1 | atsushi  | 2007-05-17 21:53:40 | |       2 | joe      | 2007-05-17 21:53:59 | |       3 | masah

    ちょっと使えるMySQLの小技5つ+1
  • SQLの暗黙の型変換はワナがいっぱい

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2009年9月24日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり このエントリでは、SQLにおいて「暗黙の型変換」を使うべきでない理由として、具体的な「ワナ」をいくつか紹介します。 数値項目に対するSQLインジェクション対策のまとめにて説明したように、RDBの数値型の列に対してSQLインジェクション対策をする方法として、以下の三種類が知られています。 バインド機構を用いる パラメータの数値としての妥当性確認を行う パラメータを文字列リテラルとしてエスケープする このうち、方法3を使うべきでない説明の補足です。具体的には、方法3には、「暗黙の型変換」が発生しますが、それが思わ

  • SQL pie chart

    My other half says I’m losing it. But I think that as an enthusiast kernel developer she doesn’t have the right to criticize people. (“I like user space better!” – she exclaims upon reading this). Shown below is a (single query) SQL-generated pie chart. I will walk through the steps towards making this happen, and conclude with what, I hope you’ll agree, are real-world, useful usage samples. +----

    SQL pie chart
  • Rotating SQL graphs horizontally

    We all love graphs. We all love SQL hacks. We all know the SQL hack which displays a character-based graph (example follows for those unfamiliar). But we all love horizontal graphs, not vertical ones. We are used to the X axis being horizontal, Y being vertical. Not vice versa. In this post I’ll present a SQL hack which rotates a vertical graph to horizontal. In fact, the technique shown will rota

    Rotating SQL graphs horizontally
  • まだまだあるぞ! 分析関数の究極テクニック

    連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。連載は、著名なメールマガジン「おら!オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局) 今回も、前回「SQL分析関数をさらに深く追求してみよう」、前々回「極めよう!分析関数によるSQL高速化計画」に引き続き、分析関数についてのお話です。今回は、ラグ・リード関数を説明して、分析関数シリーズの最終回とします。 ラグ関数を使った分析 それでは、ラグ・リード関数を利用して、分析してみましょう。まずは、ラグ関数から見ていきます。 ラグ関数は、現在の行からのオフセットを指定するだけで、その位置より「前」にあ

    まだまだあるぞ! 分析関数の究極テクニック
  • 1