検索

Python で MYSQL を使用する

Dec 07, 2016 am 10:19 AM
mysql

理由

最近、オンラインページをクロールする必要がある小さなツールをいじっています。次に解析します。結果をデータベースに入れます。

この分野では Python に利点があることを知って、Python を選択しました。

mysqlをインストールしたサーバーがあるので当然それを使います。データベースの運用中に多くの問題に遭遇しましたので、皆さんの励ましのためにここに記録しておきます。

Pythonでmysqlを呼び出す

BaiduはMySQLdbを通じてデータベース操作を実行できるようになります。ドキュメントを確認して、Python が mysql の C 言語 API を直接実装する mysql を提供していることを確認してください。 MySQLdb はそれをより高レベルでカプセル化したものであるため、より使いやすくなっています。 mysql を使用することもできますが、より良い方法は MySQLdb を使用することです

インストール中に問題が発生しました

このページ http://sourceforge.net/projects/mysql-python/ で、MySQLdb の最新バージョンをダウンロードして解凍できます。後でインストールを実行するときに問題が発生する可能性があります。

Python setup.py buildを通じてインストールを実行すると、setuptoolsというモジュールがありません

解決策、インストール

sudo apt-get install python-setuptools

もう一度実行してもエラーが発生する可能性があります mysql_config not found

この時点では mysqld-dev をインストールする必要があります

sudo apt-get install libmysqld-dev

