我的python程序是一个实验室化学程序,它将安装在几个不同实验室的许多不同计算机上。所有这些程序都需要能够将信息存储到同一个在线数据库,并从同一个在线数据库中检索信息。什么是我最简单的方法来实现这一目标?
我考虑过使用MySQLdb,但问题是:
这里有一些简单的选择吗?
答案 0 :(得分:1)
首先,您需要一个允许远程连接的数据库主机,因此,在签订主机合同之前,请检查它们是否可以远程访问数据库。
如果您的主机使用它,您只需要获取它们的信息以连接到数据库服务器(通常是主机地址,端口,数据库名称,用户和密码)。
然后,创建一个python文件(例如database.py)来存储这些信息。
最后,在您的程序中,导入这些信息以创建连接。
通常你会:
"""
database.py: provides information to make a database connection
"""
login_info = {
"host":"host_adress",
"user":"user_name",
"password":"very_secret_password",
"database":"database_name",
"port": 3306
}
当然,将dict值更改为您使用主机获得的值。
在你的计划中:
"""
main_program.py: a chemical program
"""
from database import login_info
import mysql.connector
conn = mysql.connector.Connect(**login_info)
curs = conn.cursor()
# STORE
curs.execute("""INSERT INTO table_name(row1,row2) VALUES("foo","bar")""")
conn.commit()
# RETRIVE
curs.execute("""SELECT * FROM table_name""")
results = curs.fetchall()
for result in results:
print(result)
请注意,我正在使用MySQL Connector / Python驱动程序(而不是MySQLdb驱动程序),您可以获得here。 MySQL连接器有一个令人满意的documentation代码示例,可以帮助您。