Python操作MySQL将文件信息制作成表

  • MySQL基本操作
  • Python连接MySQL
  • 附:MySQL命令行的一些操作

在项目过程中需要用到Python操作数据库,感觉以后也会经常用到,于是在这里总结一下。从构建数据库到Python访问、操作数据库一步到位。

MySQL基本操作

首先,下载安装数MySQL,在这里就不赘述了。
然后使用MySQL命令行Command line Client,打开就会让你输入密码。或者用Windows cmd,输入命令mysql -u root -p再输入密码。
为本次项目创建一个数据库:

creat DATABASE basename;


查看本地已有的数据库:

show databases;


这里注意MySQL的命令行语句以“;”结尾,如果没有分号就会让你下一行继续输。
将当前数据库切换到我们新建的数据库:

use basename;


在当前数据库里新建表,并查看新建的表:

creat table `table_name`;
desc `table_name`;


这时候发现w_name字段长度设置得太小了,修改字段属性:

ALTER TABLE table_name MODIFY 字段名 类型;


再查看一下表,字段属性变了:

Python连接MySQL

好了,那么本地数据库创建完成,现在我们要用Python连接操作数据库。
Python中连接MySQL的模块是pymysql,我们只需要在文件开头import一下,没有的就安装一下。
首先,连接数据库并获取游标,这个游标就类似于一个指针,指向你正在操作的数据。

# -*- coding:utf-8 -*-
import pymysql
import os
import sys
#打开数据库连接
conn = pymysql.connect(host='127.0.0.1', user="root", passwd="123", db="wenshu", charset='utf8')
#获取游标
cursor = conn.cursor()
# print(cursor)
#初始化
PATH = os.path.abspath(os.path.dirname(sys.argv[0]))  # 获取当前文件路径
txt_path = PATH + '/data/txt/'

因为后面要涉及中文,所以为了防止编码混乱我们在开头定义一下coding:utf-8。
在运行过程中发现之前设置的字段w_id是没有意义的,所以就把它删了。怎么删的详看下面的附录。
在Python里也是可以新建表的:

#新建表
sql = "create table `w_select`(`w_name` varchar(255),`w_year` int(16),`w_type` varchar(16));"
cursor.execute(sql)

