Heim > Backend-Entwicklung > Python-Tutorial > Python-Datenbankoperationen

Python-Datenbankoperationen

高洛峰
Freigeben: 2016-12-27 13:30:16
Original
1082 Leute haben es durchsucht

Installieren Sie MySQL-Python unter Windows

Download-Adresse: https://pypi.python.org/pypi/MySQL-python/1.2.5 Installieren Sie es einfach im System.

Installieren Sie MySQL-Python unter Linux, um eine Verbindung zu MySQL herzustellen:

Download-Adresse: https://pypi.python.org/pypi/MySQL-python/

Geben Sie nach dem Entpacken das Verzeichnis ein und führen Sie python setup.py install aus

Häufige Probleme, die während des Installationsvorgangs auftreten:

1 mysql_config kann nicht gefunden werden. Dies liegt normalerweise daran, dass mysql mit dem lnmp-One-Click-Installationspaket installiert wird. Der Pfad lautet

. Lösung: Suchen Sie nach mysql_config, um den Speicherort der Datei mysql_config zu finden -s, um einen Softlink zu erstellen.

2. Wenn Ubuntu meldet, dass „x86_64-linux-gnu-gcc“ fehlt, müssen Sie das Python-Dev-Paket installieren:

Lösung: sudo apt -get install python -dev -y

3. Der Befehl „gcc“ ist mit Exit-Status 1 fehlgeschlagen.

wird unter CentOS aufgefordert. Lösung: yum install gcc python-devel -y

Geben Sie nach Abschluss der Installation Python ein und führen Sie import MySQLdb aus, um zu sehen, ob der Import erfolgreich ist.

Ergänzung:

Als ich unter Ubuntu arbeitete, stellte ich fest, dass ich keine Verbindung zur Datenbank herstellen konnte. ss -lnt stellte fest, dass MySQL nur den 3306-Port an der Loopback-Adresse abhörte muss geändert werden.
Ändern Sie Ubuntus MySQL und ändern Sie seinen Überwachungsport 127.0.0.1:3306, um externe Verbindungen zuzulassen:
Bearbeiten Sie /etc/mysql/my.cnf (die Konfigurationsparameter befinden sich möglicherweise in anderen Dateien in diesem Verzeichnis. Schauen Sie genau hin)
Ändern Sie bind-address = 0.0.0.0, um den Zugriff von jeder IP aus zu ermöglichen.
Führen Sie dann /etc/init.d/mysql restart aus, um den MySQLserver-Dienst neu zu starten

# Das Folgende ist ein Beispiel für den Betrieb der Datenbank durch Python:

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
# 操作数据库首先需要创建游标
cur = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句,如下:
# 创建数据表
# cur.execute("create table teacher (id int(5),name varchar(20),class varchar(20),age varchar(10))")
# 插入数据
# cur.execute("insert into teacher values(23,'zhangsan','science',15)")
# 修改数据
# cur.execute("update teacher set id=100 where name='zhangsan'")
# 删除数据
# cur.execute("delete from teacher where id=100")
#插入一条数据【也可以用像下面这种写法】
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.execute(sqli, (23,'zhangsan','science',15))
# 使用executemany一次性向数据表中插入多条值,返回值为受影响的行数。
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.executemany(sqli,[
(11,'wangwu','art',23),
(8,'john','math',22),
(3,'Tom','physical',25),
])
# 最后关闭游标,执行提交操作,并关闭数据库连接
cur.close()
conn.commit()
conn.close()
Nach dem Login kopieren

Daten abrufen und ausgeben

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
cur = conn.cursor()
# 获得表中有多少条数据
aa = cur.execute("select * from teacher")
cur.fetchone() # fetchone()方法可以帮我们获得表中的数据,但是每执行一次输出一行满足条件的值
cur.fetchone()
......
cur.scroll(0,'absolute')# 这样能将游标定位到表中的第一条数据
info = cur.fetchmany(aa)
for i in info:
print i
cur.close()
conn.commit()
conn.close()
Nach dem Login kopieren

Der Herausgeber wird Ihnen so viel über die Datenbankoperationen von Python vorstellen. Ich hoffe, es wird Ihnen hilfreich sein!

Weitere Artikel zu Pythons Datenbankoperationen finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage