一、操作mysql

首先,python3操作mysql.需要安装第三方模块pymysql,在python2中则使用的是pysqldb。这里使用pymysql.

直接使用pip install pymysql或python3 setup.py install安装。

1.1连接mysql

import pymysql
#数据库连接信息
host='127.0.0.1'
user='db'
password='' #密码只能是字符串
db='db'
port=3306#端口号只能写int类型
charset='utf8'#只能写utf8,不能写utf-8
conn = pymysql.connect(host=host,password=psassword,
user=user,db=db,port=port,
charset=charset,autocommit=True
)#建立连接
#autocommit=True往数据库写数据时,需要commit下,这个参数表示自动提交。
cur=conn.cursor#创建游标
sql='select * from app_users limit 5;'
cur.execute(sql)#只是执行sql语句,并不返回执行sql的结果
print(cur.fetchall())#执行上述mysql语句,把结果放到cur,通过fetchall将执行sql后的结果取出来,默认返回的是二维元组
print(cur.description())#获取这个表里所有字段的属性信息
cur.close()#关闭游标
conn.close()#关闭连接
#创建游标,操作设置为字典类型,返回结果为字典格式!不写默认是元组格式!
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
#接收数据有三种方式:
res = cursor.fetchone() #接收返回的第一行数据
ret = cursor.fetchmany(n) #接收返回的前n行数据,数组格式
req = cursor.fetchall() #接收返回的所有数据,数组格式
#获取最新的自增ID
new_id=cursor.lastrowid
print(new_id)
conn.rollback()#回滚当前游标的所有操作

1.2创建数据库表

import pymysql
host='127.0.0.1'
user='jxz'
password='' #密码只能是字符串
db='jxz'
port=3306#端口号只能写int类型
charset='utf8'#只能写utf8,不能写utf-8
conn = pymysql.connect(host=host,password=password,
user=user,db=db,port=port,
charset=charset,autocommit=True
)#建立连接
#autocommit=True往数据库写数据时,需要commit下,这个表示自动提交。
cur= conn.cursor() #建立游标
sql='create table LYH (username char(20),age int,sex char(20))'
cur.execute(sql)
print(cur.fetchall())
cur.close()
conn.close()

1.3插入数据

import pymysql
host='127.0.0.1'
user='jxz'
password='' #密码只能是字符串
db='jxz'
port=3306#端口号只能写int类型
charset='utf8'#只能写utf8,不能写utf-8
conn = pymysql.connect(host=host,password=password,
user=user,db=db,port=port,
charset=charset,autocommit=True
)#建立连接
#autocommit=True往数据库写数据时,需要commit下,这个表示自动提交。 cur= conn.cursor() #建立游标
sql='insert into LYH (username,age,sex) VALUES ("liuyihan",18,"女")'
cur.execute(sql)
cur.close()
conn.close()

二、操作redis

redis是一种nosql数据库,是一种高性能的key-value数据库。其特点有以下三个:

  • 数据可持久化地保存在磁盘中,重启时可再次加载使用
  • value可存储string,list,set,hash等数据结构
  • 支持master-slave数据备份

通过redis desktop manager连接工具,也操作redis数据库。具体方法如图:

通过python操作redis,首先安装redis模块。

import redis
import random
ip='127.0.0.1'
password='******'
r=redis.Redis(host=ip,password=password,port=6379,db=1)
#操作string类型的值
# res=r.get('liuyihan')
# print(res)
# s='ss'
# print(s.encode())#将字符串变成bytes类型,二进制类型
# print(res.decode())#将二进制类型转变成字符串类型
# r.flushdb()#清空所有表
# r.set('lyh','ftt',50)#50指定key50S后失效
# r.delete('gta')#删除指定的key
# r.setex('lyh','233',40)#40是指定value40S后失效
# token:lyh#冒号前的表示文件夹
r.set('message:lyh','excel,word')#冒号:前的是文件夹,冒号:后的是key,‘excel,word'是values
# print(r.keys())#获取数据库中的所有key,返回一个列表
#hash类型,二层字典
# token={'lyh':{'age':'18','firm':'DJ'}}
r.hset('Message','LYH',"Shenzen")
print(r.hget('jnz_stus','cm'))
# res=r.hgetall('jnz_stus')
# print(res)
# new={}
# for key,value in enumrate(res):
# new[key.decode()]=value.decode()
# print(new)

