ラベル Database の投稿を表示しています。 すべての投稿を表示
ラベル Database の投稿を表示しています。 すべての投稿を表示

月曜日, 7月 22, 2019

PyMongo で内部結合

PyMongo を使った内部結合の実装です。classics テーブル、baroque テーブルの内部結合を キー composer_id で照らし合わせたものです。

外部結合なら $match の部分なしで結果がとれます。

_id で照らし合わせる場合、ObjectId(id) で合わせるか文字列へ変換するか気を付ける必要があります。

金曜日, 11月 03, 2017

MySQL でコラム(列)の値を交換

MySQL でコラム(列)の値を交換する方法です。

変数を使います。

使わないと MySQL ではできないようです。

update 'table' set start=(@tmp:=`X`), X=Y, Y=@tmp

火曜日, 8月 29, 2017

Python 3.6 でユニコードを扱う場合。

Python 3.6 でデータベースからユニコード文字列をとってきて書きだそうと思うと引っかかります。

要はこれです。

f=open('test.txt', 'w', encoding="utf-8")

ユニコードを指定します。でないとエラーを出します。

月曜日, 8月 28, 2017

Python/MySQL のクエリーで%を使う

単純な話ですが ...

Python 3.6 はライブラリが一通りそろっていて文字列処理が楽です。

データベースを使うなら mysql-connector-python のようなドライバを導入してアクセスします。

クエリの書き方ですが、カーソルの execute() メソッドを使います。

クエリをそのままかくのもいいんですが、パラメタ化してエスケープするやり方です。

cur.execute("select * from genera where latin like %s", (genus,))

このカッコ、コンマは省略できません。

ここまでは既出だと思うんですが、ここで % を使いたい場合。

つまんない話なんですが、ネットでなかったんですよね。直接の記述が。これパラメタそのものをいじればいいんです。

genus = genus +"%"

これで%が使えます (いや、それだけです)。

木曜日, 10月 08, 2015

PowerBuilder 12.6, C#: データベースへの接続方法

PowerBuilder でデータベースへ接続する方法を示します。

DataObject が機能していることが前提です。


C# でいうと以下のようなコードとなります。



火曜日, 2月 25, 2014

MySQL: テーブル構造を取得し、SQL文に変換する

MySQLでテーブル構造を取得するには、DESCRIBE (テーブル名) などのSQL文を使用します。



これをSQL文に変換するには、テーブルの情報をSQL文の形式でそれぞれ記述してやる必要があります。

CREATE TABLE IF NOT EXISTS `notes` (
  `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` text COLLATE utf8_unicode_ci NOT NULL,
  `description` text COLLATE utf8_unicode_ci NOT NULL,
  `videoid` text COLLATE utf8_unicode_ci NOT NULL,
  `imagefile` text COLLATE utf8_unicode_ci NOT NULL,
  `docnum` text COLLATE utf8_unicode_ci NOT NULL,
  `shortdesc` text COLLATE utf8_unicode_ci NOT NULL,
  `onhold` int(11) NOT NULL,
  `registered` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 
AUTO_INCREMENT=61 ;

ここで気をつけねばならないのは、timestamp値をとるコラムです。

デフォルト値に CURRENT_TIMESTAMP をとるコラムは、TIMESTAMP 値をとるコラムより前に記述しなければなりません。

コラムを並べ替える必要があります。

ここでは array_unshift() という関数を使用し、CURRENT_TIMESTAMP をとるコラムを配列の最初に格納するという方法をとりました。

ソースコード: GitHub: tablestructure.php

火曜日, 11月 10, 2009

OracleのSun買収に欧州委員会が異議申し立て

米オラクル社の米サン・マイクロシステムズ社の買収に関し、EUの欧州委員会は9日、異議申し立てを行ったという。

→ OracleのSun買収に欧州委員会が異議申し立て (2009-11-10)

火曜日, 4月 21, 2009

オラクルのサン買収、狙いはハードウェアとソフトウェアの統合システム

オラクルがサンを74億ドルで買収したということです。

サンの買収は、IBMなどの交渉など、メディアの注目が集まっていましたね。

→ オラクルのサン買収、狙いはハードウェアとソフトウェアの統合システム (2009-4-21)

オラクルはデータベースからの収益が約5割だそうです。

→ ■[企業経営]オラクル、サン買収の先にはCommentsAdd Star

サンは以前にMySQLを買収しているので、行方が気になるところではあります。

→ ■[雑感]どうなるMySQL。オラクルがサンを買収CommentsAdd Starshingotadahasaqui

木曜日, 3月 26, 2009

MySQL: Counting Rows that Has Same Value

There are many ways to count rows in a database. Here shows grouping the rows and counting them in MySQL database. The keywords are: "group by" to sort out the rows and "as" keyword to set the value to a variable.

Suppose the database has a table 'species' with 'en' field. The "group by" command will set up just one row for each 'en' value. Along with 'en' value, count(en) value will be retrieved in descending order as being set by "order by" command. The results will be a table with representative 'en' value with the count of it.


SELECT en, count( en ) AS cnt
FROM `species`
GROUP BY en
ORDER BY cnt DESC

水曜日, 10月 04, 2006

Adding ODBC Drivers in the System Registry

The Windows applications communicate with database servers via ODBC drivers. The ODBC driver can be added/modified in the "Data Sources" dialog which is in the Administrative Tools. There are too many cases where you must register the driver manually, but here is how you can set proper values in the system registry so that the driver section will appear in the driver listing in the dialog.

1. Add an entry of the database driver in
     HKEY_LOCAL_MACHINE  
SOFTWARE
ODBC
ODBCINST.INI

2. Set parameters for the entry.
3. Add a string value in
     HKEY_LOCAL_MACHINE
SOFTWARE
ODBC
ODBC Drivers

Flask の Blueprint のテンプレート問題

  Flask の Blueprint は、ルート、静的ファイル、テンプレートをまとめて管理できます。しかし、テンプレートが指定できません。 ここでは、Blueprint の template_folder の問題点と回避策を説明します。 Blueprint のテンプレート問題...