再度実行するとエラーが発生する可能性があります。こんな感じです`

「mysql」拡張機能の構築 gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final', 0 ) -Dversion=1.2.3 -I/usr/include/mysql -I/usr/include/python2.7 -c mysql.c -o build/temp.linux-i686-2.7/mysql.o -DBIG_JOINS=1 - fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX In file added from mysql.c:29:0: pymemcompat.h:10:20: Fatal error: Python.h: No such file or directory

解決策

sudo apt- get install python-dev

このステップでは、Python 用の開発ヘッダー ファイルをいくつかインストールします。

基本的に、最初の 3 つの方法の後は、他に問題はありません。

ただし、mysqlは自分でインストールしたものとする。また、lib ファイルが /usr/local/lib 以下に配置されていない場合はエラーが報告されます。

解決策は、ファイルをこのフォルダーにソフトリンクするか、システムの /etc/ld.so.cnf ファイルを変更して、ライブラリが配置されているフォルダーを配置することです。どちらの方法も機能します。次に、ldconfig でそれを有効にします。

例えば最初の方法を使います ln -s /usr/local/mysql/lib/mysql/libmysqlclient* /usr/lib

実際の使い方

MySQLdbライブラリを導入します

MySQLdbをインポートします

データベースに接続します

conn= MySQLdb.connect(host="localhost", user="root", passwd="sa", db="mytable", charset="utf8")

提供された connect メソッドは、接続を確立するために使用されますデータベースと連携していくつかのパラメータを受け取り、接続オブジェクトを返します

ステートメントを実行して結果を取得します

cursor=conn.cursor() n=cursor.execute(sql,param)

まず接続オブジェクトを使用します次に、cursor が提供するメソッドを使用して作業します。これらのメソッドには、1. コマンドを実行する、2. 戻り値を受け取る

の 2 つの主要なカテゴリがあります。ここは不明

終わり。データベース接続

を閉じるには、ポインタオブジェクトと接続オブジェクトを別々に閉じる必要があります

cursor.close()

conn.close()

よく使う操作API

トランザクション操作のサポート、標準 メソッド commit() Submit

Rollback() Rollback

コマンドを実行するためにカーソルによって使用されるメソッド:

Callproc (self, procname, args): ストアド プロシージャの実行に使用され、受け取ったパラメータは次のとおりですストアド プロシージャ名とパラメータ リスト、戻り値は影響を受ける行の数です

Execute(self, query, args): 単一の SQL ステートメントを実行します。受け取ったパラメータは SQL ステートメント自体と使用されたパラメータ リスト、戻り値はvalue は影響を受ける行の数です

executemany(self, query, args): 単一の SQL ステートメントを実行しますが、パラメーター リスト内のパラメーターを繰り返し実行し、戻り値は影響を受ける行の数です nextset(self): Move次の結果セットへ

戻り値を受け取るためにカーソルによって使用されるメソッド:

fetchall(self): 返されたすべての結果行を受信します。

: fetchmany(self, size=None): 値が返される結果行を受け取ります。 size が返された結果行の数より大きい場合、cursor.arraysize 個のデータが返されます。

fetchone(self): 結果行を返します。

Scroll(self, value, mode='relative'): 移動します。特定の行へのポインタ。 mode='relative' とすると、現在の行から値 bar を移動します。

とすると、結果セットの最初の行から値 bar を移動します。最後に一文

コンピューターは ubuntu14.04 にアップグレードされ、再度インストールされました。 以前のブログ リポジトリはなくなっており、github から再びプルバックされました。何か問題が発生しました。ファイルを削除してしまい、この記事もほとんど消えてしまいました。今この記事を読むことができて本当に良かったです。


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Pythonアレイに要素をどのように追加しますか?Pythonアレイに要素をどのように追加しますか?Apr 30, 2025 am 12:19 AM

inpython、youappendelementStoalistusingtheappend()method.1)useappend()forsingleelements:my_list.append(4).2)useextend()or = formultipleElements:my_list.extend(another_list)ormy_list = [4,5,6] .3)forspecificpositions:my_list.insert(1,5).beaware

シバン関連の問題をどのようにデバッグしますか?シバン関連の問題をどのようにデバッグしますか?Apr 30, 2025 am 12:17 AM

シェバンの問題をデバッグする方法には次のものがあります。1。シバン行をチェックして、それがスクリプトの最初の行であり、接頭辞スペースがないことを確認します。 2.通訳パスが正しいかどうかを確認します。 3.通訳を直接呼び出してスクリプトを実行して、シェバンの問題を分離します。 4. StraceまたはTrustsを使用して、システムコールを追跡します。 5.シバンに対する環境変数の影響を確認してください。

Pythonアレイから要素をどのように削除しますか?Pythonアレイから要素をどのように削除しますか?Apr 30, 2025 am 12:16 AM

pythonlistscanbemanipulatedsingseveralmethodstoremoveElements:1)theremove()methodremovesthefirstoccurrenceofaspecifiedValue.2)thepop()methop()methodremovessanelementatagivenindex.3)thedelstatementementementementementementementementementemoritemoricedex.4)

Pythonリストに保存できるデータ型は何ですか?Pythonリストに保存できるデータ型は何ですか?Apr 30, 2025 am 12:07 AM

Integers、strings、floats、booleans、otherlists、anddictionaryを含むpythonlistscanstoreanydatype

Pythonリストで実行できる一般的な操作は何ですか?Pythonリストで実行できる一般的な操作は何ですか?Apr 30, 2025 am 12:01 AM

PythonListsSupportNumersoperations:1)AddingElementSwithAppend()、Extend()、Andinert()

numpyを使用してマルチディメンシャルアレイをどのように作成しますか?numpyを使用してマルチディメンシャルアレイをどのように作成しますか?Apr 29, 2025 am 12:27 AM

Numpyを使用して多次元配列を作成すると、次の手順を通じて実現できます。1)numpy.array()関数を使用して、np.array([[1,2,3]、[4,5,6]])などの配列を作成して2D配列を作成します。 2)np.zeros()、np.ones()、np.random.random()およびその他の関数を使用して、特定の値で満たされた配列を作成します。 3)アレイの形状とサイズの特性を理解して、サブアレイの長さが一貫していることを確認し、エラーを回避します。 4)np.reshape()関数を使用して、配列の形状を変更します。 5)コードが明確で効率的であることを確認するために、メモリの使用に注意してください。

Numpyアレイの「ブロードキャスト」の概念を説明します。Numpyアレイの「ブロードキャスト」の概念を説明します。Apr 29, 2025 am 12:23 AM

BroadcastinginNumPyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.Itsimplifiescode,enhancesreadability,andboostsperformance.Here'showitworks:1)Smallerarraysarepaddedwithonestomatchdimensions.2)Compatibledimensionsare

データストレージ用のリスト、array.array、およびnumpy配列を選択する方法を説明します。データストレージ用のリスト、array.array、およびnumpy配列を選択する方法を説明します。Apr 29, 2025 am 12:20 AM

Forpythondatastorage、chooseLists forfficability withmixeddatypes、array.arrayformemory-efficienthogeneousnumericaldata、およびnumpyArrays foradvancednumericalcomputing.listSareversatilebuteficient efficient forlargeNumericaldatates;

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。