python之操作数据库的更多相关文章

  1. MySQL---连接器(python如何操作数据库媒介,基于python语言)

    MySQL — 连接器 连接器的概念 它们往往是一类Python包,或者是一类已经写好的Python库.这些库提供了我们Python去连接数据库服务器的基本功能. ​ 既然它是一个包,那么我们首先学会 ...

  2. Python:操作数据库

    (一)      前言 本文说明如何连接Oracle.MySQL.sqlserver,以及执行sql.获取查询结果等. (二)      DB-API      DB-API阐明一系列所需对象和数据库 ...

  3. Python连接操作数据库

    步骤: 1.创建与数据库的连接对象: 2.创建游标: 3.通过游标执行语句 4.增删改需要提交(commit)数据 5.关闭连接 如: import MySQLdb   # Python通过MySQL ...

  4. python中操作数据库

    python中要操作数据库,要使用该数据库在python中对应的驱动库,本文介绍python操作mysql数据库 1.首先安装pymysql 2.导入库 3.建立连接 4.建立游标 5.发起请求 6. ...

  5. python 连接操作数据库(二)

    一.我们接着上期的博客继续对ORM框架进行补充,顺便把paramiko模块也给大家讲解一下: 1.ORM框架: 在连接操作数据库的第一个博客中也已经说了,sqlalchemy是一个ORM框架,总结就是 ...

  6. python 多线程操作数据库

    如果使用多线程操作数据库,容易引起多用户操作锁表 OperationalError: (2013, 'Lost connection to MySQL server during query') 使用 ...

  7. python 连接操作数据库(一)

    一.下面我们所说的就是连接mysql的应用: 1.其实在python中连接操作mysql的模块有多个,在这里我只给大家演示pymysql这一个模块(其实我是感觉它比较好用而已): pymysql是第三 ...

  8. python redis操作数据库方法

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  9. Python——连接操作数据库

    1.安装MySQL驱动程序.下载自动安装包,双击安装即可,非常简单. 2.连接MySQL,下面是Python示例代码. import MySQLdbconn=MySQLdb.connect(host= ...

随机推荐

  1. MySQL视图和事务

    视图的操作                                                                                                ...

  2. JAVE官方文档

    官网地址:http://www.sauronsoftware.it/projects/jave/manual.php JAVE manual Installation and requirements ...

  3. 【系统安装】如何在VMware软件中安装ghost格式的系统

    一.安装准备 1.系统虚拟环境软件:VMware软件(下载链接) 2.系统镜像制作软件:UltraISO[软碟通是光盘映像文件制作/编辑/转换工具](下载链接) 3.系统安装辅助软件:Win7PE(下 ...

  4. 打水滴(BFS)

    在一个n行m列的网格中,某些位置存在一些水滴.嘟嘟进行q次打水滴操作,每次嘟嘟在某一个网格当中添加一个水滴,当某一网格中的水滴数量超过L时,该网格中的水滴变为四个水滴,并分别向上下左右四个方向飞出,每 ...

  5. UVA 10801 多线程最短路

    题意:一栋摩天大楼从0层到K层,有N部电梯,每个电梯都有自己的运行速度,此外,对于某个电梯来说,并不是每一层都会停,允许在某一层进行电梯换乘,每次换乘固定消耗60秒,最终求从0层去K层的最短时间,如果 ...

  6. 宝塔面板,Typecho,Lsky Pro图床安装

    宝塔面板,Typecho,Lsky Pro图床安装 本文安装包:链接:https://cloud.cangye.me/s/l3i4avjl 密码是宝塔面板4个汉字拼音首字母小写(防止被爬) 一,宝塔面 ...

  7. fscanf的用法

    fscanf用于读取字符串数据流,遇到空白字符(空格' '; 制表符'\t'; 新行符'\n')就停止,若要读取完整的一行数据,可以使用格式控制("%[^\n]%*c"),或者使用 ...

  8. MyBatis从入门到精通(第4章):MyBatis动态SQL【if、choose 和 where、set、trim】

    (第4章):MyBatis动态SQL[if.choose 和 where.set.trim] MyBatis 的强大特性之一便是它的动态 SQL.MyBatis 3.4.6版本采用了功能强大的OGNL ...

  9. jetbrains系列产品 永久注册方法

    使用方法: 0. 先下载压缩包解压后得到jetbrains-agent.jar,把它放到你认为合适的文件夹内. 下载列表地址:https://zhile.io/files/jetbrains-agen ...

  10. python tricks 01

    01: 考察range/sort/lambda 对以下数据进行排序 原数据: [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5] 目标数据: [0, -1, 1, -2, 2 ...