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语句才是正确的

  • 相关阅读:
    散户必看 教您怎样在短期内从10万炒到100万
    店主学习篇 如何做服装经营能手
    苹果公司CEO乔布斯在斯坦福大学毕业典礼上的演讲
    手头20万存款的租客 买房划算还是租房省钱?
    把幸福 亲了又亲
    周经理写给公司 的一封信
    土鸡市场前景:
    查看局域网内所有IP
    中国肿瘤年报出炉 浙江每312人就有1人患癌
    中药材喂土鸡或许大家还很疑惑吧
  • 原文地址:https://www.cnblogs.com/ljy1227476113/p/12889895.html
Copyright © 2011-2022 走看看