python操作mysql数据库

参考:http://www.runoob.com/python/python-mysql.html

 插入时一定要有db.commit(),否则数据不会入库,代码也不报错。

复制代码
# coding:utf-8


import pymysql

def creat_table():
    # 打开数据库连接(数据库ip,用户名,密码,数据库库名,字符编码)
    db = pymysql.connect("localhost", "root", "***", "***", charset='utf8' )

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

    #使用execute()方法执行SQL语句
    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

    #创建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)

    # 关闭数据库连接
    db.close()

def inser_data():

    fname = 'Allen'
    lname = "johnson"
    age = 20
    sex = "M"
    income = 50000

    db = pymysql.connect("127.0.0.1", "root", "***", "***", charset='utf8')
    cursor = db.cursor()
    sql ="insert into employee (FIRST_NAME,LAST_NAME,AGE,SEX,INCOME) values ('%s', '%s', '%s', '%s', '%s')" % (fname, lname, age, sex, income)
    # 变量方式不能插入????注意%s也要'%s'引起来
    # sql = "insert into employee values (%s,%s,%s,%s,%s)" % (fname,lname,age,sex,income)

    try:
        cursor.execute(sql)
        db.commit()
    except:
        db.rollback()
        print "插入数据出错DDD"
    db.close()

inser_data()

def query_data():

    db = pymysql.connect("localhost","root","***","****",charset='utf8')
    cursor = db.cursor()

    sql = "select * from employee where income > %s" % (1000)

    try:
        cursor.execute(sql)
        #获取所有符合查询的列表
        results = cursor.fetchall()
        # results = cursor.fetchone()
        #直接打印results返回一个元组,元组的元素为符合条件的一行数据,该数据也是一个元组
        print results

        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=%s,sex=%s,income=%s" % \
             (fname, lname, age, sex, income )
    except:
        print 'error'

    db.close()

# query_data()
复制代码

 

 

 

posted @   秋寻草  阅读(263)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
历史上的今天:
2017-12-04 docker入门【1】
点击右上角即可分享
微信分享提示