江东的笔记

Be overcome difficulties is victory

0%

第一次搭建成功MySQL数据库

MySQL的安装以及使用Python连接数据库

首先了解一下MySQL

数据库:

    简单理解,就是好多表,类似Excel的工作簿

    操作系统看来:文件是文件的整体,文件内容不关心
    数据库系统看来:每一条记录才是问题的关键,比文件更细

数据表:

    二维的数据结构,有行有列,有一个略显奇怪的名字:关系
    一行叫一条记录,代表一个交易、一个数据条目:机器学习中叫“样本”
    一列叫一个字段,代表记录的性情:机器学习中叫“特征”

关于MySQL的安装

安装过程略,安装完成需要配置环境变量,把bin目录的路径添加上去,在cmd中输入where mysql或者输入path查看是否安装成功
在这里插入图片描述

启动服务

以管理员身份启动cmd:

    初始化数据库 mysqld  --initialize
    安装服务 mysqld --install  mysql56
    启动服务 net start mysql56

    连接root用户:mysql -uroot mysql
    查看用户情况:select host,user,password from mysql.user;

·Database:一个数据库相当于一个excel的工作簿,一个table相当于一个工作表

查看当前数据库:select database();
查看所有数据库:show databases;

创建数据库

1
create database spider2 DEFAULT CHARACTER SET utf8;  // 中文支持

删除数据库

1
drop database <数据库名>;

关于tables

查看tables:show() tables;

删除数据表:DROP TABLE table_name;

使用python连接数据库

1
2
3
4
5
6
7
8
9
import pymysql

# 简单的查找 # 连接数据库
conn = pymysql.connect(host='localhost', port=3306, charset="UTF8", user='root', password='dpb238031', database='mysql')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

sql = 'select * from runoob_tbl'
row = cursor.execute(sql)
result = cursor.fetchall()

python实现增删改

1
2
3
4
sql = """INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date)
VALUES ("JAVA 教程", "RUNOOB.COM", '2016-09-06')"""
cursor.execute(sql)
conn.commit() #提交事务,如果不提交,更新不生效

1
2
3
sql = """delete from  runoob_tbl where runoob_id = 7 """
cursor.execute(sql)
conn.commit()

1
2
3
4
sql = """UPDATE runoob_tbl SET runoob_title = '我爱学习',
runoob_author = '杜培博',submission_date = '2021-05-08' WHERE runoob_id = 7"""
cursor.execute(sql)
conn.commit()

最后不要忘了关闭

1
2
cursor.close()
conn.close()

使用pandas向已有mysql表格中写入数据

1
2
3
4
5
6
7
8
9
10
11
12
import pandas as pd

from sqlalchemy import create_engine

conn3 = create_engine('mysql+pymysql://root:dpb238031@localhost:3306/mysql?charset=utf8')
sql = 'select * from runoob_tbl'
rub = pd.read_sql(sql, conn3)

df = pd.DataFrame({'runoob_id': [1, 2, 3], 'runoob_title': ['zhangsan', 'lisi', 'wangwu'],
'runoob_author': [6, 8, 9], 'submission_date': ['2016-09-06', '2016-09-06', '2016-09-06']})

df.to_sql(name='aaaa', con=conn3, if_exists='append', index=True)