1. import pymysql
    import datetime

    #安装 pip install pymysql
    """
    1、连接本地数据库
    2、建立游标
    3、创建表
    4、插入表数据、查询表数据、更新表数据、删除表数据
    """
    #连接本地数据库
    db = pymysql.connect(
    host = "localhost", #数据库的主机地址
    user = "root", #数据库登录的用户名
    passwd = "123456", #数据库登录的密码
    database = "test" #数据库名字
    )

    #创建游标
    cursor = db.cursor()

    def create_table():
    #如果存在student表,则删除
    cursor.execute("DROP TABLE IF EXISTS student")

    #创建student表 --元组
    sql = """
    create table student(
    id int not null,
    name char(10),
    age int,
    address char(20),
    create_time datetime)
    """

    try:
    # 执行SQL语句
    cursor.execute(sql)
    print("创建数据库成功")
    except Exception as e:
    print("创建数据库失败:case%s"%e)
    finally:
    pass
    #关闭游标连接
    # cursor.close()
    # 关闭数据库连接
    # db.close()

    def insert_into():
    #批量插入数据
    sql = "INSERT INTO student VALUES(%s,%s,%s,%s,%s)"
    params = [
    (1,"小王",23,"深圳",datetime.datetime.now()),
    (2,"小刘",24,"深圳",datetime.datetime.now()),
    (3,"小宋",25,"深圳",datetime.datetime.now())
    ]

    try:
    # 执行SQL语句 批量插入用executemany
    cursor.executemany(sql,params)
    # 提交到数据库执行
    db.commit()
    print("有",cursor.rowcount,"插入数据成功")
    except Exception as e:
    print("插入数据失败:case%s"%e)
    # 如果发生错误则回滚
    db.rollback()
    finally:
    pass
    # 关闭游标连接
    # cursor.close()
    # 关闭数据库连接
    # db.close()

    def update_Set():
    #SQL语句更新数据
    sql = """UPDATE student SET address = '东莞' WHERE ID = %s"""%(2)

    try:
    # 执行SQL语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
    print("有",cursor.rowcount,"更新数据成功")

    except Exception as e:
    print("数据更新出错:case%s"%e)
    #发生错误是回滚
    db.rollback()

    finally:
    pass
    # 关闭游标连接
    # cursor.close()
    # 关闭数据库连接
    # db.close()

    def select_form():
    # SQL 查询语句 --条件查询
    sql = "SELECT * FROM student WHERE ID = %s"%(2)

    try:
    # 执行SQL语句
    cursor.execute(sql)
    # 获取所有记录列表 fetchall
    results = cursor.fetchall()
    for row in results:
    id = row[0]
    name = row[1]
    age = row[2]
    address = row[3]
    create_time = row[4]
    print("id=%s,name=%s,age=%s,address=%s,create_time=%s"%\
    (id,name,age,address,create_time))

    except Exception as e:
    print("查询出错:case%s"%e)

    finally:
    # 关闭游标连接
    cursor.close()
    # 关闭数据库连接
    db.close()

    def exit():
    """退出系统"""
    import sys
    sys.exit()
    print("退出系统")

    def main():
    while True:
    choice = int(input("请选择下面的数字:\n"
    "1.创建表\n"
    "2.插入数据\n"
    "3.更新数据\n"
    "4.查询数据\n"
    "5.退出系统\n"
    ))
    if choice == 1:
    create_table()
    elif choice == 2:
    insert_into()
    elif choice == 3:
    update_Set()
    elif choice == 4:
    select_form()
    else:
    exit()

    if __name__ == "__main__":
    main()

