SQLAlchemy を使ってみる。 目次 SQLAlchemy を使ってみる。 目次 インストール テーブルの作成 手順のおさらい RDBMS への接続 テーブル定義のクラス。 INSERT/UPDATE をする。 INSERT の例 UPDATE について DELETEする。 INSERT・UPDATE・DELETE のキャンセル SELECT について。 all () / first() とその仲間 レコードを返すメソッド一覧 one()について one_or_none について scalar について count について filter の書き方例 IS NULL / IS Not NULL COLNAME = VALUE / COLNAME > VALUE AND について LIKE 句について 直接SQLのWhere句を入れたい limit / offset ORDER BY
I'm looking for a way to debug queries as they are executed and I was wondering if there is a way to have MySQLdb print out the actual query that it runs, after it has finished inserting the parameters and all that? From the documentation, it seems as if there is supposed to be a Cursor.info() call that will give information about the last query run, but this does not exist on my version (1.2.2).
PostgreSQLと同様、いわゆる本格的なデータベースの一つであるMySQLの例です。Pythonに対応したMySQLドライバも数種類あるようですが、本サイトではPyMySQLを使用します。 ドライバのインストール 下記コマンドを入力しPyMySQLをインストールしてください。 ※これはpipがインストールされていることを前提としています。インストールしていない場合はpipの使い方とインストールを参照してください。 pip install PyMySQL insertサンプル データ登録は次のように行います。 import pymysql connector = pymysql.connect( host='localhost', db='sdb', user='msusr', passwd='mspsw', charset='utf8', ) cursor = connector.cu
そういえば、エスケープしてないことに気づいた情弱な俺。 escapeをしようとして。以下の文を書きました。 MySQLdb.escape_string(text); よし、これで今日のお仕事終わり!! とはいきませんでした。 なんと、これだとescape_stringはstr型を取る関数らしく。 unicode型を入れるとasciiに変換できないよ!!といわる。 UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-5: ordinal not in range(128) ちなみに今回登録したい文字列は"なでこ'かわいいよ'なでこ"です。 すこし悩んだのですが MySQLdb.escape_string(text.encode("utf-8")); とすると解決しました。 ちょっと、めんどくさいと思っ
標準ライブラリが充実しているのにMySQLはなぜかオプションのpythonくんです。 そのせいか、よく使われるMySQLdbの情報が少ないので、気づいたところを書いておきます。 fetchone()の結果をディクショナリにしたい 以下のように、cursorclassを指定しておくと、fetchoneの結果がタプルではなくディクショナリになって使いやすいです。 cursor()の第2引数を指定してもOKですが、Warningが出ます。 db = MySQLdb.connect(host='localhost', user='root', passwd='', db='hoge', charset='utf8') db.cursorclass = MySQLdb.cursors.DictCursor LIKE検索したい LIKEで前方・後方をワイルドカード指定したいとき、単純に検索文字列に%を
このblogは、著者である「sakito」が技術的に生存している事を報告するために存在します タイトルを「紹介マニアどらふと版」から変更しました 概要 Python から MySQL に接続するためのドライバは複数存在している。どれを使うのが一番良いのか確認してみる。 Python の MySQLドライバ Python の MySQLドライバの主な物は「MySQL - PythonInfo Wiki」に記載されている。 以下のような物がある。記事を書いた時点でのpypiでの最終リリース日の新しい順。 リンク Python3対応 DB API v2.0対応 ライセンス メンテナー 最終リリース日 概要
去年10月に Python 3 の MySQL ドライバ事情 という記事で次のように書いていました。 多分デファクトスタンダードな MySQLドライバなのですが、現状リリースされている 1.2.4 では Python 3 対応ができていません。 Fork の MySQL-for-Python3 が推奨されます。 最近 MySQL-python の方に Python 3 対応の準備的な Pull Request (古い構文を Python 2/3 両対応の構文に置き換える) がちらほらあり、やっぱり中途半端にメンテされてない Fork より本家に対応してもらわないとなぁということで、エイヤで Python 3 対応してしまって 少し大きめの Pull Request を投げました。 しかし、長年の実績がある本家といえども、個人プロジェクトで、1年に数回しかコミットされてない現状です。 一応、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く