class
UseMysql
(
object
)
:
def
__init__
(
self
,
user
,
passwd
,
db
,
host
=
"127.0.0.1"
,
port
=
3306
)
:
self
.
db
=
db
self
.
conn
=
pymysql
.
connect
(
host
=
host
,
user
=
user
,
passwd
=
passwd
,
db
=
db
,
port
=
port
,
charset
=
'utf8'
)
self
.
cursor
=
self
.
conn
.
cursor
(
)
def
table_exists
(
self
,
table_name
)
-
>
bool
:
"""判断表是否存在
:param table_name: 表名
:return: 存在返回True,不存在返回False
sql
=
"show tables;"
self
.
cursor
.
execute
(
sql
)
tables
=
self
.
cursor
.
fetchall
(
)
for
_t
in
tables
:
if
table_name
==
_t
[
0
]
:
return
True
return
False
def
create_table
(
self
,
data
:
dict
,
table_name
)
:
"""创建表"""
sql_key_str
=
''
columnStyle
=
' text'
for
key
in
data
.
keys
(
)
:
sql_key_str
=
sql_key_str
+
' '
+
key
+
columnStyle
+
','
self
.
cursor
.
execute
(
"CREATE TABLE %s (%s)"
%
(
table_name
,
sql_key_str
[
:
-
1
]
)
)
self
.
cursor
.
execute
(
"""ALTER TABLE `{}` \
ADD COLUMN `id` INT NOT NULL AUTO_INCREMENT FIRST, \
ADD PRIMARY KEY (`id`);"""
.
format
(
table_name
)
)
self
.
cursor
.
execute
(
"""ALTER TABLE {} ADD join_time timestamp NULL DEFAULT current_timestamp();"""
.
format
(
table_name
)
)
def
write_dict
(
self
,
data
:
dict
,
table_name
)
:
写入mysql,如果没有表,创建表
:param data: 字典类型
:param table_name: 表名
:return:
columns
=
', '
.
join
(
"`"
+
str
(
x
)
.
replace
(
'/'
,
'_'
)
+
"`"
for
x
in
data
.
keys
(
)
)
values
=
', '
.
join
(
"'"
+
str
(
x
)
.
replace
(
'/'
,
'_'
)
+
"'"
for
x
in
data
.
values
(
)
)
sql
=
"INSERT INTO %s ( %s ) VALUES ( %s );"
%
(
table_name
,
columns
,
values
)
self
.
cursor
.
execute
(
sql
)
self
.
conn
.
commit
(
)
if
__name__
==
'__main__'
:
mysql
=
UseMysql
(
'用户名'
,
'密码'
,
'数据库名'
)
my_data1
=
{
"col1"
:
"a"
,
"col2"
:
"b"
,
"col3"
:
"c"
,
}
mysql
.
write_dict
(
my_data1
,
table_name
=
"mytable"
)
my_data2
=
{
"col1"
:
"a2"
,
"col2"
:
"b2"
}
mysql
.
write_dict
(
my_data2
,
table_name
=
"mytable"
)
项目需要,用
python
实现了将
字典
内容存入本地的
mysql
数据库
。比如说有个
字典
dic={“a”:”b”,”c”:”d”},存入
数据库
效果图如下:
'''''
Insert items into database
@author: hakuri
import
MySQL
db
def InsertData(TableName,dic):
conn=
MySQL
db.connect(host='localhost',user='root',passwd='
漫漫长夜,最近
python
2转
python
3之后,发现自己还没有手写过
mysql
连接的
工具类
,发现稍微改改之前
python
2的版本在
python
3就可用直接使用。下面就废话少说,直接上代码。
使用pip3安装
pymysql
pip3 install
pymysql
工具类
代码
# -*- coding: utf-8 -*-
import
pymysql
import re
cla...
欢迎来到软件测试jeffky博客!在这里,我们将探讨各种与软件测试相关的主题,包括测试策略、方法、工具、最佳实践和行业趋势。我们的目标是帮助读者提高软件质量,确保用户满意度,并分享在软件测试领域的知识和经验。
12-26
开发项目的规程中,很多时候需要向
数据库
中插入一些测试
数据
,或者是做一些初始化操作。如果用java,需要先编译、再运行,不是很方便。
所以考虑用脚本语言写一个
工具类
,方便以后使用。
为了减少一些sql拼装的操作,写了个类orm的
工具类
。
所谓orm就是对象的属性与
数据库
中的表做了映射,一 一对应。 因此我们可以通过对象的属性以及操作
类型
(增删改查),来
自动
拼装出对应的sql。
import
pymysql
def get_connection():
host = '192
python解决urllib发送请求报错:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED].....>
50484