首页 > 数据库技术 > 详细

mysql python 交互

时间:2019-03-29 15:40:19      阅读:206      评论:0      收藏:0      [点我收藏+]

 

一、安装

    sudo apt-get install pymysql

    sudo pip3 install pymysql

     Connection对象

  • 用于建立与数据库的连接
  • 创建对象:调用connect()方法
  conn=connect(参数列表)
  • 参数host:连接的mysql主机,如果本机是‘localhost‘
  • 参数port:连接的mysql主机的端口,默认是3306
  • 参数db:数据库的名称
  • 参数user:连接的用户名
  • 参数password:连接的密码
  • 参数charset:通信采用的编码方式,默认是‘gb2312‘,要求与数据库创建时指定的编码一致,否则中文会乱码

      对象的方法

  • close()关闭连接
  • commit()事务,所以需要提交才会生效
  • rollback()事务,放弃之前的操作
  • cursor()返回Cursor对象,用于执行sql语句并获得结果

 

    Cursor对象

  • 执行sql语句
  • 创建对象:调用Connection对象的cursor()方法
  cursor1=conn.cursor()

      对象的方法

  • close()关闭
  • execute(operation [, parameters ])执行语句,返回受影响的行数
  • fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元组
  • next()执行查询语句时,获取当前行的下一行
  • fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回
  • scroll(value[,mode])将行指针移动到某个位置
    • mode表示移动的方式
    • mode的默认值为relative,表示基于当前行移动到value,value为正则向下移动,value为负则向上移动
    • mode的值为absolute,表示基于第一条数据的位置,第一条数据的位置为0

     对象的属性

  • rowcount只读属性,表示最近一次execute()执行后受影响的行数
  • connection获得当前连接对象

  

 

、python 与mysql 连接代码

from pymysql import *
try:
    conn=Connection(host="localhost",port=3306,user="root",passwd="mysql",db=python3,charset="utf8")
    cursor1=conn.cursor()
    sql="insert into students(name) values(‘郭小二‘)"
    #sql="update students set name= ‘王小二‘ where id = 9"
    #sql="delete from students shere id=9"
    cursor1.execute(sql)
    conn.commit()
    cursor1.close()
    conn.close()
except Exception :
    print("错误")

 查询:

import MySQLdb
try:
    conn=MySQLdb.connect(host=localhost,port=3306,db=test1,user=root,passwd=mysql,charset=utf8)
    cur=conn.cursor()
    cur.execute(select * from students)
    result=cur.fetchall()
    print result
    cur.close()
    conn.close()
except Exception,e:
    print e.message

 

三、sql语句参数化

防止sql注入 

from pymysql import *
try:
    conn=Connection(host="localhost",port=3306,user="root",passwd="mysql",db=python3,charset="utf8")
    cursor1=conn.cursor()
    sname=raw_input("请输入学生姓名:")
params=[sname]

cursor1.execute("insert into students(sname) values(%s)",params) conn.commit() cursor1.close() conn.close()
except Exception : print("错误")

 

mysql python 交互

原文:https://www.cnblogs.com/ql0302/p/10621196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!