我爱编程

mysql与python3交互

2018-04-07  本文已影响0人  小胖写日记

创建数据库表

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost","root","wwy123","d1" )

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

cursor = db.cursor()

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

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

# 使用预处理语句创建表

sql = """CREATE TABLE STUDENTS (

         FIRST_NAME  CHAR(20) NOT NULL,

         LAST_NAME  CHAR(20),

         AGE INT,  

         SEX CHAR(1),

         INCOME FLOAT )"""

cursor.execute(sql)

# 关闭数据库连接

db.close()

创建数据库表

数据库插入操作

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()

插入内容

数据库查询

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost","root","wwy123","d1" )

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

cursor = db.cursor()

# SQL 查询语句

sql = "SELECT * FROM STUDENTS \

       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()

查询

数据库参考:http://www.runoob.com/python3/python3-mysql.html

上一篇 下一篇

猜你喜欢

热点阅读