python基础之操作数据库(pymysql)操作的更多相关文章

  1. JavaScript操作数据库JS操作Access数据库

    avaScript操作数据库JS操作Access数据库,跟其他语言操作差不多,总结了一下习惯代码,仅供参考学习.现在在F盘有文件abc.mdf,表名为Student,一共2个字段,Id数字类型主键,s ...

  2. python基础学习24----使用pymysql连接mysql

    使用pymysql连接mysql 安装pymysql pymysql安装可以通过两种方式 使用pip安装 首先简单说一下pip的使用方法 获取帮助 pip --help 升级 pip pip inst ...

  3. Python 操作数据库pymysql

    import pymysql #添加数据 conn , user='root', passwd='', db='yyy') #更改获取数据结果的数据类型,默认是元组,可以改为字典等:#cursor=c ...

  4. python 基础 9.3 mysql 数据操作

    #/usr/bin/python #coding=utf-8 #@Time   :2017/11/21 0:20 #@Auther :liuzhenchuan #@File   :mysql 数据操作 ...

  5. python基础之元组、文件操作、编码、函数、变量

    1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...

  6. 使用Python来对MySQL数据库进行操作

    使用Python对Mysql进行操作,前提是安装了python-Mysql的安装包,安装的方法有多种,可以使用easy_install或者pip  或者是源码进行安装. 下面介绍下如何使用Python ...

  7. Python之路:Python 基础(三)-文件操作

    操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件  f = file('myfile. ...

  8. Python基础(七)-文件操作

    一.文件处理流程 1.打开文件,得到文件句柄赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 二.基本操作 f = open('zhuoge.txt') #打开文件 first_line = ...

  9. Python基础之文件和目录操作

    1 .文件操作 1.1 文件打开和关闭 在python, 使用 open 函数, 可以打开一个已经存在的文件, 或者创建一个新文件. # 打开文件 f = open('test.txt', 'w') ...

随机推荐

  1. 开放式神经网络交换-ONNX(上)

    目的 本文档包含ONNX语义的规范性规范. "onnx"文件夹下的.proto和.proto3文件构成了用协议缓冲区定义语言编写的语法规范..proto和.proto3文件中的注释 ...

  2. 开源电路分享のFalling Star Board

    设计初衷 想自己做个能连网的时钟,结合RT-thread,显示个天气预报什么的,想想就挺有趣的.考虑到当前的芯片价格,和后续的设计,万一还有个啥奇妙的想法呢,就把这个做成了核心板. 一开始就只做了最小 ...

  3. 打造住院新体验,GVS智慧病房有何独到之处?

    3月26-28日,由广东省医院协会主办的"2021第二届广东省医院建设大会暨医院建筑与装备展览会"在广州琶洲国际采购中心盛大举办,来自全国各地的医院代表及企事业单位代表4000余人 ...

  4. SpringCloud Alibaba实战(4:基本开发框架搭建)

    在上一节,我们已经完成了项目的整体技术架构设计和具体的数据库设计,接下来,我们搭建整体的开发框架. 开发工具选用Idea. 开发工具只是为了提高效率,如果不习惯Idea的话,STS使用起来也是OK的. ...

  5. 错误档案1:Eclipse自动生成swing窗体代码报错

    目录 前言 错误信息 解决方法 结论 前言 大家好呀,我是 白墨,一个热爱学习与划水的矛盾体. 昨天为了图方便,使用MyEclipse中的swing功能画界面,画完以后发现无法运行,查看源代码发现全报 ...

  6. springMVC异常处理(自定义异常)HandlerExceptionResolver

    注:本篇的异常主要指的是controller.service和dao层中执行方法抛出的异常. 一.为什么要处理异常? 因为如果我们不处理异常,异常信息就会直接抛出给浏览器,于是浏览器页面就直接显示异常 ...

  7. Java调试大法,来了~

    很多同学经常问我:彤哥,你的源码为什么讲的那么好那么细,有没有什么方法? 此时,我一般回复四个字:调试大法. 然后,他们就会很懵逼:调试我也会呀,但是,我就做不到你那么细(像是在夸我),难道调试还有我 ...

  8. 【NX二次开发】根据部件名返回部件tag,UF_PART_ask_part_tag

    注意UF_PART_ask_part_tag的参数输入带扩展名的部件名或者不带扩展名的部件名,不允许输入全路径名,否则会出错,例如下面这例子.部件在C盘"C:\\temp\\B01.prt ...

  9. 6.10考试总结(NOIP模拟6)

    前言 就这题考的不咋样果然还挺难改的.. T1 辣鸡 前言 我做梦都没想到这题正解是模拟,打模拟赛的时候看错题面以为是\(n\times n\)的矩阵,喜提0pts. 解题思路 氢键的数量计算起来无非 ...

  10. NOIP模拟测试28「阴阳·虎·山洞」

    写这几个题解我觉得我就像在按照官方题解抄一样 阴阳 题解 将题目中给的阴阳看作黑色和白色 首先我们观察到最后生成图中某种颜色必须是竖着单调递增或竖着单调递减 类似这样 否则不满足这个条件 但合法染色方 ...