老雷python教程之pymysql学习及DB类的实现
查看视频教程或者获取有关《老雷python教程》更多信息

老雷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   关闭连接