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()

批量删除表数据

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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语句才是正确的

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/108979051
今日推荐