一、实验环境
二、获取数据库信息
(1)在电脑的搜索框中搜索mysql,打开MySQL 5.7Command Client(推荐)
如果没有MySQL 5.7Command Client,可以使用MySQL Shell(需要输入一些命令后使用,不推荐)
操作步骤:输入\connect root@localhost 连接mysql。 root是用户名,@后面接数据库ip地址,localhost等于127.0.0.1,为本机ip。回车后输入密码 123456
连接成功后输入"\sql" 进入sql命令模式,之后就能正常使用所有mysql 语法了。
\connect root@localhost:3306
(2)接下来继续介绍MySQL 5.7Command Client的使用方法。
第一次进入MySQL 5.7Command Client会提示输入密码Enter password,输入123456,即可进入数据库。
(3)然后就可以进行一系列操作,例如显示数据库MySQL命令。
show databases;
这些都是电脑中已有的数据库。
(4)创建数据库就是在数据库系统中划分一块空间存储数据,我们创建一个叫db1的新数据库,MySQL命令为:
create database db1;
可以看到新的数据库已加入到数据库列表中。
如果你不想要这个数据库,可以使用MySQL命令删除数据库db1。
drop database db1;
(5)进入某个数据库(例如db1,这是已经创建好的数据库)
use db1;
查看该数据库下的所有tables.
show tables;
因为还没有添加数据,因此是空的。第三节介绍如何建表并写入数据
更多数据库操作方法可从以下链接中找到:http://t.csdn.cn/mL0aC
三、用python在MySQL中写入数据和添加数据
(1)打开pycharm,新建一个项目
(2)在该项目下新建一个python文件,命名为123.py:
(3)在该文件下写入代码,pymysql 安装包在终端处用命令 pip install pymysql 导入 , 运行后即可向数据库db1中插入数据
具体代码如下:
import pymysql
conn = pymysql.Connect(host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = '123456',
db = 'db1',
charset='utf8')
cursor = conn.cursor()
#创建表 插入数据
sql = """CREATE TABLE ID1(
序号 int(20),
内容 CHAR(20),
字数 int(20))"""
cursor.execute(sql)
cursor.executemany(
"insert into ID1 values(%s,%s,%s)",
[
(1,'越向往光明',5),
(2,'越要默默地扎根于黑暗',10),
(3,'不管活到什么岁数',8),
(4, '总有太多的思索', 7),
(5, '当你犹豫要不要去做一件事的时候', 15),
(6, '其实你的内心已经有了选择', 12)
]
)
sql = """CREATE TABLE ID2(
序号 int(20),
内容 CHAR(20),
字数 int(20))"""
cursor.execute(sql)
cursor.executemany(
"insert into ID2 values(%s,%s,%s)",
[
(1, '一个幸运的前提', 7),
(2, '其实是他有能力改变自己', 11),
(3, '愿我们终将成为我们想要成为的人', 15),
(4,'只要能嗅到彼岸的花香',10),
(5,'当你专注自己',6),
(6,'外界的机会才会来找你',10)
]
)
sql = """CREATE TABLE ID3(
序号 int(20),
内容 CHAR(20),
字数 int(20))"""
cursor.execute(sql)
cursor.executemany(
"insert into ID3 values(%s,%s,%s)",
[
(1, '每个人都有自己的坚持', 10),
(2, '每个人都有一个觉醒期', 10),
(3, '但觉醒期的早晚决定个人命运', 13),
(4, '死亡不是失去了生命', 9),
(5, '而是走出了时间', 7),
(6, '一个人所需要的最重要的品质', 13)
]
)
sql = """CREATE TABLE ID4(
序号 int(20),
内容 CHAR(20),
字数 int(20))"""
cursor.execute(sql)
cursor.executemany(
"insert into ID4 values(%s,%s,%s)",
[
(1,'越向往光明',5),
(2,'越要默默地扎根于黑暗',10),
(3,'不管活到什么岁数',8),
(4, '总有太多的思索', 7),
(5, '当你犹豫要不要去做一件事的时候', 15),
(6, '其实你的内心已经有了选择', 12)
]
)
sql = """CREATE TABLE ID5(
序号 int(20),
内容 CHAR(20),
字数 int(20))"""
cursor.execute(sql)
cursor.executemany(
"insert into ID5 values(%s,%s,%s)",
[
(1,'越向往光明就回归结果',10),
(2,'越要默默地扎根于黑暗东方闪电',14),
(3,'不管活到什么岁数都不问我',12),
(4, '总有太多的思索都发给对方', 12),
(5, '当你犹豫要不要去做一件事的时候就回归结果', 20),
(6, '其实你的内心已经有了选择还挺大方', 16)
]
)
conn.commit()
conn.close()
(4)向数据库db1中添加数据后的表如下所示:
select * from id1;
更多写入数据方法可从以下链接中找到:http://t.csdn.cn/3VJEihttp://t.csdn.cn/mL0aC
四、用python实现语句分词和关键词提取
(1)在同一项目下新建一个python文件,命名为cut_words.py:
(2)在该文件下写入代码,jieba 安装包可在终端处用命令 pip install pymysql 导入 ,如果速度很慢,可以多试几次,或者用镜像下载。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba
具体代码如下,其中可以加载自定义词库和停止词,本代码已经注释掉,如果有,可以添加:
import pymysql
import jieba.analyse
# 连接数据库
conn = pymysql.connect(
host="localhost",
user="root",
password="123456",
database="db1",
charset="utf8mb4"
)
cursor = conn.cursor()
# jieba 分词加载自定义词库
# jieba.load_userdict("SogouLabDic.txt")
# jieba.load_userdict("dict_baidu_utf8.txt")
# jieba.load_userdict("dict_pangu.txt")
# jieba.load_userdict("dict_sougou_utf8.txt")
# jieba.load_userdict("dict_tencent_utf8.txt")
# jieba.load_userdict("my_dict.txt")
# 载入停止词
# stopwords = {}.fromkeys(
# [line.rstrip() for line in open('Stopword.txt')])
# 从数据库中分别读取 ID1-ID9 的评论信息
for index_news in range(1, 6):
# 读取评论数量信息
cursor.execute(
f"select 序号 from ID{index_news} where 序号=(select max(序号) from ID{index_news})")
index = cursor.fetchone()[0]
# 读取每条评论
for n in range(1, index):
cursor.execute(
f"select 内容 from ID{index_news} where 序号={n}")
result_middle = cursor.fetchone()[0]
# 分词并过滤停止词
result = []
seg = jieba.cut(result_middle)
for i in seg:
#if i not in stopwords:
result.append(i)
# 将分好词的评论写入文件data_full.dat
with open("data_full.dat", "a+", encoding='utf-8') as fo:
fo.write(' '.join(result) + '\n')
# 提取关键词并写入文件data_keywords.dat
keywords = jieba.analyse.extract_tags(
result_middle, topK=30, withWeight=False,
allowPOS=('ns', 'nr', 'nt', 'nz', 'nl', 'n', 'vn', 'vd', 'vg', 'v', 'vf', 'a', 'an', 'i'))
with open("data_keywords.dat", "a+", encoding='utf-8') as fo:
fo.write(' '.join(keywords) + '\n')
# 关闭连接
cursor.close()
conn.close()
(3)运行代码,结果生成两个文件data_full.dat、data_keywords.dat
(4)两个文件data_full.dat、data_keywords.dat 的具体内容如下,分别是分词结果和关键词提取结果,每个文件中有25行数据,分别对应五个表中的五个id。
py文件和dat文件可从以下连接中找到:
https://download.csdn.net/download/qq_40379132/87789449
最后,如果电脑中没有数据库,我们需要下载,当然,学校机房的电脑不存在这种情况。
1、MySql安装详细教程(若电脑未安装MySql)
下载安装包:下载网址:MySQL :: MySQL Community Downloads
进入后选择MySQL community Server,直接下载第一个
解压安装包,编写MySQL配置文件,在解压目录下新建my.ini文件,将下面文本拷贝进my.ini文件中,注意更改路径。
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 ----------是你的文件路径-------------
basedir=D:\LenovoQMDownload\mysql-8.0.33-winx64\mysql-8.0.33-winx64
# 设置mysql数据库的数据的存放目录 ---------是你的文件路径data文件夹自行创建
#datadir=D:\LenovoQMDownload\mysql-8.0.33-winx64\mysql-8.0.33-winx64
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
初始化MySQL数据库,以管理员身份打开命令提示符,切换到bin目录下
在MySQL目录下的bin目录下执行命令:mysqld --initialize --console
记下随机密码,安装mysql服务并启动:mysqld --install mysql
输入命令 mysql -uroot -p 输入密码:输入随机密码
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
配置环境变量:
依次打开此电脑->属性->高级系统设置->环境变量
在系统变量中新建
变量名:MYSQL_HOME
变量值:MySQL的目录
2、进入数据库:mysql -u root -p 输入密码123456
接下来的操作和之前一样。