#coding=utf-8
import MySQLdb # 打开数据库连接
db = MySQLdb.connect(host='localhost',user='root',passwd='',db ='company')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据库
data = cursor.fetchone()
print "Database version : %s" %data # 这个方法用来打印整张表的信息
def view_table(tablename):
cursor.execute("SELECT * FROM %s" % (tablename))
results = cursor.fetchall()
for row in results:
i = 0
while i < len(row):
print row[i],
i+=1
print '\n' # 创建数据表SQL语句
cursor.execute("DROP TABLE IF EXISTS employee")
table = """CREATE TABLE employee (
first_name char(20) NOT NULL,
last_name char(20),
age int,
sex char(1),
income float
)"""
cursor.execute(table)
cursor.execute("DESCRIBE employee")
#print cursor.fetchall()
#返回的是一个元组 for tup in cursor.fetchall():
print tup sql_1 = '''INSERT INTO employee (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Micheal', 'Scofield', 21, 'M', 2000)'''
sql_2 = '''INSERT INTO employee (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('John', 'Abruzzi', 31, 'F', 3500)'''
sql_3 = '''INSERT INTO employee (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Alex', 'Mahone', 35, 'M', 2800)'''
sql_4 = '''INSERT INTO employee (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Paul', 'Keleman', 28, 'M', 3700)'''
try:
cursor.execute(sql_1)
cursor.execute(sql_2)
cursor.execute(sql_3)
cursor.execute(sql_4)
# 提交到数据库执行
db.commit()
except:
#如果上面的语句执行出错就回滚
db.rollback() view_table('employee')
#cursor.execute("SELECT * FROM employee")
#results = cursor.fetchall()
#for row in results:
# fname = row[0]
# lname = row[1]
# age = row[2]
# sex = row[3]
# income = row[4]
# print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
# (fname,lname,age,sex,income)
# print row[0],row[1],row[2],row[3],row[4] sql_5 = """UPDATE employee SET age = age+1 WHERE sex = '%c'""" % ('M')
cursor.execute(sql_5)
db.commit() view_table('employee')
# 关闭数据库连接
db.close()

python操作mysql实例的更多相关文章

  1. Python操作Mysql实例代码教程在线版(查询手册)

    本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐   实 ...

  2. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

  3. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  4. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  5. Python操作MySQL数据库9个实用实例

    用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-pytho ...

  6. Python 操作 MYSQL

    本文介绍了 Python 操作 MYSQL.执行 SQL 语句.获取结果集.遍历结果集.取得某个字 段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多, 是一桌丰盛唯美的代 ...

  7. Python开发【第十一篇】:Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 1.原生模块pymsql. 2.ORM框架SQLAchemy. pymsql pymsql是Python中操作MySQL的模块,其使用方法和MyS ...

  8. Python操作MySQL案例

    最近都在学习Python代码,希望学会Python后,能给我带来更高的工作效率,所以每天坚持学习和拷代码,下面是一个Python操作MySQL的一个实例,该实例可以让更多的人更好了解MySQLdb模块 ...

  9. python连接mysql实例分享_python

    示例一 #coding=UTF-8 import sys import MySQLdb import time reload(sys) sys.setdefaultencoding('utf-8') ...

随机推荐

  1. css布局笔记(二)Flex

    flex Flex是"Flexible Box"的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可指定为Flex布局. .box{di ...

  2. Jmeter 数据库配置池设置IP为参数

    我在网上查了很多资料,发现jmter链接数据库的URL都是设置成固定值的.没有参数化. 当我需要使用配置文件链接不同服务器上的数据库的时候,发现无法实现. 原因在于:jmeter的元件执行优先级是配置 ...

  3. 结对测试 vs 随机测试

    在接口测试过程中,最关键的是对参数的各种情况进行测试. 随机测试是指随机选择一些参数值来测. 结对测试是指parewise算法生成较高“性价比”的组合情况来测. 随机测试存在的问题 随机,这两个字本身 ...

  4. oracle的多表合并查询-工作心得

    本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 11 月 29 日 原地址:https://niaobulashi.com/archives/oracle-select-al ...

  5. Appium 安装详细版教程

      1.安装Appium Python Client包 输入命令  pip install Appium-Python-Client  

  6. PHP核心技术——反射

    反射: 反射指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括注释.这种动态获取信息以及动态调用对象方法的功能称为反射API class person{ ...

  7. Netty源码分析第5章(ByteBuf)---->第4节: PooledByteBufAllocator简述

    Netty源码分析第五章: ByteBuf 第四节: PooledByteBufAllocator简述 上一小节简单介绍了ByteBufAllocator以及其子类UnPooledByteBufAll ...

  8. Netty源码分析第5章(ByteBuf)---->第7节: page级别的内存分配

    Netty源码分析第五章: ByteBuf 第六节: page级别的内存分配 前面小节我们剖析过命中缓存的内存分配逻辑, 前提是如果缓存中有数据, 那么缓存中没有数据, netty是如何开辟一块内存进 ...

  9. C#中字符串 "驻留"与Lock(转载)

    class TestWorker 2 {         3     public void DoMultiThreadedWork(object someParameter) 4     { 5   ...

  10. linux 常用反弹shell小记

    在渗透测试过程中由于防火墙和其它安全防御措施,很多服务器只能单向向外访问,不能被访问,我们常常需要反弹shell. 1.bash反弹shell 本地开启监听 nc -lvvp 受害主机命令 bash ...