用Python试玩mysql

前言

最近找到一个好玩的东西需要用到mysql数据库,就用python试这学了一下mysql最基本的东西

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# -*- coding: utf-8 -*-
import pymysql

dd = [{'订单号': '1461071172', '下单时间': '2021-05-18 13:18:38', '购卡类型': '寄售点数', '购买金额': '50.00元', '状态': '未支付', '充值帐号': '[email protected]', '充值类型': '寄售点数', '充值数量': '500', '支付方式': '网易支付', '支付金额': '50.00 元', '参与活动': '您未参加活动'},{'订单号': '1461071173', '下单时间': '2021-05-18 13:18:38', '购卡类型': '寄售点数', '购买金额': '50.00元', '状态': '未支付', '充值帐号': '[email protected]', '充值类型': '寄售点数', '充值数量': '500', '支付方式': '网易支付', '支付金额': '50.00 元', '参与活动': '您未参加活动'}]
# 连接数据库
def mysql_lj():
try:
# 打开数据库连接
conn = pymysql.connect('localhost', user = 'root', passwd = 'password', db = 'pythonDB')
# 获取游标
cursor = conn.cursor()
print("数据库连接成功")
except:
print("第一次连接数据库失败")
# 创建数据库
# 打开数据库连接
conn = pymysql.connect('localhost', user = 'root', passwd = 'password')
# 获取游标
cursor = conn.cursor()
# 创建pythonBD数据库
cursor.execute('CREATE DATABASE IF NOT EXISTS pythonDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;')
cursor.close() # 先关闭游标
conn.close() # 再关闭数据库连接
print('创建pythonBD数据库成功')
conn = pymysql.connect('localhost', user = 'root', passwd = 'password', db = 'pythonDB')
# 获取游标
cursor = conn.cursor()
# 创建表
cursor.execute('drop table if exists user')
sql = """CREATE TABLE IF NOT EXISTS `user` (
`订单号` int(11) NOT NULL,
`下单时间` varchar(255) NOT NULL,
`购卡类型` varchar(255) NOT NULL,
`购买金额` varchar(255) NOT NULL,
`状态` varchar(255) NOT NULL,
`充值帐号` varchar(255) NOT NULL,
`充值类型` varchar(255) NOT NULL,
`充值数量` int(11) NOT NULL,
`支付方式` varchar(255) NOT NULL,
`支付金额` varchar(255) NOT NULL,
`参与活动` varchar(255) NOT NULL,
PRIMARY KEY (`订单号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8"""
cursor.execute(sql)


# 插入数据库
def insert_mysql():
conn = pymysql.connect('localhost', user = 'root', passwd = 'password', db = 'pythonDB')
# 获取游标
cursor = conn.cursor()
for i in dd:
sql = "insert into user values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
try:
insert = cursor.execute(sql, (i['订单号'],i['下单时间'],i['购卡类型'],i['购买金额'],i['状态'],i['充值帐号'],i['充值类型'],i['充值数量'],i['支付方式'],i['支付金额'],i['参与活动']))
print('添加语句受影响的行数:',insert)
except:
print('订单号{}重复,不插入数据库'.format(i['订单号']))
conn.commit() # 更新
cursor.close()
conn.close()


if __name__ == '__main__':
mysql_lj()
insert_mysql()