1、首先安装本地MySQL
此步骤不再赘述
2、启动本地MySQL
在contana的搜索框张收入cmd,然后右键单击,并选择以管理员身份运行!
切换到C盘根目录:
C:\WINDOWS\system32>cd ..
C:\Windows>cd ..
C:\>C:\>D:
D:\>cd D:\navicat\mysql-5.6.44-winx64\binD:\navicat\mysql-5.6.44-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
D:\navicat\mysql-5.6.44-winx64\bin>mysql -uroot -p#这里直接enter键,进入MySQL
mysql>
进入MySQL后,进行以下操作:
创建数据库my_suppliers,选择创建的数据库,在新创建的数据库下新建一个数据表Suppliers,描述数据表,创建一个新用户clinton,向新用户授予所有权限。
CREATE DATABASE my_suppliers;
Query OK,1 row affected (0.05sec)
mysql>use my_suppliers;
Database changed
mysql>CREATE TABLE IF NOT EXISTS Suppliers-> (Suppliers VARCHAR(20),-> Invoice_Number VARCHAR(20),-> Part_Number VARCHAR(20),->Cost FLOAT,->Purchase_date date);
Query OK, 0 rows affected (0.24sec)
mysql>describe Suppliers;+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| Suppliers | varchar(20) | YES | | NULL | |
| Invoice_Number | varchar(20) | YES | | NULL | |
| Part_Number | varchar(20) | YES | | NULL | |
| Cost | float | YES | | NULL | |
| Purchase_date | date | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
5 rows in set (0.01sec)
mysql> CREATE USER ‘clinton‘@‘localhost‘ IDENTIFIED BY ‘secret_password‘;
Query OK, 0 rows affected (0.00sec)
mysql> GRANT ALL PRIVILEGES ON my_suppliers.* TO ‘clinton‘@‘localhost‘;
Query OK, 0 rows affected (0.00sec)
mysql>FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
3、使用python向MySQL表中插入新记录
该脚本会将CSV文件的数据插入到MySQL中的Suppliers表中:
#!/usr/bin/env python3
importsqlite3importcsvimportMySQLdbfrom datetime importdatetime,date
input_file= "F://python入门//数据1//CSV测试数据.csv"
#连接到数据库
con = MySQLdb.connect(host=‘localhost‘,port=3306,db=‘my_suppliers‘,user=‘clinton‘, passwd=‘secret_password‘)#创建了一个光标
c =con.cursor()#从CSV格式的输入文件中读取要加载到数据库中的数据,创建file_reader对象,用于存储CSV中的数据集
file_reader = csv.reader(open(input_file,‘r‘,newline=‘‘))#从输入文件中读入第一行
header =next(file_reader)#将输入的所有数据进行循环,先是每行循环,再是每列循环
for row infile_reader:
data=[]for column_index inrange(len(header)):if column_index < 4:
data.append(str(row[column_index]).lstrip(‘$‘).replace(‘,‘,‘‘).strip())else:
a_date= datetime.date(datetime.strptime(str(row[column_index]),‘%m/%d/%Y‘))
a_date= a_date.strftime(‘%Y-%m-%d‘)
data.append(a_date)print(data)
c.execute("""INSERT INTO Suppliers VALUES(%s,%s,%s,%s,%s)""",data)#将修改保存到数据库
con.commit()print(‘………………‘)#执行选择所有数据的SQL
c.execute("SELECT * FROM Suppliers")#返回结果集中的所有行,返回的是一个大的列表
rows =c.fetchall()print(rows)print(‘………………‘)for row inrows:
row_list_output=[]for column_index inrange(len(row)):
row_list_output.append(str(row[column_index]))print(row_list_output)
原文:https://www.cnblogs.com/xiao02fang/p/12644119.html