PyMongo を使った内部結合の実装です。classics テーブル、baroque テーブルの内部結合を キー composer_id で照らし合わせたものです。
外部結合なら $match の部分なしで結果がとれます。
_id で照らし合わせる場合、ObjectId(id) で合わせるか文字列へ変換するか気を付ける必要があります。
月曜日, 7月 22, 2019
金曜日, 11月 03, 2017
MySQL でコラム(列)の値を交換
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() メソッドを使います。
クエリをそのままかくのもいいんですが、パラメタ化してエスケープするやり方です。
このカッコ、コンマは省略できません。
ここまでは既出だと思うんですが、ここで % を使いたい場合。
つまんない話なんですが、ネットでなかったんですよね。直接の記述が。これパラメタそのものをいじればいいんです。
これで%が使えます (いや、それだけです)。
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# でいうと以下のようなコードとなります。
DataObject が機能していることが前提です。
C# でいうと以下のようなコードとなります。
火曜日, 2月 25, 2014
MySQL: テーブル構造を取得し、SQL文に変換する
MySQLでテーブル構造を取得するには、DESCRIBE (テーブル名) などのSQL文を使用します。
これをSQL文に変換するには、テーブルの情報をSQL文の形式でそれぞれ記述してやる必要があります。
ここで気をつけねばならないのは、timestamp値をとるコラムです。
デフォルト値に CURRENT_TIMESTAMP をとるコラムは、TIMESTAMP 値をとるコラムより前に記述しなければなりません。
コラムを並べ替える必要があります。
ここでは array_unshift() という関数を使用し、CURRENT_TIMESTAMP をとるコラムを配列の最初に格納するという方法をとりました。
ソースコード: GitHub: tablestructure.php
これを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
火曜日, 4月 21, 2009
オラクルのサン買収、狙いはハードウェアとソフトウェアの統合システム
オラクルがサンを74億ドルで買収したということです。
サンの買収は、IBMなどの交渉など、メディアの注目が集まっていましたね。
→ オラクルのサン買収、狙いはハードウェアとソフトウェアの統合システム (2009-4-21)
オラクルはデータベースからの収益が約5割だそうです。
→ ■[企業経営]オラクル、サン買収の先にはCommentsAdd Star
サンは以前にMySQLを買収しているので、行方が気になるところではあります。
→ ■[雑感]どうなるMySQL。オラクルがサンを買収CommentsAdd Starshingotadahasaqui
サンの買収は、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.
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
2. Set parameters for the entry.
3. Add a string value in
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
登録:
投稿 (Atom)
Flask の Blueprint のテンプレート問題
Flask の Blueprint は、ルート、静的ファイル、テンプレートをまとめて管理できます。しかし、テンプレートが指定できません。 ここでは、Blueprint の template_folder の問題点と回避策を説明します。 Blueprint のテンプレート問題...
-
Qt はまってます。Mac でも書いたアプリがコンパイルできて、しっかり動くのを確認しました。このあいだ Chitubox が Qt 使ってるのを知ってうれしかったです。 Mac でもそのまま動くんですが、アプリのアイコンの設定はプラットフォーム依存です。 公式マニュアルでも設定...
-
コンデンサマイク 極性があります コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。 ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。 ...
-
今日ホール素子が届きました。 ホール素子ってのは ホール効果 を利用して磁場を感知するセンサーです。 iPad のケースとか、閉じると電源が切れてくれますよね。ケースのカバーの磁石の磁場をホール素子が感知してるわけです。 さっそくホール素子を使ってみよう!電圧...
