python标准数据库接口为Python DB-API,为开发人员提供了数据库应用编程接口

DB-API是一个规范,定义了一系列必须的对象和数据库存取方式,

便于各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口

MySQLdb用于python连接Mysql数据库的接口,

实现了python数据库API规范v2.0,基于mysql c API上建立

使用前需要安装该模块

简单实例:

importMySQLdb#打开数据库连接

db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset="utf8")#使用cursor()方法获取操作游标

cursor =db.cursor()#使用execute方法执行SQL语句

cursor.execute("SELECT VERSION()")

使用fetchone()方法获取一条数据

data=cursor.fetchone()print "Database version: %s" %data#关闭数据库

db.close()

创建数据库表:

可以使用execute()方法来为数据库创建表

数据库插入/更新/删除操作,事务的方式执行

try:

cursor.execute(sql)

db.commit()exceptException,e:

db.rollback()

数据库查询操作:

fetchone():该方法获取下一个查询结果集,结果集是一个对象

fetchall():接受全部的返回结果行

rowcount:这是一个只读属性,并返回执行execute()方法后影响的行数

错误处理:

#!/usr/bin/env python#coding:utf-8

importMySQLdb

conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='123')

conn.select_db('08day5')#选择数据库

cur=conn.cursor()#以元组的形式展示#cur=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)#以字典的形式展示

cur.execute('DROP TABLE IF EXISTS admin')#如果数据表已经存在,则使用execute()方法删除#创建数据表

sql='''CREATE TABLE admin(

id INT PRIMARY KEY AUTO_INCREMENT,

user VARCHAR(20) NOT NULL,

passwd VARCHAR(20) NOT NULL

)'''cur.execute(sql)#插入单条记录

sql='insert into admin(user,passwd) values(%s,%s)'#使用sql语句,无论我们要插入的数据是什么类型,占位符都可以用%s

params=('alex','usa')

cur.execute(sql,params)

conn.commit()#请注意:用commit()提交事务之后,才能真正的插入数据。#插入多条记录(批量插入)

sql='insert into admin(user,passwd) values(%s,%s)'l=[('song','222aaa'),('shi','333bbb'),('yuan','444ccc'),('xing','abcddd'),('cheng','kkjjhh')]

cur.executemany(sql,l)#使用executemany()实现批量插入!

conn.commit()#删除记录

sql='delete from admin where id=%s'params=(3,)

cur.execute(sql,params)

conn.commit()#查询记录

reCount=cur.execute('select * from admin')#返回本次操作影响的记录数

printreCount

data=cur.fetchall()#获得 'select * from admin'语句 返回的结果集

printdata

cur.scroll(0,mode='absolute')#光标回到初始位置0处(绝对定位)

print cur.fetchone()#此时,光标位置为0;返回位置为0的记录

print cur.fetchone()#返回位置为1的记录

cur.scroll(1,mode='absolute')#光标回到1处(绝对定位)

print cur.fetchone()#返回位置为1的记录

cur.scroll(-2,mode='relative')#光标回退2步(相对定位)

print cur.fetchmany(3)#从光标所在的位置(此时,光标位于0处),连续读取3条记录

cur.scroll(1,mode='relative')#光标前进1步(相对定位)

print cur.fetchone()#返回光标(位于4处)指向的那一条记录

print cur.lastrowid #获取插入数据的当自增ID#修改

sql='update admin set passwd=%s where user=%s'params=('123123','song')

cur.execute(sql,params)

conn.commit()

cur.close()

conn.close()

