zoukankan      html  css  js  c++  java
  • Python操作MySQL数据库

    参考:http://www.w3cschool.cc/python/python-mysql.html

    假定:

    • 已经安装好MySQL并创建了数据库 TESTDB
    • 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123"
    • 在你的机子上已经安装了 Python MySQLdb 模块

    Python操作MySQL新建表示例:

     1 # encoding: utf-8
     2 #!/usr/bin/python
     3 
     4 import MySQLdb
     5 
     6 # 打开数据库连接
     7 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
     8 
     9 # 使用cursor()方法获取操作游标 
    10 cursor = db.cursor()
    11 
    12 # 如果数据表已经存在使用 execute() 方法删除表。
    13 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
    14 
    15 # 创建数据表SQL语句
    16 sql = """CREATE TABLE EMPLOYEE (
    17          FIRST_NAME  CHAR(20) NOT NULL,
    18          LAST_NAME  CHAR(20),
    19          AGE INT,  
    20          SEX CHAR(1),
    21          INCOME FLOAT )"""
    22 
    23 cursor.execute(sql)
    24 
    25 # 关闭数据库连接
    26 db.close()

    向表中写入数据示例:

     1 # encoding: utf-8
     2 #!/usr/bin/python
     3 
     4 import MySQLdb
     5 
     6 # 打开数据库连接
     7 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
     8 
     9 # 使用cursor()方法获取操作游标 
    10 cursor = db.cursor()
    11 
    12 # SQL 插入语句
    13 sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
    14          LAST_NAME, AGE, SEX, INCOME)
    15          VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
    16 try:
    17    # 执行sql语句
    18    cursor.execute(sql)
    19    # 提交到数据库执行
    20    db.commit()
    21 except:
    22    # Rollback in case there is any error
    23    db.rollback()
    24 
    25 # 关闭数据库连接
    26 db.close()

    查询示例:

     1 # encoding: utf-8
     2 #!/usr/bin/python
     3 
     4 import MySQLdb
     5 
     6 # 打开数据库连接
     7 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
     8 
     9 # 使用cursor()方法获取操作游标 
    10 cursor = db.cursor()
    11 
    12 # SQL 查询语句
    13 sql = "SELECT * FROM EMPLOYEE 
    14        WHERE INCOME > '%d'" % (1000)
    15 try:
    16    # 执行SQL语句
    17    cursor.execute(sql)
    18    # 获取所有记录列表
    19    results = cursor.fetchall()
    20    for row in results:
    21       fname = row[0]
    22       lname = row[1]
    23       age = row[2]
    24       sex = row[3]
    25       income = row[4]
    26       # 打印结果
    27       print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % 
    28              (fname, lname, age, sex, income )
    29 except:
    30    print "Error: unable to fecth data"
    31 
    32 # 关闭数据库连接
    33 db.close()

    事务示例:

     1 # SQL删除记录语句
     2 sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
     3 try:
     4    # 执行SQL语句
     5    cursor.execute(sql)
     6    # 向数据库提交
     7    db.commit()
     8 except:
     9    # 发生错误时回滚
    10    db.rollback()
  • 相关阅读:
    Mysql 数据插入 修改删除
    Mysql 查询
    详解path.resolve 以及path.join
    谈一下_前端模块化
    正则表达式学习(二)
    正则表达式学习(一)
    HTML中块元素与内联元素的概念
    Deepin linux Compass.app安装
    Deepin MongoDB安装&使用总结
    【修复】当Deepin开机进入BusyBox时修复
  • 原文地址:https://www.cnblogs.com/flowjacky/p/4305423.html
Copyright © 2011-2022 走看看