タグ

SQLとdbに関するtyruのブックマーク (9)

  • go-sqlrow

    この記事はGo2 Advent Calendar 2017 13日目の記事です。 昨日は@kami_zh さんの Goで標準出力をキャプチャするパッケージを書いた でした。 go-sqlrowGo言語で標準パッケージを使用してRDBMSからデータを取ってくるには、以下の様に書きます1。 type Person struct { ID string Name string } db, _ := sql.Open("dn", "dsn") row, _ := db.Query(`SELECT id, name FROM person where id='foo'`) var p Person row.Scan(&p.ID, &p.Name) SQL文を発行するまではいいのですが、最後の行、sql.Row#Scanがくせ者です。 上記の例のように、sql.row#Scanは可変長個のポインタを引

    go-sqlrow
  • MySQLでGROUP BYを高速化したい

    tyru
    tyru 2017/02/07
    text 型は低速なので、text 型のカラムのハッシュ値を varchar 型のカラムとして追加。そしてインデックス貼って GROUP BY。なるほど
  • Web SQL Database

    W3C Working Group Note 18 November 2010 This Version: http://www.w3.org/TR/2010/NOTE-webdatabase-20101118/ Latest Published Version: http://www.w3.org/TR/webdatabase/ Latest Editor's Draft: http://dev.w3.org/html5/webdatabase/ Previous Versions: http://www.w3.org/TR/2009/WD-webdatabase-20091222/ http://www.w3.org/TR/2009/WD-webdatabase-20091029/ http://www.w3.org/TR/2009/WD-webstorage-20090423/ Ed

    tyru
    tyru 2016/01/19
    とっくに廃止になってるWeb SQL Database。ただPhoneGapでもStorage APIがあったりSQLiteをダイレクトに使う等の方法は残っているので、SQLが使えなくなった訳じゃない。SQLかKey-Valueかはたまた他の持ち方をするか悩む。
  • SQLインジェクション対策に正解はない

    最近、SQLインジェクションのネタが盛り上がってるようだ。下記のTogetterまとめあたりが震源地だろうか。 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ まとめを読んだ感想としては、「どちらの意見も間違ってはいない」というものだ。前提あるいは見方が異なるために、見解の相違が生じているだけのように思う。SQLインジェクションについては私も若干思うところがあるので意見を書いておこうと思う。 攻撃を防ぐのは難しいSQLインジェクションをはじめとするセキュリティ対策が難しいのは、ひとつでも穴があると致命的なダメージを受け得るということだ。「どうやって効率よくコードを書くか」とか「コードのメンテナンス性を高めるにはどう書くべきか」みたいな議論とは全く質が異なる議論が必要になっ

    SQLインジェクション対策に正解はない
    tyru
    tyru 2014/03/30
    いくつか追加条件を指定できる検索画面では組み立てていくしかないって話/ライブラリ(O/Rマッパー)での対処例としてはこういうのがいいと思う http://doma.seasar.org/reference/sqlfile.html#条件コメント
  • Entity-Attribute-Value: SQL アンチパターン - ペンギンラボ Wiki

    Bill Karwin “SQL Antipatterns: Avoiding the Pitfalls of Database Programming” の読書メモ。 Jaywalking 目的 ある属性について、複数の値を持たせる。 アンチパターン : カンマ区切りリスト カンマ区切りで複数の値を 1 つの列に納める。 例では、特定の製品についての担当者を複数設定するのにカンマ区切りで、担当者のアカウントIDを記述している。 create table products ( product_id integer, product_name varchar(1000), acount_id varchar(100), -- comma separated list -- ... ); insert into products (product_id, product_name, accou

    tyru
    tyru 2014/03/16
  • サービス終了のお知らせ

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

    tyru
    tyru 2014/03/09
  • エロゲーマーのためのSQL -エロゲーマーのためのSQL-

    SQLはデータベースからデータを抽出したりするための言語です。 この文書は、ErogameScapeのデータベースからSELECTを使って自由自在にデータを取得できるようになることを目標にします。 エロゲーをやりはじめる大学生くらいのときに、大学の講義でデータベースを学んで、退屈だなーと思った時に、ErogameScapeでSQLを学ぶことで、少しでもSQLに興味を持って、自身でデータを加工することを学習して頂けると幸いです。 ※私の大学のリレーショナルデータベースの授業では、自分の身の回りの何かをER図に落とし込んで、DBを設計し、PostgreSQLに実装し、実際にデータを入力してSELECTしてみるところまでをやりました。 ER図という概念を学んだとき「ああ、これは面白い」と思いました。 先生はこう言ったのです。 「ER図に落とし込むと、思いもよらなかったことが分かる。」と。 当時、

    tyru
    tyru 2014/01/04
    エロゲーマーじゃないけど、なんかよさそう。
  • Devsの常識、DBAは非常識

    8/3に開催しました 「FGOなど大規模ゲームの課題から学ぶゲームサーバ・インフラ勉強会」の発表資料になります。

    Devsの常識、DBAは非常識
    tyru
    tyru 2013/09/14
    MySQLチューニング情報だ
  • DDLとは 「データ定義言語」 (Data Definition Language): - IT用語辞典バイナリ

    DDL フルスペル: Data Definition Language 読み方: ディーディーエル 別名: データ定義言語 DDLとは、データベースにおけるデータ構造を定義するために用いられる言語のことである。 DDLはリレーショナルデータベースを対象として、テーブルなどの構造を制御することができる。DDLで用いられる主な命令には、新しくテーブルなどを作成する「CREATE」や、既存のテーブルなどを削除する「DROP」、既存のテーブルなどに変更を加える「ALTER」などがある。 DDLを扱うデータベース言語の代表的なものとしては、SQLなどを挙げることができる。ちなみに、データベース中のデータを取り出したり更新したりといったデータの操作そのものを行う言語はDML(Data Manipulation Language)と呼ばれている。

    tyru
    tyru 2012/11/10
    DDL(Data Definition Language)はCREATEなど、テーブルなどの構造を制御する「言語」のこと。DML(Data Manipulation Language)はSELECTなど、データそのものを操作する。DDL,DMLを扱う代表的なものとしてはSQLがある。
  • 1