每天一篇python之第二天python连接mysql执行增删查改

每天一篇python之第二天python连接mysql执行增删查改

 

=============================================

环境:

windows10

eclipse4.5.0

python3.5

PyMySQL (0.7.11)

==============================================

1.pymysql参数说明:【本来应该放在第一篇的,就这样吧】

pymysql.Connect()参数说明:
host(str):      MySQL服务器地址
port(int):      MySQL服务器端口号
user(str):      用户名
passwd(str):    密码
db(str):        数据库名称
charset(str):   连接编码

connection对象支持的方法:
cursor()        使用该连接创建并返回游标
commit()        提交当前事务
rollback()      回滚当前事务
close()         关闭连接

cursor游标对象支持的方法:
execute(op)     执行一个数据库的查询命令
fetchone()      取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall()      获取结果集中的所有行
rowcount()      返回数据条数或影响行数
close()         关闭游标对象

2.示例代码

#需要安装PyMySQL插件:pip install PyMySQL

#导入pymysql.cursors模块
import pymysql.cursors

#连接数据库
connection = pymysql.connect(
    host = '192.168.88.200',
    port = 3306,
    user = 'root',
    password = 'root',
    db = 'python_demo',
    charset = 'utf8',
    cursorclass=pymysql.cursors.DictCursor
    )

try:
    #使用cursor()方法获取游标对象
    cursor = connection.cursor()
    print(cursor)
    
    #定义sql语句
    
    #创建一个表,只能执行一次,第二次会报错,需要注释掉下面执行语句
    sql1 = 'create table demo01(id int ,name varchar(20),class varchar(30),age varchar(10))'
    #插入一条数据
    sql2 = "insert into demo01 (id,name,class,age) values ('%s','%s','%s','%s')"
    into = ('1','chenjw','3 year 3 class','19')
    #查询数据
    sql3 = 'select * from demo01;'
    #执行sql语句
    cursor.execute(sql1)
    #连续插入10条数据
    for i in range(10):
        cursor.execute(sql2 % into)
    cursor.execute(sql3)
    #sql语句输出结果赋予result
    result = cursor.fetchall()
    #输出结果
    print(result)

finally:
    #关闭连接,否则会消耗应用及mysql资源
    connection.close()
    # 关闭游标
    cursor.close()

 转载请注明出处:http://www.cnblogs.com/chenjw-note/articles/6906056.html

posted @ 2017-05-25 21:28  chenjianwen  阅读(130)  评论(0编辑  收藏  举报