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

我們一直強(qiáng)調(diào)成都網(wǎng)站制作、網(wǎng)站建設(shè)對(duì)于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站設(shè)計(jì)公司不一定是大公司,創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
一、使用 PyMySQL 庫連接 MySQL 數(shù)據(jù)庫
1.1 安裝
在 Linux 和 Mac 上,可以在終端中使用以下命令安裝 PyMySQL。
“`
pip install PyMySQL
“`
在 Windows 上,也可以使用以上命令安裝,或下載 PyMySQL 的 Windows 版本。
1.2 使用
要使用 PyMySQL 連接 MySQL 數(shù)據(jù)庫,需要用戶名、密碼、主機(jī)和數(shù)據(jù)庫名稱。可以在 Python 中這樣寫。
“`Python
import pymysql
connection = pymysql.connect(host=’localhost’, user=’root’,
password=’password’, db=’database_name’)
“`
可以使用之前設(shè)定的連接來創(chuàng)建和執(zhí)行 MySQL 語句。
“`Python
try:
with connection.cursor() as cursor:
# Create a new record
sql = “INSERT INTO `users` (`eml`, `password`) VALUES (%s, %s)”
cursor.execute(sql, (‘[email protected]’, ‘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, (‘[email protected]’,))
result = cursor.fetchone()
print(result)
finally:
connection.close()
“`
以上代碼將創(chuàng)建一個(gè)名為 ‘users’ 的表并插入一條記錄。然后從 ‘users’ 表中選擇 [email protected] 對(duì)應(yīng)的記錄并打印出來。
除了 PyMySQL 庫,還有其他庫也可以用于訪問 MySQL 數(shù)據(jù)庫,比如 mysql-connector-python 和 PyMySQLdb。
二、使用 SQLAlchemy 庫連接 MySQL 數(shù)據(jù)庫
2.1 安裝
還是使用 pip 命令可以在 Python 中安裝 SQLAlchemy。
“`
pip install SQLAlchemy
“`
2.2 使用
SQLAlchemy 庫提供了 ORM 和 SQL 語句兩種方式來操作數(shù)據(jù)庫。ORM 會(huì)將數(shù)據(jù)映射到 Python 中的類并提供了一個(gè)操作這些類的 API。使用 SQL 語句時(shí),需要編寫 SQL 語句并執(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è)用戶表。
“`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))
)
“`
接下來可以使用 SQLalchemy ORM 提供的 API 來操作數(shù)據(jù)庫。
“`Python
from sqlalchemy import insert, select
insert_stmt = users.insert().values(username=’user’, password=’password’, eml=’[email protected]’)
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)的記錄并打印出來。
SQL 語句方式:
當(dāng)使用 SQL 語句方式時(shí),可以使用 SQLAlchemy 的 session 連接數(shù)據(jù)庫。
“`Python
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
“`
然后就可以使用 SQL 語句來操作數(shù)據(jù)庫。
“`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=’[email protected]’)
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)的記錄并打印出來。
本文介紹了兩種使用 Python 實(shí)現(xiàn)程序與數(shù)據(jù)庫無縫連接的方法。之一種是使用 PyMySQL 庫連接 MySQL 數(shù)據(jù)庫,并執(zhí)行 SQL 語句。第二種是使用 SQLAlchemy 庫連接 MySQL 數(shù)據(jù)庫,并使用 ORM 或 SQL 語句操作數(shù)據(jù)庫。實(shí)驗(yàn)驗(yàn)證了這兩種方法都可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問和操作。開發(fā)者可以通過 Python 中不同庫的選項(xiàng),按需為項(xiàng)目選擇最適合的庫來進(jìn)行開發(fā)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
如何將該P(yáng)ython爬取的數(shù)據(jù)存入MySQL中,數(shù)據(jù)庫表帶id
python爬取到的json數(shù)返祥據(jù)怎么存入到MySQL數(shù)據(jù)庫中
json的數(shù)沒激據(jù)json.loads進(jìn)來以后會(huì)變成一個(gè)json的對(duì)象,你需要漏察搏自己把python對(duì)象中的字段值取出來,拼成sql語句
python 將數(shù)據(jù)導(dǎo)入到sqlite數(shù)據(jù)庫
正蔽胡則確實(shí)很奇伏友葩。宏廳攔。
關(guān)于python將程序?qū)懭霐?shù)據(jù)庫的介紹到此就結(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)(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
新聞名稱:Python實(shí)現(xiàn)程序與數(shù)據(jù)庫的無縫連結(jié)(python將程序?qū)懭霐?shù)據(jù)庫)
網(wǎng)頁URL:http://fisionsoft.com.cn/article/djsgsgs.html


咨詢
建站咨詢
