python 访问 mysql demo

数据存储

2017-08-27

312

0

技术: python2.7 + mysql5.6

运行环境:windows 10

demo功能:提供一个python2.7访问 mysql 基础操作

安装python mysql驱动

1. 下载驱动源代码

2. 解压, 进入目录根文件夹

3.  使用python安装

python setup.py install

基本访问demo

import mysql.connector

# 创建连接
# 
config = {
          'user':'root',
          'password':'123456',
          'host':'localhost',
          'port':3306,
          'database':'test'
          }

def get_all():
    conn = mysql.connector.connect(**config)
    # 创建游标
    cur = conn.cursor()

    # 执行查询SQL
    sql = "SELECT userid,username,balance FROM tb_bank"
    cur.execute(sql)

    # 获取查询结果
    result_set = cur.fetchall()
    if result_set:
        for row in result_set:
            print "%s, %s, %d" % (row[0],row[1],row[2])

    # 关闭游标和连接        
    cur.close()
    conn.close()

def get_by_id(id):
    conn = mysql.connector.connect(**config)
    # 创建游标
    cur = conn.cursor()

    # 执行查询SQL
    sql = 'SELECT userid,username,balance FROM tb_bank where userid =' + id
    cur.execute(sql)

    # 获取查询结果
    result_set = cur.fetchall()
    if result_set:
        for row in result_set:
            print "%s, %s, %d" % (row[0],row[1],row[2])

    # 关闭游标和连接        
    cur.close()
    conn.close()

def insertss():
    output = []
    cnx = mysql.connector.connect(**config)
    cur = cnx.cursor()

    # Drop table if exists, and create it new
    stmt_drop = "DROP TABLE IF EXISTS names"
    cur.execute(stmt_drop)
    stmt_create = (
        "CREATE TABLE names ("
        "    id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, "
        "    name VARCHAR(30) DEFAULT '' NOT NULL, "
        "    info TEXT DEFAULT '', "
        "    age TINYINT UNSIGNED DEFAULT '30', "
        "PRIMARY KEY (id))"
    )
    cur.execute(stmt_create)

    info = "abc" * 10000

    # Insert 3 records
    names = (('Geert', info, 30), ('Jan', info, 31), ('Michel', info, 32))
    stmt_insert = "INSERT INTO names (name, info, age) VALUES (%s, %s, %s)"
    cur.executemany(stmt_insert, names)
    cnx.commit()

    # Read the names again and print them
    stmt_select = "SELECT id, name, info, age FROM names ORDER BY id"
    cur.execute(stmt_select)

    for row in cur.fetchall():
        output.append("%d | %s | %d\nInfo: %s..\n" % (
            row[0], row[1], row[3], row[2][:20]))

    # Cleaning up, dropping the table again
    #cur.execute(stmt_drop)

    cur.close()
    cnx.close()
    return output


if __name__ == '__main__':
    output = insertss()

 

更多demo: https://github.com/mysql/mysql-connector-python

欢迎添加微信,互相学习↑↑↑ -_-

发表评论

全部评论:0条

白老虎

programming is not only to solve problems, ways to think