• python链接数据库并创建/删除/插入多个数据库/表/表数据


    import pymysql

    l链接数据库并执行sql语句

    conn = pymysql.connect(host='10.245.251.61',user='stashlog',password='stashlog123',database='exos_perf_auto')#创建数据库连接
    cursor = conn.cursor()#创建游标
    sql=''#要执行的sql语句
    cursor.execute(sql)#提交sql语句
    conn.commit()#提交缓存
    cursor.close()#关闭游标
    conn.close()#关闭数据库连接

    以上,创建数据库连接的-h 主机名如果忽略的话是默认的localhost

    即本机上的数据库

    用户名和密码就是创建数据库时的,最好记住不然会很麻烦···

    创建数据库create database database_name

    注意,在mysql中命名数据库、表格、列名时只能用字母、数字和_,即-,~,!,space等符号不能使用

    批量创建表(用format取代字符串中的变量)

    conn = pymysql.connect(host='10.245.251.50',user='stashlog',password='stashlog123',database='exos_perf_auto')
    cursor = conn.cursor()
    for k in range(10):
        sql='''
        create table test{}(
        id int not null,#整形
        website float,#单精度小数
        version varchar(20),#20bit的字符串
        us double(16,3),#保留3位小数
        primary key(id)#主键,独一无二
        )
        '''.format(k)
        cursor.execute(sql)
    conn.commit()
    cursor.close()
    conn.close()

    批量删除表数据

    conn = pymysql.connect(host='10.245.251.50',user='stashlog',password='stashlog123',database='exos_perf_auto')
    cursor = conn.cursor()
    for k in range(10):
        sql='''
        delete from test{}
        '''.format(k)
        cursor.execute(sql)
    conn.commit()
    cursor.close()
    conn.close()

    插入数据、查询数据都差不多了,就是用format来生成要执行的sql语句

    需要注意的是,当插入一个字符串变量时

    你应该用双重引号,否则会报错,会识别成一个无引号值

    例如

    exa='20.2'
    sql='''
    insert into test1
    (version)
    values
    ({})
    '''.format(exa)
    print(sql)

    可以看到exa应该是一个字符串变量但却成了double型小数

    如果是20.2.2就会导致更大的error

    这时应该这么写

    exa='20.2'
    exa='"{}"'.format(exa)
    sql='''
    insert into test1
    (version)
    values
    ({})
    '''.format(exa)
    print(sql)

     这时的sql语句才是正确的

  • 相关阅读:
    There was an internal API error
    MD5加密
    CentOS 7 最小化安装简单配置
    Dalvik 虚拟机操作码
    BugkuCTF~Web~WriteUp
    BugkuCTF~代码审计~WriteUp
    Android 个人手机通讯录开发
    Android SQLite 数据库学习
    Android 程序结构
    2018~第三届南宁市网络安全技术大赛~nnctf~write-up
  • 原文地址:https://www.cnblogs.com/ljy1227476113/p/12889895.html
Copyright © 2020-2023  润新知