新聞中心
Python 是一種功能強(qiáng)大的編程語(yǔ)言,它已成為許多開(kāi)發(fā)者的首選語(yǔ)言。當(dāng)需要訪問(wèn)數(shù)據(jù)庫(kù)時(shí),Python 也有許多基于不同數(shù)據(jù)庫(kù)的庫(kù),如 MySQL、PostgreSQL、SQLite。在實(shí)踐過(guò)程中,有許多方法,下面將介紹其中的兩種方法。

我們一直強(qiáng)調(diào)成都網(wǎng)站制作、網(wǎng)站建設(shè)對(duì)于企業(yè)的重要性,如果您也覺(jué)得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過(guò)程中的有力推手。專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司不一定是大公司,創(chuàng)新互聯(lián)作為專(zhuān)業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
一、使用 PyMySQL 庫(kù)連接 MySQL 數(shù)據(jù)庫(kù)
1.1 安裝
在 Linux 和 Mac 上,可以在終端中使用以下命令安裝 PyMySQL。
“`
pip install PyMySQL
“`
在 Windows 上,也可以使用以上命令安裝,或下載 PyMySQL 的 Windows 版本。
1.2 使用
要使用 PyMySQL 連接 MySQL 數(shù)據(jù)庫(kù),需要用戶(hù)名、密碼、主機(jī)和數(shù)據(jù)庫(kù)名稱(chēng)??梢栽?Python 中這樣寫(xiě)。
“`Python
import pymysql
connection = pymysql.connect(host=’localhost’, user=’root’,
password=’password’, db=’database_name’)
“`
可以使用之前設(shè)定的連接來(lái)創(chuàng)建和執(zhí)行 MySQL 語(yǔ)句。
“`Python
try:
with connection.cursor() as cursor:
# Create a new record
sql = “INSERT INTO `users` (`eml`, `password`) VALUES (%s, %s)”
cursor.execute(sql, (‘example@domn.com’, ‘123456’))
# connection is not autocommit by default. So you must commit to save
# your changes.
connection.commit()
with connection.cursor() as cursor:
# Read a single record
sql = “SELECT `id`, `password` FROM `users` WHERE `eml`=%s”
cursor.execute(sql, (‘example@domn.com’,))
result = cursor.fetchone()
print(result)
finally:
connection.close()
“`
以上代碼將創(chuàng)建一個(gè)名為 ‘users’ 的表并插入一條記錄。然后從 ‘users’ 表中選擇 eml=example@domn.com 對(duì)應(yīng)的記錄并打印出來(lái)。
除了 PyMySQL 庫(kù),還有其他庫(kù)也可以用于訪問(wèn) MySQL 數(shù)據(jù)庫(kù),比如 mysql-connector-python 和 PyMySQLdb。
二、使用 SQLAlchemy 庫(kù)連接 MySQL 數(shù)據(jù)庫(kù)
2.1 安裝
還是使用 pip 命令可以在 Python 中安裝 SQLAlchemy。
“`
pip install SQLAlchemy
“`
2.2 使用
SQLAlchemy 庫(kù)提供了 ORM 和 SQL 語(yǔ)句兩種方式來(lái)操作數(shù)據(jù)庫(kù)。ORM 會(huì)將數(shù)據(jù)映射到 Python 中的類(lèi)并提供了一個(gè)操作這些類(lèi)的 API。使用 SQL 語(yǔ)句時(shí),需要編寫(xiě) SQL 語(yǔ)句并執(zhí)行。
ORM 方式:
當(dāng)使用 ORM 方式時(shí),首先需要?jiǎng)?chuàng)建一個(gè)引擎。
“`Python
from sqlalchemy import create_engine
engine = create_engine(‘mysql+pymysql://root:password@localhost/database_name’)
“`
然后定義一個(gè)用戶(hù)表。
“`Python
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
users = Table(‘users’, metadata,
Column(‘id’, Integer, primary_key=True),
Column(‘username’, String(32)),
Column(‘password’, String(32)),
Column(’eml’, String(64))
)
“`
接下來(lái)可以使用 SQLalchemy ORM 提供的 API 來(lái)操作數(shù)據(jù)庫(kù)。
“`Python
from sqlalchemy import insert, select
insert_stmt = users.insert().values(username=’user’, password=’password’, eml=’user@example.com’)
engine.execute(insert_stmt)
select_stmt = select([users]).where(users.c.username == ‘user’)
result = engine.execute(select_stmt).fetchall()
print(result)
“`
以上代碼將會(huì)創(chuàng)建一個(gè)名為 ‘users’ 的表并插入一條記錄。之后從 ‘users’ 表中選擇 username=user 對(duì)應(yīng)的記錄并打印出來(lái)。
SQL 語(yǔ)句方式:
當(dāng)使用 SQL 語(yǔ)句方式時(shí),可以使用 SQLAlchemy 的 session 連接數(shù)據(jù)庫(kù)。
“`Python
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
“`
然后就可以使用 SQL 語(yǔ)句來(lái)操作數(shù)據(jù)庫(kù)。
“`Python
from sqlalchemy.sql import text
insert_stmt = text(“INSERT INTO users (username, password, eml) VALUES (:username, :password, :eml)”)
engine.execute(insert_stmt, username=’user’, password=’password’, eml=’user@example.com’)
select_stmt = text(“SELECT * FROM users WHERE username=:username”)
result = engine.execute(select_stmt, username=’user’).fetchall()
print(result)
“`
以上代碼將會(huì)創(chuàng)建一個(gè)名為 ‘users’ 的表并插入一條記錄。之后從 ‘users’ 表中選擇 username=user 對(duì)應(yīng)的記錄并打印出來(lái)。
本文介紹了兩種使用 Python 實(shí)現(xiàn)程序與數(shù)據(jù)庫(kù)無(wú)縫連接的方法。之一種是使用 PyMySQL 庫(kù)連接 MySQL 數(shù)據(jù)庫(kù),并執(zhí)行 SQL 語(yǔ)句。第二種是使用 SQLAlchemy 庫(kù)連接 MySQL 數(shù)據(jù)庫(kù),并使用 ORM 或 SQL 語(yǔ)句操作數(shù)據(jù)庫(kù)。實(shí)驗(yàn)驗(yàn)證了這兩種方法都可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和操作。開(kāi)發(fā)者可以通過(guò) Python 中不同庫(kù)的選項(xiàng),按需為項(xiàng)目選擇最適合的庫(kù)來(lái)進(jìn)行開(kāi)發(fā)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
如何將該P(yáng)ython爬取的數(shù)據(jù)存入MySQL中,數(shù)據(jù)庫(kù)表帶id
python爬取到的json數(shù)返祥據(jù)怎么存入到MySQL數(shù)據(jù)庫(kù)中
json的數(shù)沒(méi)激據(jù)json.loads進(jìn)來(lái)以后會(huì)變成一個(gè)json的對(duì)象,你需要漏察搏自己把python對(duì)象中的字段值取出來(lái),拼成sql語(yǔ)句
python 將數(shù)據(jù)導(dǎo)入到sqlite數(shù)據(jù)庫(kù)
正蔽胡則確實(shí)很奇伏友葩。宏廳攔。
關(guān)于python將程序?qū)懭霐?shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)-老牌IDC、云計(jì)算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計(jì)算服務(wù)、IT信息化、AI算力租賃平臺(tái)(智算云),軟件開(kāi)發(fā),網(wǎng)站建設(shè),咨詢(xún)熱線:028-86922220
文章題目:Python實(shí)現(xiàn)程序與數(shù)據(jù)庫(kù)的無(wú)縫連結(jié)(python將程序?qū)懭霐?shù)據(jù)庫(kù))
標(biāo)題URL:http://www.5511xx.com/article/djsgsgs.html


咨詢(xún)
建站咨詢(xún)
