python pymysql cursors_老雷python基础教程之pymysql学习及DB类的实现

老雷python教程之pymysql学习及DB类的实现

CREATE TABLE `sky_guest` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`title` varchar(50) DEFAULT '' COMMENT '主题',

`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态',

`telephone` varchar(15) NOT NULL DEFAULT '',

`createtime` datetime NOT NULL DEFAULT '2019-01-17 08:08:01' COMMENT '留言时间',

`content` text COMMENT '留言内容',

`reply_content` text COMMENT '回复内容',

`reply_time` datetime NOT NULL DEFAULT '2019-01-17 08:08:01' COMMENT '回复时间',

`nickname` varchar(16) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=82 DEFAULT CHARSET=utf8 COMMENT='留言板';

一、安装使用pip install pymysql

conn=pymysql.connect(user='root', password='123', database='laoleiphp', charset='utf8')

cursor=conn.cursor()

sql="select * from sky_guest limit 10 "

cursor.execute(sql)

lists=cursor.fetchall()

sql="insert into sky_guest set title='测试insert' "

cursor.execute(sql)

conn.commit()

cursor.close()

conn.close()

二、Connection Object

1、连接

conn=pymysql.connect(user='root', password='123', database='laoleiphp', charset='utf8mb4')

2、事务

conn.begin()

conn.commit()

conn.rollback()

3、关闭连接

conn.close()

三、cursor  Object

1、创建游标

cursor=conn.cursor(ops)

2、执行sql

cursor.execute(sql,(id))

cursor.excute("select id from sky_guest limit %s",(4))

3、获取结果

cursor.fetchall()

cursor.fetchone()

4、关闭游标

cursor.close()

5、获取自增id 新增数据

cursor.lastrowid

四、游标

1、默认类型 cursor 元组的方式保存

2、DictCursor 以字典的形式保存

cursor = conn.cursor(pymysql.cursors.DictCursor)

3、SSCursor和SSDictCursor

流式游标会陆陆续续一条一条得返回查询数据,所以这类游标适用于内存低、网络带宽小、数据量大的应用场景中

cursor = conn.cursor(pymysql.cursors.SSCursor)

cursor = conn.cursor(pymysql.cursors.SSDictCursor)

五、DB类实现

setDb   设置数据库连接

query   执行sql语句

getAll  获取所有行

getRow  获取一行

getOne  获取一个字段

getCols 获取一列

insert  插入数据 返回自增id

update  更新数据

delete  删除数据

close   关闭连接

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