这里注意SQL语言里用的是反引号“`”。
向表里插入数据的函数:

def insert_line(file_name, w_year, w_type):sql = "insert into w_select values(%s,%s,%s)"cursor.execute(sql, (file_name, w_year, w_type))

对目标文件夹下的所有文件进行遍历,通过文件名判断裁判文书的类型:

#文件处理
for root, dirs, files in os.walk(txt_path):for _dir in dirs:passfor _file in files:f = open(txt_path+_file, mode='r', encoding='utf-8')contents = f.read()if _file.find("民事"):jud_year("民事")elif _file.find("刑事"):jud_year("刑事")elif _file.find("行政"):jud_year("行政")f.close()

jud_year()这个函数就是判断另一个字段w_year的值,没有典型意义就不赘述了。在jud_year里调用insert_line函数,实现对表w_select的操作。
运行select语句的时候,返回值用fetchall函数获取,返回类型是元组。

sql = "SELECT * FROM w_select2 WHERE w_year=(%s) AND w_type=(%s)"
cursor.execute(sql, (s_year, s_type))
#打印筛选内容
print(cursor.fetchall())

最后,关闭游标和数据库连接。

conn.commit()  # 提交,不然无法保存新建或者修改的数据
cursor.close()  # 先关闭游标
conn.close()  # 再关闭数据库连接

附:MySQL命令行的一些操作

显示库中的数据表:show tables;
删库:drop database 库名;
清空表中记录:delete from 表名;
导出数据库:mysqldump --opt test > mysql.test;将数据库test数据库导出到mysql.test文件,后者是一个文本文件;
导入数据库:mysqlimport < mysql.dbname;
将文本数据导入数据库:load data local infile "文件名" into table 表名;

Python操作MySQL将文件信息制作成表(以裁判文书为例)相关推荐

  1. 数据库——python操作MySQL、修改表SQL语句、视图、触发器、存储过程、事务、流程控制、常见函数、索引

    文章目录 一.python操作MySQL 1.pymysql模块 1.基本使用 2.sql注入问题 3.二次确认 二.修改表SQL语句 1.修改表的名字 rename 2.添加字段 add 3.修改字 ...

  2. 菜鸟教程python3 mysql_python基础教程使用Python操作MySQL的小技巧

    1.获取插入数据的主键id import pymysql database = pymysql.connect( host="127.0.0.1", port=3306, user ...

  3. Python操作MySQL

    一 用户管理 用户在数据库操作系统中,是一个设计到数据安全的非常重要的数据库对象,在MySQL系统的数据库中root用户作为超级管理员用户,通常情况下不会给普通用户使用,所以掌握数据库管理系统中的用户 ...

  4. Python操作MySQL分享

    Python操作MySQL Python操作MySQL 关于MySQL数据库 开始之前 _mysql模块 MySQLdb模块 1. 第一个例子 2. 创建并填充表 3. 取回数据 4. 字典游标 5. ...

  5. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

  6. python操作MySQL 模拟简单银行转账操作

    一.基础知识 1.MySQL-python的安装 下载,然后 pip install 安装包 2.python编写通用数据库程序的API规范 (1).数据库连接对象 connection,建立pyth ...

  7. python进阶与数据操控_零基础机器学习Python进阶:Python操作MySql

    阅读文本大概需要 6 分钟 前言 基础写了十篇,以后会继续更,这是第二篇进阶,文末会放上链接,进阶分成另一个系列,柠檬有时间会整理好菜单栏让大家更方便的阅读基础和进阶,柠檬会把自己在当时做的项目写到进 ...

  8. Python操作Mysql实例代码教程(查询手册)

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执 ...

  9. python socket mysql_5.Python操作MySQL,三层架构,Socket网络编程

    Python操作MySQL - MySQL之查询操作 - MySQL之插入数据 - MySQL之批量插入数据 - MySQL之删除数据 - MySQL之更新数据库 - MySQL之事务 - MySQL ...

最新文章

  1. TensorFlow与主流深度学习框架对比
  2. mysql缓存 碎片_Mysql查询缓存碎片、缓存命中率及Nagios监控
  3. mysql两列取小_mysql – 我想获取两列特定列之间的列值
  4. sql 两个表列包含_Oracle数据库扩展语言PL/SQL之运算符
  5. 深夜,在这个已不再喧嚣的城市中寻找到一片属于自己的宁静,仰望那片属于自己的星空……...
  6. 微信停止服务印度用户;阿里回应“马云遭印度法院传唤”;fastjson 1.2.73 发布 | 极客头条...
  7. Intersection of Two Prisms(AOJ 1313)
  8. STEP 7 MicroWin SP9 帮助文档修复
  9. 《Linux 命令行大全》.pdf
  10. 使用bat注册ocx
  11. 思科CCNP在OSPF中设置LSA的简单命令汇总
  12. UA STAT687 线性模型II 最小二乘理论1 普通最小二乘法
  13. 英语四六级资料/四六级真题
  14. odoo14 Botton按钮标签属性详解及按钮图标使用
  15. 移动apn接入点哪个快_千兆交换机和快速以太网交换机哪个更好呢?
  16. 外卖优惠券返利分销系统外卖返利系统公众号小程序源码saas系统
  17. Must call super constructor in derived class before accessing 'this' or returning from derived const
  18. 在电脑上图片过长,但是要截成一张图片,解决方案
  19. 同步系统时间与硬件时钟
  20. 考研英语唐叔的语法课笔记

热门文章

  1. 手机拍的试卷打印出来是黑的一片怎么办
  2. vue2.0配置代理 api 开发环境、生产环境
  3. 微软携手云南打造软件产业高地 签约建立微软IT学院
  4. 森林火灾算法c语言,森林火灾的卫星监测是通过()监测来实现。
  5. LeetCode第1143题最长公共子序列
  6. 国内云服务器商怎么选?阿里云、腾讯云、华为云、天翼云怎么选?
  7. 基于MiniSTM32的mpu6050学习笔记(一)
  8. 使用fairseq从头开始训练一个中英神经机器翻译模型
  9. Rhel 7.3 基本操作
  10. 开源私有云盘python_使用Seafile搭建个人专属私有云盘