python操作mysql数据库 内存占用100_python操作MySQL数据库相关推荐

  1. python 字典操作 内存占用_关于 python 的 dict 的内存占用问题....

    最近处理数据,有一个地方用的字典储存的,不知道为啥,有个地方的内存占用看不懂啊: 这是第一种: 31 83.4 MiB 0.0 MiB @profile 32 def main(): 33 # dat ...

  2. strace 分析mysql 内存占用_关于mysql cluster适用场景的分析

    前言: mysql cluster作为mysql官方的一个集群软件,一直是不温不火的存在,用的较多的仍是mysql-server,本文就基于mysql cluster的特性,分析一下什么场景下适合使用 ...

  3. mysql5.7内存占用_解决mysql升级到5.7内存占用过大问题

    背景 在只有512M内存的云主机中的mysql随着系统升级更新到5.7后,发现启动后啥都不干内存就占用到160M左右,大大超过之前的使用,这是怎么回事呢? 优化 经过查找资料,在mysql的配置文件中 ...

  4. mysql cpu 内存占用_MySQL占用内存与CPU过高测试与解决办法

    为了装mysql环境测试,装上后发现启动后MySQL占用内存了很大,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过多少M ...

  5. mysql爆内存_线上MySQL数据库机器内存爆掉原因分析与解决

    本文主要向大家介绍了线上MySQL数据库机器内存爆掉原因分析与解决,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 现象: 阿里金融某业务的MySQL机器的内存每隔几天就会增长,涨 ...

  6. UC编程9-管道pipe操作和共享内存段shm操作

    //myuc.h #include<stdio.h>//io流 #include<stdlib.h>//标准库 #include<unistd.h>//uc标准头文 ...

  7. nginx mysql占用率高_nginx/mysql查看内存占用

    查看每个php-fpm平均占用系统内存,也适用看nginx/mysqld等,把php-fpm换成mysqld ps --no-headers -o "rss,cmd" -C php ...

  8. nginx mysql 查询系统_nginx/mysql查看内存占用

    查看每个php-fpm平均占用系统内存,也适用看nginx/mysqld等,把php-fpm换成mysqld ps --no-headers -o "rss,cmd" -C php ...

  9. python实现获取系统内存占用情况

    psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...

最新文章

  1. boost::sort模块实现spreadsort 双排序示例
  2. [分治] Jzoj P5807 简单的区间
  3. scala 数组合并_Scala程序合并两个数组或数组缓冲区
  4. python查询斐波那契数列通项公式_斐波那契数列求解总结(Python版)
  5. ZooKeeper(三) 什么是分布式锁以及使用Redis手写实现
  6. 依赖注入的三种方式_Spring IoC是如何进行依赖注入的
  7. 数组求最大公约数c语言,C语言辗转相除法求2个数的最小公约数
  8. 以太坊互助保险项目Nexus Mutual新增支持Badger DAO
  9. 精通 JS正则表达式(转)
  10. detr 历史解析代码_视觉/ DETR变压器
  11. 企业污染排放数据库、海关数据库
  12. Android 颜色透明度(不透明度)计算
  13. 分享一个空手反套白狼的骚操作
  14. 从唐虞夏商宋五字的甲骨文本意来重温那段历史。
  15. ios企业证书过期更新及推送证书更新(推荐)
  16. 网页游戏未来发展的一些趋势
  17. 游戏获取服务器信息,易语言获取游戏服务器信息
  18. pandas 指定某两行或多行相加
  19. 让你在macOS上快速查看txt文本文件
  20. linux大磁盘管理工具有哪些,Linux中常见的磁盘管理工具有哪些

热门文章

  1. 放弃中国国籍 却赚着中国人的钱
  2. PL/SQL Developer如何修改表数据
  3. IDOCALE常用tcode
  4. SAP批次管理由物料级别转换到工厂级别的方法
  5. HANA全面上市,成为SAP史上用户数量增长最快的产品之一
  6. 从“抢跑”到领跑,滴滴旗下橙心成社区团购最“优选”
  7. log nginx 客户端请求大小_nginx
  8. java sqlserver 2000_谁能救救我啊,关于JAVA连接SQLserver2000
  9. python 匿名函数捕获变量值 (执行时的值)
  10. Python :集合推导式和字典推导式