python之操作数据库

一、操作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=‘123456‘ #密码只能是字符串
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=‘123456‘ #密码只能是字符串
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=‘123456‘ #密码只能是字符串
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)

原文地址:https://www.cnblogs.com/balllyh/p/9823415.html

时间: 2024-10-10 13:16:40

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

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

MySQL — 连接器 连接器的概念 它们往往是一类Python包,或者是一类已经写好的Python库.这些库提供了我们Python去连接数据库服务器的基本功能. ? 既然它是一个包,那么我们首先学会导入这个包 #! /usr/bin/env python3 # coding: utf-8 ? from mysql import connector print('导入成功') 执行以上代码 $ python3 test_connector.py 导入成功 表示我们成功导入了相关的包或者模块 连接

python 连接操作数据库

一.下面我们所说的就是连接mysql的应用: 1.其实在python中连接操作mysql的模块有多个,在这里我只给大家演示pymysql这一个模块(其实我是感觉它比较好用而已): pymysql是第三方的一个模块,需要我们自己安装,在这里顺便给大家普及一下安装第三方模块的知识:首先,如果我们在windows上安装的话,需要先安装python解释器,然后里面自带 了pip模块(我们安装第三方模块,都是需要这个命令去安装的),配置完环境变量之后我们就可以直接在dos命令行中执行要安装的模块了,如下:

吴裕雄 python oracle操作数据库(4)

import cx_Oracle conn = cx_Oracle.connect("scott/[email protected]:1521/orcl")cursor = conn.cursor() sql = "insert into dept (deptno,dname,loc) values ('%d','%s','%s')" % (88,'design','beijing')cursor.execute(sql)conn.commit()print('添加

第四篇:python操作数据库时的传参问题

python在操作数据库执行sql的时候我们经常会遇到传参问题,以下是我总结的几种方法: 1.格式化字符串 city = 'beijing'cur.execute("SELECT * FROM %s WHERE city = %s", city) 2.使用字典传递 sql = "INSERT INTO user VALUES(%(username)s, %(password)s, %(email)s)"value = {"username":zh

Python操作数据库(mysql redis)

一.python操作mysql数据库: 数据库信息:(例如211.149.218.16   szz  123456) 操作mysql用pymysql模块 #操作其他数据库,就安装相应的模块 import  pymysql ip='211.149.218.16' port=3306 passwd='123456' user='root' db='szz' conn=pymysql.connect(host=ip,user=user,port=port,passwd=passwd,db=db,cha

python 全栈 数据库 (三) python操作数据库

python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 install pymysql 第二种:IDE下pycharm python环境路径下添加模块 1.2使用操作 #导入模块 import pymysql #建立连接通道,建立连接填入(连接数据库的IP地址,端口号,用户名,密码,要操作的数据库,字符编码) conn = pymysql.connect

Python之MySQLdb操作数据库

一.python操作数据库 1.格式:大概分为三部分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 代码 import MySQLdb conn = MySQLdb.connect(host='192.168.0.180',user='cattle',passwd='cattle',db='cattle') cur = conn.cursor()  #创建连接 reCount = cur.execute('select * from admin') data

python如何用sqlalchemy操作数据库

工具:mysql  python sqlalchemy ---------------------------------------- 准备工作: 1.安装mysql 如果是window环境请参考 win7安装mysql 如果是linux环境请参考 --稍后补充 2.安装python windows: win7安装python2和python3 linux: linux安装python36 linux python2.6.6以后的版本同样要通过源码包安装,看了下这位博主的这篇文章写的非常详细h

用Python进行SQLite数据库操作

用Python进行SQLite数据库操作 -----转自:http://www.cnblogs.com/yuxc/archive/2011/08/18/2143606.html 简单的介绍 SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/L