タグ

SQLに関するmirutoのブックマーク (14)

  • なにこれ楽しい!SQLをブラウザ上で学習できるSQLZOO! - 嗚呼、学習の日々

    みなさまごきげんよう! 嗚呼蛙でございます! 一昨日amazonアソシエイトの審査を無事通過したことを祝って、露骨なアフィ目的記事を書いてみました。 今日はデータベースの操作を行う言語『SQL』を実践的に学習できるサイトを発見したので、それについて書いていこうと思います。 SQLってなに? ブラウザ上でSQLの学習ができるサイト 日語でのSQL学習 SQLってなに? SQLを知らない方のためにSQLについて簡単に説明しておくと、例えばネットショップで買い物をする時にこんな感じで「会員情報」「送付先」」「購入品」を登録しますよね。 【会員情報】 【送付先】 【購入品】 すると、ブラウザから入力された情報は、SQLを使ってこんな感じでデータベースに書き込まれます。 【会員テーブル】 【送付先テーブ】 【売上テーブル】 こんな風にブラウザから送られた情報をデータベースに書き込んだり、蓄積された

    なにこれ楽しい!SQLをブラウザ上で学習できるSQLZOO! - 嗚呼、学習の日々
    miruto
    miruto 2015/11/29
  • 1日に100万レコード増える場合のテーブル設計

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。 PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

    1日に100万レコード増える場合のテーブル設計
  • 今どきのSQLインジェクションの話題総まとめ - PHPカンファレンス2015発表資料

    オフラインWebアプリの再到来で今、再び注目されるAPI命 ーJavaScript SQL-like databaseyoshikawa_t

    今どきのSQLインジェクションの話題総まとめ - PHPカンファレンス2015発表資料
    miruto
    miruto 2015/10/04
  • The annotated table of contents

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

    The annotated table of contents
    miruto
    miruto 2014/10/20
  • SQLデータベースに正しインデックスを作るのは 誰の役割?

    SQLのパフォーマンス問題は、SQLそのものと同じぐらいの歴史がある―― ある人は、SQLはそもそも遅いものだとすら言うかもしれません。これは、SQL歴史が始まった頃は正しかったかもしれませんが、今となっては全く 当てはまらないでしょう。にもかかわらず、SQLのパフォーマンス問題は今も一般的でよくあることです。どうしてそうなってしまうのでしょうか? SQL言語は、恐らく最も成功した第4世代言語(4GL)でしょう。その最大の利点は、「何を」と「どのように」 を分離できることです。SQL文は、どのようにそれを実行するかを記述せずに、単純に 何を必要としているかのみの記述になっています。以下のような例を考えてみましょう。 SELECT date_of_birth FROM employees WHERE last_name = 'WINAND'SQLのクエリは、データを要求する英語の文として読

    SQLデータベースに正しインデックスを作るのは 誰の役割?
  • MySQLでidだけをSELECTして、カンマ区切りにして出力する - kanonji’s diary

    SELECT GROUP_CONCAT(id SEPARATOR ', ') FROM examples; +-------------------------------------------------------------------------------------+ | GROUP_CONCAT( id SEPARATOR ', ') | +-------------------------------------------------------------------------------------+ | 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146 | +--------------------------------------------

    MySQLでidだけをSELECTして、カンマ区切りにして出力する - kanonji’s diary
  • これからMySQLをイチから学ぶ人に捧げたい23個のコマンドリスト

    どーも。今年の春頃からMySQLを学び始めた、するぷ( @isloop )です。 学び初めのころは、「たかだか文字列を記録するだけでなんてかったるいんだ。やっぱりCSV保存に逃げようかな。」と思っていました。が、最近になってようやく慣れてきたようで、「結構便利じゃんMySQL」と思えるようになってきました。 というわけで今日は、学び初めの頃に欲しかった「とりあえずこれだけ覚えたらなんとかなるMySQLのコマンドリスト」というものを作ってみました。 これからMySQLをイチから学びたいという人が参考になればこれ幸い。

    これからMySQLをイチから学ぶ人に捧げたい23個のコマンドリスト
  • MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録

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

    MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録
  • SQLアンチパターン - ナイーブツリー

    社内勉強会資料 追記: 2013-10-31 ついったで指摘( https://twitter.com/akuraru/status/395822183777202176 )を受けたので入れ子集合のノード追加の説明の所を修正しました。

    SQLアンチパターン - ナイーブツリー
    miruto
    miruto 2013/11/01
  • 超巨大な MySQL のデータを共用サーバーにインポートできる BigDump の使い方

    数GBのダンプファイルをインポートしたくても共用サーバーの場合ですと数十MBに制限されていることが多くて入れられません。VPS や専有サーバーの場合は設定を変更してアップロードできる最大サイズを変更する方法もありますが、ファイルサイズが増えるたびに変更するのは大変です。 しかし BigDump を使えば巨大な SQL ファイルをサーバーに合わせて分割インポートしてくれるので、ファイルサイズが大きくなってもサーバーの設定を変更しなくても良いですし、共用サーバーでも巨大なファイルをインポートすることができます。 ここでは BigDump を使った SQL ファイルのインポートを説明します。説明にあたって以下のページが参考になりましたのでこちらも御覧ください。 WikiCookRecipe日記: MySQLインポートファイルがでかすぎる時には BigDump を使ってみよう! MySQL のデー

  • 意外と便利?PHP製のHTML用問い合わせ言語·htmlSQL MOONGIFT

    htmlSQLHTML構造にSQLを使って検索できるようにするライブラリです。 HTMLを操作する際にはDOMを使ったり、正規表現を使うのが一般的です。しかしもう一つのやり方を提案するのがhtmlSQLです。何とSQL(問い合わせ言語)を使ってHTMLソースを探索できます。 コード例。PHPで操作します。 こんな感じで取得できます(301になってしまっていますが…)。 こちらもコード例。SQLっぽい記述が面白いです。 クラスやIDなどで絞り込んだり、特定のタグだけを抽出することも簡単にできます。そして指定した要素だけ抽出して処理が可能です。今後、LIMITなどにも対応していくとのことです。 htmlSQLPHP製、New BSD Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る SQLはサーバサイドで使われるプログラミング言語と構造体系が大きく異なるために

    意外と便利?PHP製のHTML用問い合わせ言語·htmlSQL MOONGIFT
  • サイオンコミュニケーションズ株式会社 — 沖縄県でのコールセンター、ネットワーク、システム開発 » 第21回 MySQLとPHPにおけるSQLインジェクション対策について

    や正規表現を使った関数等を使用すると便利です。では少し使ってみましょう。 <?php $num = 28; $str = "28"; $float = 28.0; $mb_str = "SQLインジェクション"; print "check1:"; if (is_numeric($num)) { print "true <br />n"; } else { print "false <br />n"; } print "check2:"; if (is_numeric($str)) { print "true <br />n"; } else { print "false <br />n"; } print "check3:"; if (is_int($num)) { print "true <br />n"; } else { print "false <br />n"; } print

    miruto
    miruto 2012/10/04
  • データベースをCSV形式でダウンロード - PHP/データベース

    サンプルと機能 データベースを、CSV形式でダウンロードします。 → サンプル(クリックするとダウンロードを開始します) --- ダウンロード --- CSVは「,」で区切られたデータですが、タブで区切るように変更することもできます。 サンプルスクリプト 緑の文字が変更箇所で、赤い文字が対応するPHPです。 <!-- -->内または//以下はコメントです。削除しても影響ありません。 必要な箇所をコピー&貼り付けして編集してください。 → データベースをCSV形式でダウンロード <?php header("Content-Type: application/octet-stream"); ?> <?php header("Content-Disposition: attachment; filename=output.csv"); ?> <?php

  • SQL講座 INNER JOINを使った表の結合

    「1日1問」仕事や勉強に役立つIT知識を充電! リクルートが運営する「ITキャパチャージ」は、最初に会員登録が必要ですが、無料で仕事から情報処理技術者試験まで幅広く活用できるWebサイトです。IT担当者のスキルアップに役立つ情報処理に関する問題を、毎日1問ずつ、メールやサイト上で提供するサービスです。解答ページはIT初心者でも分かる丁寧な解説つきで、サイト上では過去の問題にも挑戦できます。 また、IT用語が調べられるIT単語帳は、説明も詳しく簡単に調べられ、たいへん便利です。ぜひ、会員登録して活用したいサイトです。 INNER JOINを使って表を結合する SELECT文において複数の表を結合するときはWHERE句で結合条件を指定するほかにFROM句でINNER JOINを指定して表を結合することもできる。 INNER JOINの記述形式 SELECT 列名1,列名2,~列名n ← どの列

  • 1