タグ

SQLに関するiwwのブックマーク (121)

  • エラーを無視してインポートするMySQLのコマンド(–force)

    migrationとか、おしゃれな仕組みがないレガシープロジェクトの場合SQLファイルを作ってDBの変更履歴を共有したりするわけで git blameを使って直前にコミットされた差分だけ実行したりしてましたが1発でいけることを今更知りました -f, –force Continue even if we get an SQL error. ~~~ mysql -uroot -proot -f dbname < ddl.sql ~~~ mysqlの-fコマンドはエラーを無視して実行してくれます ~~~ ERROR 1060 (42S21) at line 42: Duplicate column name 'sub_title7' ERROR 1060 (42S21) at line 43: Duplicate column name 'sub_comment7' ERROR 1060 (42

    エラーを無視してインポートするMySQLのコマンド(–force)
    iww
    iww 2014/10/12
  • Pro*Cによるプログラム

    Pro*Cとは Oracleでは、C言語を使ってデータベースをアクセスするために、Pro*Cという、C言語のプリコンパイラを提供しています。 Pro*Cのソースファイル(*.pc)をprocコマンドで、プリコンパイルすると、Cのソース(*.c)が生成されます。 プログラムは、C言語のソースの中に、EXEC SQLなどのようにソースを埋め込んで記述します。 以下に、Pro*Cを使った、簡単なサンプルプログラムを紹介します。 Pro*Cによる配列アクセスのサンプルプログラム 配列アクセスは、SQLの規格にはありませんが、大幅にデータベースの性能改善ができます。 以下のプログラムは、配列アクセスにより、データベースを全件検索するPro*Cのサンプルです。 パラメータを付けると、デバッグ用のトレースを表示します。 #include <stdio.h> EXEC SQL BEGIN DECLARE

    iww
    iww 2014/09/24
    拡張子 .pc の謎プログラムの正体
  • ORACLE/オラクルSQLリファレンス(SEQUENCE)

    順序1の現在の値を取得する。 但し、NEXTVAL実行せずに、CURRVALを呼び出すとエラーが発生する。

    iww
    iww 2014/08/18
  • DUAL 表 - オラクル・Oracleをマスターするための基本と仕組み

    DUAL 表 DUAL 表とは、オラクル固有のディクショナリ表の 1つで、DUMMY カラムだけで作成されている。 DUMMY カラムには 'X' という 1 レコードだけが存在する。 DUAL 表のオーナは SYS であるが、 PUBLIC シノニム宣言によって すべてのユーザーから DUAL としてアクセスが可能になっている。 DUAL 表は通常の1 レコードの表とは異なりオプティマイザによって、特別な 実行計画 (FAST_DUAL) が生成される。 一般的な使い方としては、SQL での関数の呼び出しや確認に使用される。 SQLPlus で関数を呼び出して結果を表示する。 -- SQL> SET SERVEROUTPUT ON DECLARE vResult NUMBER; BEGIN vResult := EXTRACT(DAY FROM SYSDATE); DBMS_OUTPUT

    iww
    iww 2014/08/18
    ダミーにも使うテーブル。 oracleはfromを省略できない。 ダミーに使うのは良くない。
  • 【PDO】bindParamとbindValueの違い【PHP】 | WEBマスターの知恵ブログ

    bindParamとbindValueの違いについての覚書です。 bindValue : 値をパラメータにバインドする プリペアドステートメントで使用する SQL 文の中で、対応する名前あるいは疑問符のプレースホルダに値をバインドします。 bindParam : 指定された変数名にパラメータをバインドする 準備された SQL ステートメント中で、   対応する名前もしくは疑問符プレースホルダにパラメータをバインドします。   PDOStatement::bindValue() と異なり、   変数は参照としてバインドされ、PDOStatement::execute()がコールされたときのみ評価されます。 PHPマニュアルの該当箇所には、このような説明があります。 ただ、これだけでは何のことかイマイチ分かりません。 この二つで分かりやすいのは、単純な動作のbindValueです。 基的な動

    iww
    iww 2014/08/09
    忘れてたのでメモ
  • FuelPHPのモデルとデータベース操作方法の選択 — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    FuelPHPはデータベース操作方法を複数提供しており、初心者の方はどれを使ったらいいのかがわかりにくいです。 そこで、どのようなデータベース操作方法を使ったらいいかを判断できるような情報を提供してみたいと思います。 FuelPHPのモデルとは? モデルはデータの管理を担当します。いわゆるビジネスロジックはモデルに配置します。データベースを操作するコード(SQL文を発行するもの)もモデルに配置することになります。 FuelPHPのModelクラスは空のクラスです。メソッドやプロパティを一切持ちません。つまり、FuelPHPはモデルについて制約を設けていません。 自由放任ということです。 とはいえ、それだけでは不親切なのでデータベース操作についての複数の方法をFuelPHPは提供しています。 FuelPHPでのデータベース操作方法 FuelPHPでデータベースを操作する方法は以下の5つが考え

  • 書式モデル(数値) - オラクル・Oracleをマスターするための基本と仕組み

    数値用の書式モデル 主な用途は TO_CHAR や TO_NUMBER 関数などにおいてフォーマット文字列として使用する。 ⇒ 日付書式 書式 修飾子 修飾子FM とFX を使用して、符号の表示、0や空白の埋め方および書式検査の制御が可能。 FX,FM は便利な修飾子のわりに、あまり知られていない。(使われていないだけかもしれない) └ 'vNum := TRIM(TO_CHAR(number));' のようなソースを見ることもある。 ※ TO_CHAR ファンクション、TO_datetime ファンクションと SQL*Plus の COLUMN コマンドの書式モデル で利用できる。

  • とある診断員とSQLインジェクション

    PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)Koichiro Matsuoka

    とある診断員とSQLインジェクション
  • シーケンスの定義 - オラクル・Oracleをマスターするための基本と仕組み

    シーケンス シーケンス(SEQUENCE)とは Oracle によって提供されている高速に連番(※)を発行するための仕組みである*1。この機構にはシーケンス・ジェネレータ(順序生成装置?)という立派な名前も付いている。シングルインスタンス環境では番号をキャッシュしているだけにみえるが、RAC(Real Application Cluster) の環境の ORDER 付きのシーケンスの場合には、舞台裏でなにやら調整しているようである。 (※) 増分値を設定すれば飛び番の採番も可能 シーケンスの構文 CREATE SEQUENCE sequence_name [ INCREMENT BY integer (INCREMENT BY 1) ] [ START WITH integer (START WITH 1) ] [ NOMAXVALUE | MAXVALUE integer ] [ NOM

    iww
    iww 2014/02/26
  • ナチュラルキーよりサロゲートキー

    Landscape トップページ | < 前の日 2005-01-05 2005-01-07 次の日 2005-01-08 > Landscape - エンジニアのメモ 2005-01-07 ナチュラルキーよりサロゲートキー 当サイト内を Google 検索できます * ナチュラルキーよりサロゲートキーこの記事の直リンクURL: Permlink | この記事が属するカテゴリ: [SQL] [Postgres] [MS SQL Server] RDBMS における主キーや参照整合性制約の外部キーは、ナチュラルキーよりもサロゲートキーを使う方がより変更に強くなる。 - ナチュラルキー顧客コードなどの、ビジネスにおいて自然に発生するキー。自然キーともいう。 - サロゲートキーレコードを一意に特定するためにシステムが振り出すキー。アイデンティファイア (Identifier) ともいう。Post

  • ドメインロジックとSQL:ベンチャー社長で技術者で:エンジニアライフ

    株式会社ジーワンシステムの代表取締役。 新しいものを生み出して世の中をあっといわせたい。イノベーションってやつ起こせたらいいな。 旧聞ですみません。 ドメインロジックとSQLというのは、Martin Fowler氏というアジャイル・XPの提唱者の1人が書いたブログ一説です。そこから、SQLを考えてみましょう。 ■Martin Fowler氏のブログについて この記事はMartin Fowler氏のブログを読んで頂かないと理解できない内容かもしれません。 Rubyをやったことのない人はちょっと戸惑うかも知れないが、ぜひ、先ずはMartin Fowler氏のブログからがんばって読んでください。 今回、Rubyを使ってサンプルを作っている。いつもはJavaやC#(アプリケーション開発者が読めるC言語ベースのプログラミング言語)を使うのだが、まあいいややっちゃえーって思ってやってみた。Rubyを選

    ドメインロジックとSQL:ベンチャー社長で技術者で:エンジニアライフ
    iww
    iww 2013/10/21
    やはりストアドプロシージャは使わない方が良いな
  • @sikushima 氏のDB語り:適材適所/ストアドプロシージャ/ORM編

    SQLの苦手を克服する(技術評論社)/生島 勘富 @Sikushima ぜひ、こちら http://bit.ly/9wrdmq も、ご覧下さい。 QT @ryan5500: マーティンファウラーの記事読んでる.これすごいなー.ドメインモデルが一番わかりやすいけど,その一部を差し替えて複雑なSQLにするだけでこんなにパフォーマンスあがるのか. 2010-03-17 07:07:17 SQLの苦手を克服する(技術評論社)/生島 勘富 @Sikushima マーティンさんの http://bit.ly/12p9WO のパフォーマンスの差は私の経験則ではもっと大きな差になると思う。これ、多分、APとDBが同じマシンでやってるのじゃないかな。パフォーマンスの差はデータ量にもよるから何とも言えないけどね。 2010-03-17 08:09:26 SQLの苦手を克服する(技術評論社)/生島 勘富

    @sikushima 氏のDB語り:適材適所/ストアドプロシージャ/ORM編
  • 単位の歴史

    B.4. 単位の歴史標準SQLでは、「"日付時刻リテラル"定義の中で、"日付時刻の値"はグレゴリオ暦に従った日付と時間の自然法則に則る」と明記されています。 PostgreSQLは標準SQLの指針に従い、グレゴリオ暦が使われる以前の年に対してもグレゴリオ暦で日付を数えます。 この規則は先発グレゴリオ暦として知られています。 ユリウス暦は、紀元前45年にユリウス・カエサル(Julius Caesar)によって広められたものです。 西欧でグレゴリオ暦への移行が開始された1582年まで一般的に使用されていました。 ユリウス暦では、太陽年は365日+1/4日=365.25日と概算されます。 この暦では、128年で約1日のずれが生じます。 ローマ教皇グレゴリウス13世(Gregory XIII)はトレントの公会議(Council of Trent)の勧告に従って累積していた暦のずれを修正しました。

    iww
    iww 2013/04/17
  • A5:SQL Mk-2 - フリーの汎用SQL開発ツール/ER図ツール

    A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL

  • 「SQL アンチパターン」は色んな戦争の火種になりそう - yoshiori.github.io

    監訳の一人である @t_wada に献頂きました。 ありがとうございます!!! でだ、いきなりだけどコレ、タイトルで損してると思うんだよね…… だって、SQL のアンチパターンてタイトルだったら、 join した結果の方で where で絞るよりも on 句で先に絞れ 的なのが書いてあると思うじゃん!! 問い合わせ言語の事だと思うじゃん!!! 違った…… ほとんど書いてあるのは DB 設計についてだった…… まぁ、副題は「Avoiding the Pitfalls of Database Programming」のだし、まぁいいか。 んで、読んでみた感想とか もうね、何年か DB 絡んだ開発したことのある人なら(・∀・)ニヤニヤ出来ると思う。 「”マルチカラムアトリビュート”とか 10 年前に通ったわー」 とか 「あーはいはい”インデックスショットガン”乙」 みたいな。 Explain

    iww
    iww 2013/02/11
    『この本の本当に凄いところはパターンに名前を付けたこと』
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • 間違って10万人の顧客DB消しちまったwwwwwwww - MC)まとめこむ

    1:以下、VIPがお送りします:2012/03/05(月) 23:05:21.43 ID:MYKH/EmU0 特定されない範囲で 30分前の話 2:以下、VIPがお送りします:2012/03/05(月) 23:06:04.91 ID:b77m7UZ00 2chやってないでハードディスク復旧業者に頼め 13:以下、VIPがお送りします:2012/03/05(月) 23:08:29.71 ID:MYKH/EmU0 >>2 とりあえず今担当の人呼んでる(俺も担当なんだけどさwww 3:以下、VIPがお送りします:2012/03/05(月) 23:06:05.57 ID:G+trElAB0 顧客DBって何? 13:以下、VIPがお送りします:2012/03/05(月) 23:08:29.71 ID:MYKH/EmU0 >>3 顧客情報が詰まった大切な大切なデータベース 4:

  • syboos.jp

    iww
    iww 2012/02/08
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • SQL::Statement - SQL解析および処理エンジン

    SQL::Statementモジュール(日語チョー訳) by Hippo2000(2001/5/15) SQL::Statementなのです。DBD::File、DBD::CSVのエンジンなのです。DBIと組み合わせて簡単になんちゃってRDBを作ることができます。(DBD::Excelもその例(^^)) 原の著作権はJochen Wiedmannさんがお持ちです。Jochen Wiedmann さんにはメールで了解をいただきました。 なお内容等が間違っていたら修正します。ご連絡ください。 目次 名前 概要 説明 parserオブジェクトの作成 問い合わせの解析 問い合わせ情報の抽出 WHERE節の評価 問い合わせの評価 SQL文法 CREATE DROP INSERT DELETE UPDATE SELECT インストール 内部実装 Perl に依存しないC部分 Perl

    iww
    iww 2011/11/30