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