//test.py

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接

db = MySQLdb.connect("localhost","root","11111111","TESTDB" )

# 使用cursor()方法获取操作游标

cursor = db.cursor()

# 使用execute方法执行SQL语句

cursor.execute("SELECT VERSION()")

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

data = cursor.fetchone()

print "Database version : %s " % data

cursor.execute('DROP TABLE IF EXISTS EMPLOYEE')

sql = """CREATE TABLE EMPLOYEE (

FIRST_NAME  CHAR(20) NOT NULL,

LAST_NAME  CHAR(20),

AGE INT,

SEX CHAR(1),

INCOME FLOAT )"""

cursor.execute(sql)

sql1 = """INSERT INTO EMPLOYEE(FIRST_NAME,

LAST_NAME, AGE, SEX, INCOME)

VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

sql2 = """INSERT INTO EMPLOYEE(FIRST_NAME,

LAST_NAME, AGE, SEX, INCOME)

VALUES ('Jack', 'dansor', 25, 'F', 38000)"""

try:

cursor.execute(sql1)

cursor.execute(sql2)

db.commit()

except:

print "Rollback in case there is any error"

db.rollback()

sql3 = "SELECT * FROM EMPLOYEE \

WHERE INCOME>'%d'" % (1000)

try:

cursor.execute(sql3)

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)

except:

print 'Error: unable to fecth data'

sql4 = "UPDATE EMPLOYEE SET AGE=AGE+1 WHERE SEX='M'"

try:

cursor.execute(sql4)

db.commit()

except Exception, tup:

print 'Update failure: ', tup

db.rollback()

sql5 = "DELETE FROM EMPLOYEE WHERE SEX='F'"

try:

cursor.execute(sql5)

db.commit()

except Exception, tup:

print "Delete failure: ", tup

db.rollback()

try:

cursor.execute(sql3)

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)

except:

print 'Error: unable to fecth data'

# 关闭数据库连接

db.close()

//result

# python test.py
Database version : 5.5.58-0ubuntu0.14.04.1
fname:Mac,lname=Mohan,age=20,sex=M,income=2000
fname:Jack,lname=dansor,age=25,sex=F,income=38000
fname:Mac,lname=Mohan,age=21,sex=M,income=2000

Finally:

mysql数据库在python这样的脚本里非常容易使用,值得看看!

python mysql program的更多相关文章

  1. python selenium 测试环境的搭建及python mysql的连接

    又来一篇傻瓜教程啦,防止在学习的小伙伴们走弯路. 1.python 环境搭建 python官网:https://www.python.org/downloads/  选择最新版本python下载(如果 ...

  2. [MySQL Reference Manual] 4 MYSQL Program

    4 MYSQL Program 目录 4 MYSQL Program 4.3 MySQL Server和Server启动程序 4.3.1 mysqld 4.3.2 mysqld_safe 4.3.3 ...

  3. Python—>Mysql—>Dbvisualizer

    MySQLdb: https://pypi.python.org/pypi/MySQL-python/1.2.4 import MySQLdb 1.Download Connector/Python: ...

  4. Python Mysql 篇

    Python 操作 Mysql 模块的安装 linux: yum install MySQL-python window: http://files.cnblogs.com/files/wupeiqi ...

  5. Python MySQL ORM QuickORM hacking

    # coding: utf-8 # # Python MySQL ORM QuickORM hacking # 说明: # 以前仅仅是知道有ORM的存在,但是对ORM这个东西内部工作原理不是很清楚, ...

  6. python 之路,Day11(上) - python mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  7. 树莓派安装ubuntu-server,配置镜像,安装python/mysql/samba记录

    目标: 1/在raspberrypi 3B上安装ubuntu-server 2/配置好python/mysql/samba等服务,实现爬虫稳定运行我的硬件准备: 1/raspberrypi 3B 2/ ...

  8. Python/ MySQL练习题(一)

    Python/ MySQL练习题(一) 查询“生物”课程比“物理”课程成绩高的所有学生的学号 SELECT * FROM ( SELECT * FROM course LEFT JOIN score ...

  9. python/MySQL练习题(二)

    python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...

随机推荐

  1. 7个简单的Excel技巧,需要的赶紧get起来吧

    1.直观数据图形化 2. Ctrl不连续选择 3. Ctrl+A相连文本框全选 4. 格式刷点击 5. SUM函数求和 6. 自动求和.自动求平均值.自动计数 7. 行.列距调节

  2. at MySql.Data.MySqlClient.MySqlStream.ReadPacket 或 FUNCTION account.AddMinutes does not exist

    Application Exception MySql.Data.MySqlClient.MySqlException FUNCTION account.AddMinutes does not exi ...

  3. SQL Fundamentals || Oracle SQL语言

    对于SQL语言,有两个组成部分: DML(data manipulation language) 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据 ...

  4. 开启spark日志聚集功能

    spark监控应用方式: 1)在运行过程中可以通过web Ui:4040端口进行监控 2)任务运行完成想要监控spark,需要启动日志聚集功能 开启日志聚集功能方法: 编辑conf/spark-env ...

  5. 查看ElasticSearch服务状态和结果的URL

    1,查看es集群状态 http://ip:port/_cat/health?v 2,集群节点健康查看 http://ip:port/_cat/nodes?v 3,列出集群索引 http://ip:po ...

  6. 回归cgi、fastcgi原理,解释、解决异常 fastcgi支持分布式计算的原因

    小结: 0.结构图 client-request ---> cgi/fastcgi (interface/server)  ---> cgi/fastcgi program/applica ...

  7. HTML基础标签大全

    HTML 标签大全及属性 常用的块级元素有 :div , from , table, p ,pre,h1-h5,dl,ol,ul 常用的内联元素:span ,a ,strong,em ,label , ...

  8. [daily][archlinux][btrfs][mysql] 在btrfs上使用mariadb

    在btrfs上使用mariadb的时候,需要注意关闭btrfs的Copy on Write (/var/lib/mysql目录) 如下: ┬─[tong@T7:~/Data/anthropoid]─[ ...

  9. ReentrantLock可重入锁的原理及使用场景

    摘要 从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些. 场景1:如果已加锁,则不再重复加锁 a.忽略重复加锁.b.用在界面交互时点击执行较长时间请求操作时,防止多次 ...

  10. SC-FDM和OFDM的区别

    3GPP定义的LTE空中接口,在下行采用正交频分多址(OFDMA)技术,在上行采用的就是这个单载频频分多址(SC-FDMA)技术. SC-FDMA(Single-carrier Frequency-D ...