码迷,mamicode.com
首页 > 数据库 > 详细

Python中pymysql基本使用

时间:2018-09-03 16:26:22      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:date   连接   set   mil   type   exe   插入   建立连接   数据库操作   

 

Python中pymysql模块通过获取mysql数据库命令行游标执行数据库命令来进行数据库操作

  优点:操作数据库语句所见即所得,执行了什么数据库语句都很清楚

  缺点:操作繁琐,代码量多

 

 

1. pymysql的基本使用

# -*- coding:utf-8 -*-
# Author:Wong Du

import pymysql

# 创建链接,相当于建立一个socket
conn = pymysql.Connection(host=10.0.0.100, port=3306, user=root, passwd=123456, db=testdb)

# 建立游标,相当于进入 mysql> 命令操作界面
cursor = conn.cursor()

# 建表,和mysql命令行操作一样
try:
    create_table = cursor.execute(‘‘‘create table student(
                                  id int not null primary key auto_increment,
                                  name char(32) not null,
                                  register_date date not null DEFAULT "2018-05-09" );
                                  ‘‘‘)
except pymysql.err.InternalError as e:
    # print(type(e))
    print("\033[31;1m%s; Do nothing...\033[0m" %e)

# 插入数据
insert = cursor.execute(insert into student (name,register_date) values("junry", "2017-03-14");)
insert2 = cursor.execute(insert into student (name,register_date) values("hongfa", "2015-03-14");)
insert3 = cursor.execute(insert into student (name,register_date) values("jinglin", "2016-03-14");)

# 查看表数据
select = cursor.execute(select * from student;)
for line in cursor.fetchall():
    print(line)

# 修改表数据
update = cursor.execute(update student set name="junwei" where id=1)
select2 = cursor.execute(select * from student;)
print(cursor.fetchone())

# 删除表数据
delete = cursor.execute(delete from student;)
select3 = cursor.execute(select * from student;)
if cursor.fetchall():
    print(cursor.fetchall())
else:
    print("This is a empty table...")

# 提交
conn.commit()

cursor.close()  # 关闭游标
conn.close()    # 关闭连接


# 等等 等等。。。

 

循环插入数据

# -*- coding:utf-8 -*-
# Author:Wong Du

import pymysql

# 建立连接
conn = pymysql.Connect(host=10.0.0.100, port=3306, user=root, passwd=123456, db=testdb)

# 创建游标
cursor = conn.cursor()

# 循环插入列表
many_list = [
    (zhangsan, 2011-11-11),
    (lisi, 2012-11-11),
    (wangwu, 2022-10-09),
]

# 循环插入(插入多条内容)
cursor.executemany("insert into student (name, register_date) VALUE(%s, %s);", many_list)

# 修改游标位置
cursor.scroll(1, mode=relative)   # 相对移动,默认为relative
cursor.scroll(1, mode=absolute)   # 绝对移动

# fetchone()获取一行数据、fetchmany(num)获取指定行数据、fetchall()获取所有行数据
cursor.execute("select * from student;")
for line in cursor.fetchall():
    print(line)

# 清楚student表的数据
cursor.execute("delete from student;")


# 提交
conn.commit()

cursor.close()  # 关闭游标
conn.close()    # 关闭连接

 

Python中pymysql基本使用

标签:date   连接   set   mil   type   exe   插入   建立连接   数据库操作   

原文地址:https://www.cnblogs.com/Caiyundo/p/9578925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!