問題タブ [python-db-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - デフォルトでDB API 2.0の自動コミットがオフになっている理由は?
PEP 249 -- Python データベース API 仕様 v2.0の説明の.commit()には次のように記載されています。
データベースが自動コミット機能をサポートしている場合、これは最初はオフにする必要があることに注意してください。再びオンにするためのインターフェースメソッドが提供される場合があります。
ほとんどのデータベースがデフォルトで自動コミットすることを考えると、その背後にある理論的根拠は何ですか?
python - psycopg2 を使用して複数の行を挿入する
psycopg2: insert multiple rows with one queryによると、 executemany の代わりにpsycopg2のexecuteを使用する方がはるかに効率的です。他の人は確認できますか?
上記の StackOverflow の質問は、次のようなステートメントを作成するためにmogrifyを使用することを提案しています。
通常の実行機能を使用してそのようなステートメントを生成することは可能ですか? 私はその形の何かを考えました
動作します。
アップデート:
たとえば、SQL ステートメントを実行に渡してみました。
次のタプルで:
しかし、私が戻ってきたのはエラーだけでした:
取得する結果がありません
python - %s を使用した Python MySQL コネクタ データベース クエリが失敗する
ユーザー情報を含むデータベースを照会することになっている基本的なプログラムがあります。特定のユーザーの情報を選択してコンソールに出力しようとしています。
これが私のコードです:
後で tkinter エントリ ボックスからユーザー名を取得する予定があるため、ユーザー名を変数に格納しています。このコードを実行すると、次のエラーが発生します。
クエリで %s を引用符で囲んでみましたが、文字どおりユーザー名 '%s' が検索され、何も返されません。このユーザーのみに対してデータベースを照会できるようにコードを変更するにはどうすればよいですか?
ありがとうございました。
参考までに、私は python 3.3 を使用しています。
python - Python の DBAPI を使用して、移植可能なデータベース スキーマを検証するにはどうすればよいでしょうか?
私は、少なくとも 3 つの異なるデータベース サーバー バックエンド (SQLite3、PostgreSQL、および MySQL) で使用できるユーティリティを作成しています。私は ORM を使用していません (ただし、プロトタイプを完成させた後、SQLAlchemy を使用してフォークを試し、他のツール (将来的には他の言語から) からアクセスできるようにスキーマを維持する方法に十分慣れました)。
私は、自分自身の質問に答え、質問を開いて議論のために回答することに関する StackOverflow のポリシーの精神でこれを投稿しています。
以下の回答に投稿されたコードは、意図したスキーマの非常に単純なサブセット (スクリプトの上部近くのハードコード) で事前構成された、サポートされている 3 つのターゲットすべてに対してテストされています。現在、各テーブルに必要な列がすべて含まれていることを確認し、余分な列が存在する場合にのみ警告します。列の内容に関する型やその他の制約をチェックしていません。
(私のユーティリティでは、NULL 値またはコードが適切なデフォルト値を提供できる限り、エンドユーザーが追加の列を追加できるようにする必要があります --- 私のコードは、指定した列のサブセットのみを挿入または更新するためです。 )。
これを達成するためのより良い方法があるか、またはテストで明らかにされていない重大なエラーを犯した場合はお知らせください。
(この質問を扱いやすくするために共有できるSQLFiddleエントリ/リンクを適切に作成する方法を知りたい. . それが機能するかどうか見てみましょう)。
python - エラー: リスト インデックスが範囲外です。SQL クエリから cur.fetchall() を使用して取得した Python 変数が別の SQL クエリに読み込まれない
max_dateCS という名前で保存されている SQL クエリから取得した値があります。この変数は、別の SQL クエリに入力する必要があります。「リストインデックスが範囲外です」というエラーが発生するため、問題に直面しています。
python - PyMySQL が識別子名をエスケープしないようにするにはどうすればよいですか?
私は Python 2.7で PyMySQL を利用しており、次のステートメントを実行しようとしています。
次のパラメータを使用します。
常に次のようになります。
{ProgrammingError}(1064, u"SQL 構文にエラーがあります。''artikel' ('REC_ID', 'odoo_created') の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください\n
VALUES ('48094', '2014-12-' at line 1")
PyMySQL がフォーマット中にすべての文字列をエスケープしているように思えます。テーブル名や列名などのデータベース識別子でそれを防ぐにはどうすればよいですか? SELECT
文字列リテラル ( SELECT * FROM "table"
) からの s は、テーブル ( ) と比較して不可能であるため、ステートメントが破損しSELECT * FROM table
ます。
python - Python PYDBLITE - pydblite にレコードを追加する際のエラー
pydblite
データベース ライブラリを使用する Python スクリプトがあります。データベースが作成され、レコードが追加されたら、コードを実行すると。コードを再度実行すると、エラーが生成されます..ヘルプ
コード
2回目の実行でエラー。