タグ

sqlに関するrudo108のブックマーク (14)

  • SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ

    困った時はドキュメント、どうもかわしんです。最近、諸事情で SQLite のドキュメントを読んでいます。 前回の記事 で紹介した通り SQLiteRust で再実装しています。おかげさまで 300 を超える Github Star もいただき嬉しいです。 github.com SQLite は全ての仕様が ドキュメント にまとめられているので、そのドキュメントと家の実装を読み比べながら実装しています。 SQLite を再実装する上で特に以下のドキュメントは役にたちます。これらだけで最小限の SQLite の実装は作れると思います。 Overview Documents > About SQLite いかに SQLite がすごいかを自慢しているドキュメント。使おうとしている人には安心を、再実装しようとする人には絶望を与えてくれます。 Programming Interfaces >

    SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ
  • トランザクションは再利用の敵である

    釣りっぽいタイトル。「RDBのトランザクションが絡むとアプリケーション側のプログラムが書きにくくなる」という話です。 もちろんですが、RDBのトランザクション機能は偉大であり、Webアプリケーションでも意識して使わなければならず、「トランザクションなんて使うな」と言いたいわけではありません。 合成できない関数 PHPで素のPDOから考えます。たとえば、以下の関数に問題はあるでしょうか? <?php /* * 古いデータをアーカイブテーブルに移す関数のイメージ */ function moveDataToArchive(PDO $db) { $db->beginTransaction(); try { $db->exec(' INSERT INTO archives SELECT * FROM data WHERE published < CURRENT_DATE '); $db->exec

    トランザクションは再利用の敵である
    rudo108
    rudo108 2016/05/19
  • 日付、時刻の取得、フォーマット変更(MySQL、PostgreSQL、ORACLE)

    SQLでの日付、時刻、曜日の取得方法、フォーマットの変更方法です。 各種データーベースによって取得方法に違いがありますので注意してください。 [toc heading_levels="2,3"] ■MySQL日付、時刻、曜日などその他色々な取得例 時間を取得する方法です。 使用例 mysql> select current_time; +--------------+ | current_time | +--------------+ | 06:43:15 | +--------------+ 日付の取得 日付を取得する使用例です。 mysql> select current_date; +--------------+ | current_date | +--------------+ | 2006-09-13 | +--------------+ 日付、時刻を取得する使用例です。 my

    日付、時刻の取得、フォーマット変更(MySQL、PostgreSQL、ORACLE)
    rudo108
    rudo108 2016/01/07
  • http://blog.tofu-kun.org/070620123532.php

    rudo108
    rudo108 2015/11/30
  • SELECT文の総仕上げはサブクエリ(1/2) ― @IT

    初回から7回にわたってSELECT文の利用法を取り上げてきましたが、それも今回でとうとう最後となります。今回取り上げるのは、SQL文の中にSELECT句を入れ子にして埋め込む「サブクエリ」です。 サブクエリとは サブクエリは「副問い合わせ」とも呼ばれ、SQL文の中にSELECT文を埋め込み、抽出条件として利用することを可能としています。これまで、テーブルからデータを抽出するためにWHERE句による絞り込みやJOIN句による結合を利用してきましたが、サブクエリはその応用といえる存在です。 では、次のような例を見てみましょう。

    SELECT文の総仕上げはサブクエリ(1/2) ― @IT
    rudo108
    rudo108 2015/10/21
  • カラムの値が重複しているレコードを抽出するSQL - おはようバッファロー

    値が重複したレコードを抽出するSQLを結構頻繁に使うのでメモ SELECT 商品ID FROM 商品マスタ GROUP BY 商品ID HAVING COUNT(商品ID)<>1 HAVINGってこの時ぐらいしか使った事ないんだけど、 「集計関数の結果を条件とした絞込み」って事らしい。 売上が1000以上の商品IDを抽出するなんてのは、以下のようにやるようです。 SELECT 商品ID, SUM(値段) FROM 商品マスタ GROUP BY 商品ID HAVING SUM(値段)>1000

    カラムの値が重複しているレコードを抽出するSQL - おはようバッファロー
    rudo108
    rudo108 2015/10/19
  • SQL実践入門──高速でわかりやすいクエリの書き方 - kagamihogeの日記

    俺は実務経験をある程度こなしたあと、RDBの知識不足を認識したクチである。改めてRDBを勉強し始めて困ったことの一つは、実行計画の読み方がよくわからないことだった。もちろん、ぐぐればNESTED LOOP JOINが何かとかは出てくるし、公式のマニュアルも参考になる。ただ、webの文献は体系だって解説があるとは限らないし、個人のブログなどは粒度がバラバラで、まとまった量の知識を得るには向いていない。マニュアルも膨大な量があるので慣れていないと目的の文書が書いてあるかどうかすら分からないし、あったとしても必要なレベルの解説があるかどうは分からない。 そこで書の出番である。既存の書籍にもSQLとパフォーマンスを論じたものはあるにはあるのだが、それに特化したの存在は、少なくとも俺は知らない。一冊だけ、データベースパフォーマンスアップの教科書 基原理編 - kagamihogeの日記という極

    SQL実践入門──高速でわかりやすいクエリの書き方 - kagamihogeの日記
    rudo108
    rudo108 2015/05/27
  • 黒猫ソフトウェア工房 - 黒猫 SQL Studio (汎用SQL開発環境/開発ツール/データベースクライアント)

    ■黒 SQL Studio Next 黒 SQL Studio Next は、あらゆるデータベースに接続可能な汎用SQL開発環境です。 黒 SQL Studio Next には、SQLを手早く作るための候補表示機能や、 SQLを視覚的に デザインするビジュアルクエリーなど、SQL開発者に便利な機能が用意されています。 黒 SQL Studio Next はフリーウェアです。個人使用、業務使用に関わらず自由に使用することができます。 黒 SQL Studio Next のダウンロード ■クイックツアー またはこちら ⇒ 黒 SQL Studio Next クイックツアー ■特徴 黒 SQL Studio Next は、開発現場での使い勝手の良さを追求しています。 1. あらゆるデータベースに接続 データベース接続にADOを使用しているため、OLE DB プロバイダ(あるいはOD

  • Apache Hive

    Apache Hive The Apache Hive ™ is a distributed, fault-tolerant data warehouse system that enables analytics at a massive scale and facilitates reading, writing, and managing petabytes of data residing in distributed storage using SQL. Github Mail Docker Community Apache Hive is a distributed, fault-tolerant data warehouse system that enables analytics at a massive scale. Hive Metastore(HMS) provid

  • (Perl) DBIでSQLiteを使う場合の文字エスケープ (r271-635)

    PerlSQLクエリを実行する場合、実際にちゃんと特殊文字がエスケープ(クオート)されているか心配になって、調べてみた。 Perlのサンプルコード #!/usr/bin/perl use strict; # 変数の宣言を強制する use DBI; # DBI モジュールを利用する my $dbh = undef; my $sth = undef; my $strQuery = ""; my $strTmp = ""; eval{ # DBに接続 $dbh = DBI->connect($strDsn, "", "", {PrintError => 1, AutoCommit => 1}); if(!$dbh) { die();} $dbh->trace(2,"./dbi_trace.txt"); # デバッグトレースをファイル出力 print("input new data string

  • SQLiteで学ぶデータベース操作の基礎 - Perl入門ゼミ

    Perl › データベース › here Perlを使ってデータベースは初級者が学ぶには今までは少し敷居の高いものでした。まずSQLの実行環境を構築する必要がありすぐに勉強したいという需要を満たすことはできていませんでした。 ですが現在はこの状況は変わりました。現在ではActivePerlをダウンロードするとDBD::SQLiteと呼ばれるSQLiteを利用するためのモジュールがパッケージングされています。 またデータベースに接続するためのユーザから見たインターフェイス部分にあたるDBIというモジュールもパッケージングされています。 ですのでActivePerlの最新版をダウンロードするだけで何の環境構築も行わないでデータベースを学習し始めることができます。 DBD::SQLiteDBIがインストールされていることを確認する まずDBD::SQLiteDBIがインストールされているかど

    SQLiteで学ぶデータベース操作の基礎 - Perl入門ゼミ
  • [雑記] LINQ to SQL 実践編

    では、Visual Studio を使ったデータベースの作成手順について説明します。 まず、Visual Studio の [ソリューションエクスプローラ] で、LinqToSqlTest プロジェクトを右クリックして、 [追加] → [新しい項目] を選びます。 ダイアログが開いたら、[カテゴリ] から [データ] → [サービスベースのデータベース] を選んで、 適当な名前をつけて(ここでは ComicDatabase.mdf とします) [追加] ボタンを押します。 できた mdf ファイルをソリューションエクスプローラ上でダブルクリックすると、 [サーバーエクスプローラ] が開くので、 サーバーエクスプローラ中の [テーブル] のところを右クリックして [新しいテーブルの追加] を行います。 上記の表1~4のようなテーブル定義を行ってください。 テーブル名は、右下に出ている [プロ

    [雑記] LINQ to SQL 実践編
    rudo108
    rudo108 2011/08/26
    なるほど、データベースへつなぐ部分が必要だったのか。
  • C# によるプログラミング入門 [データ処理] LINQ

    概要 Ver. 3.0 C# 3.0(そして、同時に発表された VB 9.0)の目玉となる新機能は、 Language Integrated Query、略して LINQ と呼ばれるもので、 リレーショナルデータベースや XML に対する操作をプログラミング言語に統合するものです。 LINQ を用いることで、様々なタイプのデータソースに対する検索や操作を、 共通の構文で行うことができます。 IEnumeable を実装するコレクションクラスに対するもの(LINQ to Object)や、 XML に対するもの(LINQ to XML)、 それに、リレーショナルデータベースサーバに対する SQL クエリを生成するもの(LINQ to SQL)などがあります。 LINQ には以下のような利点があります。 オブジェクト指向言語らしい書き方でデータベースへの問い合わせができます。 in-memor

    C# によるプログラミング入門 [データ処理] LINQ
    rudo108
    rudo108 2011/08/25
    読める!私にも読める!!!
  • SQLの基礎 「SELECT」文を覚えよう

    記事のおもな内容 いろいろあるSQLの規格 サンプルデータベースを操作してみる SELECT文の基的な使い方 WHERE句の使い方 条件の指定方法 リレーショナルデータベースシステム(RDBMS)も、今や、システムの構築には不可欠なものとなりました。皆さんが目にしているシステムや、管理しているシステムでも、RDBMSが使われていないシステムを探すほうが大変ではないでしょうか。RDBMSの普及にともない、RDBMSへのアクセス手段であるSQLも、日常的によく見かけるものとなりました。 このSQL実践講座では、SQLの効率的な使い方をエッセンスにしてお伝えしていこうと考えています。SQLは、データを操作するために非常に簡単な構文で構成されているように見えます。ところが、実際に使い込んでいくと、一見簡単に取得できるように見えるデータが取得できない場面にぶち当たることがあると思います。また逆に

    SQLの基礎 「SELECT」文を覚えよう
  • 1