Mysql是使用最广泛的开源Db之一。Python提供了连接到该数据库并使用该数据库来存储和检索其数据的方法。
根据所使用的python环境,可以使用以下方法之一安装pymysql软件包。
# From python console pip install pymysql #Using Anaconda conda install -c anaconda pymysql # Add modules using any python IDE pymysql
现在,我们可以使用以下代码连接到Mysql环境。连接后,我们将查找数据库的版本。
import pymysql #打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) #使用Cursor()方法准备游标对象 cursor = db.cursor() #使用Execute()方法执行SQL查询。 cursor.execute("SELECT VERSION()") #使用fetchone()方法获取单行。 data = cursor.fetchone() print ("Database version : %s " % data) #断开与服务器的连接 db.close()
输出结果
运行上面的代码给我们以下结果-
Database version : 8.0.19
要执行数据库命令,我们先确定一个数据库游标和一个要传递到该游标的Sql查询。然后,我们使用cursor.execute方法从游标执行中获取结果。
import pymysql #打开数据库连接 db = pymysql.connect("localhost","username","paswd","DBname" ) #使用Cursor()方法准备游标对象 cursor = db.cursor() sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > '%d'" % (1000) try: #执行SQL命令 cursor.execute(sql) #获取列表列表中的所有行。 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] #现在打印获取的结果 print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income ) except: print "Error: unable to fecth data" # disconnect from server db.close()
输出结果
运行上面的代码给我们以下结果-
fname = Jack, lname = Ma, age = 31, sex = M, income = 12000