zoukankan      html  css  js  c++  java
  • 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语句才是正确的

  • 相关阅读:
    理解OAuth 2.0
    Npoi导出word(Peanuts)
    轻松搞定javascript日期格式化问题
    史上最全的MSSQL复习笔记
    SQL经典短小代码收集
    Web系统与自控系统数据通讯架构 之 OPC DA DataChangeEventHandler 非热点数据更新策略 ,
    记一次SQL Server insert触发器操作
    记一次单机Nginx调优,效果立竿见影
    windows 显示引用账户已被锁定,且可能无法登录
    C# 使用modbus 读取PLC 寄存器地址
  • 原文地址:https://www.cnblogs.com/ljy1227476113/p/12889895.html
Copyright © 2011-2022 走看看