1、准备工作
安装mysql:官网下载
下载pymysql:pip install pymysql
为了更直观方便查看数据库操作结果,可下载navicat管理工具。下载地址为:http://www.navicat.com.cn/
2、打开数据库连接
以管理员身份打开cmd;
cmd中打开连接:net start mysql
navicat建立mysql连接
3、数据库操作
(1)打开数据库连接
创建数据库名称为test
import pymysql
db = pymysql.connect("localhost","root","root","test" ) #打开数据库连接,第一个root为数据库名,第二个root为密码
cursor = db.cursor() #创建游标对象
(2)输出数据库版本
cursor.execute("SELECT VERSION()") #执行查询
data = cursor.fetchone()
print("Database version : %s " % data)
(3)在数据库中创建数据表
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") #如果存在,则删除
sql = """CREATE TABLE test_tab(
DATA DATE NOT NULL,
X FLOAT,
Y FLOAT,
Z FLOAT)"""
cursor.execute(sql) #执行创建
db.close() # 关闭数据库连接
在navicat中查看结果如下:
(4)数据表中插入单条记录
sql = """INSERT INTO test_tab
VALUES ('2020-5-20', 1,2,3)"""
try:
cursor.execute(sql) # 执行sql语句
db.commit() # 提交到数据库执行
except:
db.rollback() # 如果发生错误则回滚
print("无法插入")
在navicat中查看结果如下:
通常将格式化占位符%s应用于mysql中,上述功能也可表示为:
sql = """INSERT INTO test_tab
VALUES ('%s',%s ,%s,%s)"""% ('2020-5-20', 1, 2, 3)
try:
cursor.execute(sql) # 执行sql语句
db.commit() # 提交到数据库执行
except:
db.rollback() # 如果发生错误则回滚
print("无法插入")
(5)将csv文件内容存入mysql数据表
cursor = db.cursor() #创建游标对象
#path为csv文件路径;test_tab为表名
data_sql = "load data local infile '%s' into table %s fields terminated by ',' LINES TERMINATED BY '\\r\\n' IGNORE 2 LINES;" %(path, 'test_tab')
cursor.execute(data_sql)
db.commit()
db.close()