この記事では主に Python を使用して MySQL に接続するいくつかの方法を紹介します。実際の状況に応じて適切な接続方法を選択してください。
近年多くの NoSQL データベースが普及していますが、MySQL と同様です。リレーショナル データベースは、依然としてインターネット上で主流のデータベースの 1 つです。データ分析、Web クローリング、Web 開発、機械学習のいずれを行う場合でも、Python を学ぶ人は必ずデータベースを学ぶ必要があります。この記事では、Python で MySQL を操作するためのいくつかの方法を紹介します。実際の開発プロセスでは、実際の状況に応じて合理的に選択できます。
1. MySQL-python
MySQL-python (MySQLdb とも呼ばれます) は、Python が MySQL に接続するための最も一般的なドライバーでもあり、残念ながら、Python2 のみをサポートしています。 x. さらに、C ベースで開発されたライブラリであるため、インストール時に多くの前提条件があります。Windows プラットフォームにインストールするのは非常に不親切で、失敗することがよくあります。現在使用することは基本的にお勧めできません。派生バージョン。
# 前置条件 sudo apt-get install python-dev libmysqlclient-dev # Ubuntu sudo yum install python-devel mysql-devel # Red Hat / CentOS # 安装 pip install MySQL-python
Windows は、exe ファイルをダウンロードすることで直接インストールできます。公式アカウントに「win」と返信してダウンロード リンクを取得します
#!/usr/bin/python import MySQLdb db = MySQLdb.connect( host="localhost", # 主机名 user="john", # 用户名 passwd="megajonhy", # 密码 db="jonhydb") # 数据库名称 # 查询前,必须先获取游标 cur = db.cursor() # 执行的都是原生SQL语句 cur.execute("SELECT * FROM YOUR_TABLE_NAME") for row in cur.fetchall(): print(row[0]) db.close()
2。 MySQL-python の破壊、その後登場しました。そのフォーク バージョンの mysqlclient は MySQLdb と完全に互換性があり、Python3.x をサポートしています。データベースを操作するためにネイティブ SQL を使用したい場合は、このドライバーをお勧めします。インストール方法は MySQLdb と同じです。Windows では、対応するバージョンの whl パッケージのダウンロードとインストールを https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient で見つけることができます。
# Windows安装 pip install some-package.whl # linux 前置条件 sudo apt-get install python3-dev # debian / Ubuntu sudo yum install python3-devel # Red Hat / CentOS brew install mysql-connector-c # macOS (Homebrew) pip install mysqlclient
pip install PyMySQL
# 为了兼容mysqldb,只需要加入
pymysql.install_as_MySQLdb()
import pymysql conn = pymysql.connect(host='127.0.0.1', user='root', passwd="xxx", db='mysql') cur = conn.cursor() cur.execute("SELECT Host,User FROM user") for r in cur: print(r) cur.close() conn.close()4、peewee ネイティブSQLを記述するプロセスは非常に面倒で、コードが繰り返されます。オブジェクト指向の考え方がなくなり、多くのパッケージ ラッパーが誕生しました。ORM は Python オブジェクトとデータベースのリレーショナル テーブルの間のマッピング関係です。ORM を使用すると、SQL ステートメントを記述する必要がなくなります。コードの記述速度が向上し、sqlite、mysql、postgresql などのさまざまなデータベース システムと互換性があります。その代償として、パフォーマンスが多少低下する可能性があります。 Django に付属の ORM に精通している場合、peeweee の学習コストはほぼゼロです。これは、Python で最も人気のある ORM フレームワークです。
例
import peewee from peewee import * db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy') class Book(peewee.Model): author = peewee.CharField() title = peewee.TextField() class Meta: database = db Book.create_table() book = Book(author="me", title='Peewee is cool') book.save() for book in Book.filter(author="me"): print(book.title)
pip install peewee
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy_declarative import Address, Base, Person
class Address(Base):
__tablename__ = 'address'
id = Column(Integer, primary_key=True)
street_name = Column(String(250))
engine = create_engine('sqlite:///sqlalchemy_example.db')
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
# Insert a Person in the person table
new_person = Person(name='new person')
session.add(new_person)
session.commit()
impalaに接続するPythonの例の詳細な説明
以上がPython_python を使用して MySQL に接続するいくつかの方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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)コードが明確で効率的であることを確認するために、メモリの使用に注意してください。

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

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

pythonlistsarebetterthanarrays formangingdiversedatypes.1)listscanholdelementsofdifferenttypes、2)adearedditionsandremovals、3)theeofferintutiveoperation likeslicing、but4)theearlessememory-effice-hemory-hemory-hemory-hemory-hemory-adlower-dslorededatas。

toaccesselementsinapythonarray、useindexing:my_array [2] Accessesthirderement、Returning3.pythonuseszero basedIndexing.1)usepositiveandnegativeindexing:my_list [0] forteefirstelement、my_list [-1] exterarast.2)

記事では、構文のあいまいさのためにPythonにおけるタプル理解の不可能性について説明します。 Tupple式を使用してTuple()を使用するなどの代替は、Tuppleを効率的に作成するためにお勧めします。(159文字)

この記事では、Pythonのモジュールとパッケージ、その違い、および使用について説明しています。モジュールは単一のファイルであり、パッケージは__init__.pyファイルを備えたディレクトリであり、関連するモジュールを階層的に整理します。

記事では、PythonのDocstrings、それらの使用、および利点について説明します。主な問題:コードのドキュメントとアクセシビリティに関するドキュストリングの重要性。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









