Oracleでページング処理

Web系のシステムで利用されるDBは、PostgresqlやMySQLがあります。MySQLは有償化しましたがそのフォークであるMariaDBが無償で使えるのでいつも便利に使っています。 何が便利なのかというとWebの世界で育ってきたということもあるのでとても便利に使えます。 ページング(ページネーション) いくつか便利な点がありますがそのうちの一つが「ページング」です。 MySQLだと先頭の100件取得するには以下の通り LIMITで取得する件数、OFFSETで何件目から取得するかを指定です。カウントは0から始まるので0を指定すると1件目から。 これをOracleで行うと以下となります。

データベースの種類

データベースにはさまざまな種類があります。 リレーショナル型データベース(RDBMS) 階層型データベース(HDB) ネットワーク型データベース(NDB) キー・バリュー型データストア(KVS) カラム型データベース   そして、よく使用されるデータベースはRDBMSです。 RDBMSのソフトウェアの種類 MySQL PostgeSQL Microsoft SQL Server Oracle DB Informix DB2   オープンソース:「MySQL」「PostgeSQL」   *RDBMSの特徴* RDBMSはSQLを使用します。 SQLは、ISOで言語仕様の標準化ができているため、基本的なSQLを覚えておけば各種のRDBMSを扱うことができます。 ※ただし、ベンダーごとに独自実装されている仕様もあります    

BLOBとは?

今回はBLOBとはどういうものなのかを説明したいと思います。 翻訳すると 「Binary Large OBject」 バイナリー ラージ オブジェクト といいます。 まずBLOBは、データーベースの「データ型」という形で扱われます。 データ型にはたくさんの種類がありますが、大まかに2つわけることができます。 人が見て理解できる「TEXT」と人が見ても理解できない「音や画像など」この二つに分けられます。 この目に見えないほうをバイナリーデータというのです。   そして、BLOBのL → ラージはそのままの意味で大きいという意味です。   なので、全てをまとめてみると 「どんなに大きな音データ、画像データでも入れることが可能」 というオブジェクトなのです。     下記に記載していますのがBLOBの種類です。(MySQL) TINYBLOB    255 […]

MySQL(MariaDB)のSQLでspaceship(宇宙船)発見

  MySQLの比較演算子に <=> こんなの発見しました。 これ、spaceship operatorっていうみたいです。見た目が、spaceshipだからですね。   機能としては、field_a = ? と?には何らかのデータが入るとして、もし、データがない場合は、NULLとなりますが、NULLだと filed_a = NULLとなってsyntax error。正しくは、field_a Is NULLとしなければなりません。 これを許可する(Nullable)ものが <=>です。 field_a <=> NULL と書けるようになるというものです。 通常の比較演算子としても機能するので、 field_a <=> 123 と field_a = 123は等価ということですね。   すっごく便利なんですが、初級 […]