if __name__ == "__main__":
local = {
"host": "127.0.0.1",
"port": 3306,
"db": "test_demo",
"user": "root",
"password": "your mysql password here"
}
# 测试查看在最小缓存初始化缓存
local_mysql = MysqlClient(**local)
time.sleep(5)复制
mysql> show processlist;
+-----+-----------------+-----------------+-----------+---------+---------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+-----------------+-----------------+-----------+---------+---------+------------------------+------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 2247450 | Waiting on empty queue | NULL |
| 660 | root | localhost | NULL | Query | 0 | starting | show processlist |
| 661 | root | localhost:63148 | test_demo | Sleep | 2 | | NULL |
| 662 | root | localhost:63149 | test_demo | Sleep | 2 | | NULL |
+-----+-----------------+-----------------+-----------+---------+---------+------------------------+------------------+
4 rows in set (0.00 sec)复制
# 测试查看在最小缓存初始化缓存
local_mysql = MysqlClient(**local)
# time.sleep(5)
# 测试查看单例模式
local_mysql_again = MysqlClient(**local)
time.sleep(5)复制
mysql> show processlist;
+-----+-----------------+-----------------+-----------+---------+---------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+-----------------+-----------------+-----------+---------+---------+------------------------+------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 2247638 | Waiting on empty queue | NULL |
| 660 | root | localhost | NULL | Query | 0 | starting | show processlist |
| 663 | root | localhost:63709 | test_demo | Sleep | 2 | | NULL |
| 664 | root | localhost:63710 | test_demo | Sleep | 2 | | NULL |
+-----+-----------------+-----------------+-----------+---------+---------+------------------------+------------------+
4 rows in set (0.00 sec)复制
# 测试 insert many
values = list(map(lambda x: (f"小姐姐{x}号", x, "女", datetime.datetime.now(), datetime.datetime.now()), range(10)))
print(values)
insert_many_sql = 'INSERT INTO `anchor` values (%s, %s, %s, %s, %s)'
insert_count = local_mysql.execute_many(insert_many_sql, values)
print(f"总共插入「{insert_count}」条数据")复制
[('小姐姐0号', 0, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985140), datetime.datetime(2021, 3, 16, 8, 29, 20, 985144)), ('小姐姐1号', 1, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985145), datetime.datetime(2021, 3, 16, 8, 29, 20, 985145)), ('小姐姐2号', 2, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985146), datetime.datetime(2021, 3, 16, 8, 29, 20, 985147)), ('小姐姐3号', 3, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985148), datetime.datetime(2021, 3, 16, 8, 29, 20, 985148)), ('小姐姐4号', 4, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985149), datetime.datetime(2021, 3, 16, 8, 29, 20, 985149)), ('小姐姐5号', 5, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985150), datetime.datetime(2021, 3, 16, 8, 29, 20, 985151)), ('小姐姐6号', 6, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985151), datetime.datetime(2021, 3, 16, 8, 29, 20, 985152)), ('小姐姐7号', 7, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985152), datetime.datetime(2021, 3, 16, 8, 29, 20, 985153)), ('小姐姐8号', 8, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985154), datetime.datetime(2021, 3, 16, 8, 29, 20, 985154)), ('小姐姐9号', 9, '女', datetime.datetime(2021, 3, 16, 8, 29, 20, 985155), datetime.datetime(2021, 3, 16, 8, 29, 20, 985155))]
总共插入「10」条数据复制
# 测试 select many
select_many = 'SELECT * FROM `anchor`'
for item in local_mysql.select_many(select_many):
print('select_many 数据>>>>', item)复制
select_many 数据>>>> {'nickname': '小姐姐0号', 'age': 0, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐1号', 'age': 1, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐2号', 'age': 2, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐3号', 'age': 3, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐4号', 'age': 4, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐5号', 'age': 5, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐6号', 'age': 6, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐7号', 'age': 7, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐8号', 'age': 8, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}
select_many 数据>>>> {'nickname': '小姐姐9号', 'age': 9, 'gender': '女', '_create_time': '2021-03-16 08:29:21', '_update_time': '2021-03-16 08:29:21'}复制
# 测试查询不存在的数据
select_not_exist = "SELECT * FROM `anchor` WHERE nickname=%s"
not_exist_result = local_mysql.select_one(select_not_exist, "鸡仔说")
print(f"not exist select one 数据>>>{not_exist_result}")复制
not exist select one 数据>>>None
复制
# 测试事务操作
sql_insert_one = 'INSERT INTO `anchor` value (%s, %s, %s, %s, %s)'
insert_one_value = ("小姐姐10号", 10, "女", datetime.datetime.now(), datetime.datetime.now())
local_mysql.begin()
local_mysql.execute(sql_insert_one, insert_one_value)
print(f"事务测试,已经执行了插入操作,快去数据库查看一下,目前数据应该还没有执行,等待确认操作...")
time.sleep(10)
print(f"即将执行确认操作")
time.sleep(1)
local_mysql.end(succeed=True)
print(f"已确认执行操作,请再次查看数据库...")复制
+---------------+------+--------+---------------------+---------------------+
| nickname | age | gender | _create_time | _update_time |
+---------------+------+--------+---------------------+---------------------+
| 小姐姐0号 | 0 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐1号 | 1 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐2号 | 2 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐3号 | 3 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐4号 | 4 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐5号 | 5 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐6号 | 6 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐7号 | 7 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐8号 | 8 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐9号 | 9 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
+---------------+------+--------+---------------------+---------------------+复制
+----------------+------+--------+---------------------+---------------------+
| nickname | age | gender | _create_time | _update_time |
+----------------+------+--------+---------------------+---------------------+
| 小姐姐0号 | 0 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐1号 | 1 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐2号 | 2 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐3号 | 3 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐4号 | 4 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐5号 | 5 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐6号 | 6 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐7号 | 7 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐8号 | 8 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐9号 | 9 | 女 | 2021-03-16 08:29:21 | 2021-03-16 08:29:21 |
| 小姐姐10号 | 10 | 女 | 2021-03-16 08:43:44 | 2021-03-16 08:43:44 |
+----------------+------+--------+---------------------+---------------------+复制
好看的人都点了在看
文章转载自鸡仔说,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。