python3操作mysql

python3操作mysql

主题

python3中使用的是PyMySQL库来操作mysqlpython2中使用的是mysqldb

在使用PyMySQL之前,需要先安装PyMySQL

Pip3 install PyMySQL

或者

$ git clone https://github.com/PyMySQL/PyMySQL

$ cd PyMySQL/

$ python3 setup.py instal

或者

$ # X.X PyMySQL 的版本号

$ curl -L https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X | tar xz

$ cd PyMySQL*

$ python3 setup.py install

$ # 现在你可以删除 PyMySQL* 目录

方法有很多,只要想学


连接数据库

#!/usr/bin/python3

 

import pymysql

 

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

 

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

 

# 使用 execute()  方法执行 SQL 查询 

cursor.execute("SELECT VERSION()")

 

# 使用 fetchone() 方法获取单条数据.

data = cursor.fetchone()

 

print ("Database version : %s " % data)

 

# 关闭数据库连接

db.close()



创建表

#!/usr/bin/python3

 

import pymysql

 

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

 

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

 

# 使用 execute() 方法执行 SQL,如果表存在则删除

cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

 

# 使用预处理语句创建表

sql = """CREATE TABLE EMPLOYEE (

         FIRST_NAME  CHAR(20) NOT NULL,

         LAST_NAME  CHAR(20),

         AGE INT,  

         SEX CHAR(1),

         INCOME FLOAT )"""

 

cursor.execute(sql)

 

# 关闭数据库连接

db.close(


数据插入操作


#!/usr/bin/python3

 

import pymysql

 

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

 

# 使用cursor()方法获取操作游标 

cursor = db.cursor()

 

# SQL 插入语句

sql = """INSERT INTO EMPLOYEE(FIRST_NAME,

         LAST_NAME, AGE, SEX, INCOME)

         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:

   # 执行sql语句

   cursor.execute(sql)

   # 提交到数据库执行

   db.commit()

except:

   # 如果发生错误则回滚

   db.rollback()

 

# 关闭数据库连接

db.close()


或者

#!/usr/bin/python3

 

import pymysql

 

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

 

# 使用cursor()方法获取操作游标 

cursor = db.cursor()

 

# SQL 插入语句

sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \

       LAST_NAME, AGE, SEX, INCOME) \

       VALUES ('%s', '%s', '%d', '%c', '%d' )" % \

       ('Mac', 'Mohan', 20, 'M', 2000)

try:

   # 执行sql语句

   cursor.execute(sql)

   # 执行sql语句

   db.commit()

except:

   # 发生错误时回滚

   db.rollback()

 

# 关闭数据库连接

db.close()



数据库查询

#!/usr/bin/python3

 

import pymysql

 

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

 

# 使用cursor()方法获取操作游标 

cursor = db.cursor()

 

# SQL 查询语句

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 fetch data")

 

# 关闭数据库连接

db.close()


数据库更新

#!/usr/bin/python3

 

import pymysql

 

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

 

# 使用cursor()方法获取操作游标 

cursor = db.cursor()

 

# SQL 更新语句

sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')

try:

   # 执行SQL语句

   cursor.execute(sql)

   # 提交到数据库执行

   db.commit()

except:

   # 发生错误时回滚

   db.rollback()

 

# 关闭数据库连接

db.close()




删除操作


#!/usr/bin/python3

 

import pymysql

 

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

 

# 使用cursor()方法获取操作游标 

cursor = db.cursor()

 

# SQL 删除语句

sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)

try:

   # 执行SQL语句

   cursor.execute(sql)

   # 提交修改

   db.commit()

except:

   # 发生错误时回滚

   db.rollback()

 

# 关闭连接

db.close()



注意在对数据库的操作中增删改都需要执行完sql语句后,提交到数据库执行 db.commit()


数据查询

使用fetchone()该方法获取下一个查询结果集。结果是一个对象

fetchall()接受全部的返回结果行

rowcount 只读属性,返回的是执行execute()方法后受影响的行数








你可能感兴趣的:(python,mysql)