1.Mysql 的核心就是SQL语句,类似于CMD 指令,需要要掌握住语法结构
2.学习参见的文章有
一、安装Mysql参见
https://blog.csdn.net/weixin_43605266/article/details/110477391
如果安装中出现错误参见:https://blog.csdn.net/ermaner666/article/details/79096939
登录指令:D:\pymysql\mysql-8.0.32-winx64\mysql-8.0.32-winx64\bin>mysql -uroot -p
紧接着输入密码,在.err文件里

进去之后首先要用指令修改这个密码(文章里有)
二、总文章参见:https://zhuanlan.zhihu.com/p/397765212(他介绍了总体思路----总体参考)
三、SQLyog的下载、安装、破解、配置(MySQL可视化工具安装)---这个工具可以直接连接Mysql, 相当于FTP工具
https://www.cnblogs.com/pengpengdeyuan/p/14364777.html---(此文章写的相当详细)
4.实践代码
import pymysql
# 打开数据库连接
try:
db = pymysql.connect(host='localhost', user='root', passwd='123456', port=3306,db='wgm')
print('连接成功!')
except:
print('something wrong!')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
######################################################################################################################################
###############查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查################################################################
######################################################################################################################################
# # 使用 execute() 方法执行 SQL 查询
# cursor.execute("SELECT VERSION()")
#
# # 使用 fetchone() 方法获取单条数据.
# data = cursor.fetchone()
#
# print("Database version : %s " % data)
# 关闭数据库连接
#db.close()
'''
连接成功!
Database version : 8.0.25
'''
######################################################################################################################################
###############查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查查################################################################
######################################################################################################################################
####################################################################################################################################################################
######创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创######如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表############
####################################################################################################################################################################
#
# # 使用 execute() 方法执行 SQL,如果表存在则删除
# cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
#
# # 使用预处理语句创建表
# sql2 = """CREATE TABLE OF1770 (
# FIRST_NAME2 CHAR(200) NOT NULL,
# LAST_NAME3 CHAR(200),
# AGE5 INT,
# SEX4 CHAR(1),
# INCOME5 FLOAT )"""
#
# cursor.execute(sql2)
# print('建表成功!')
# # 关闭数据库连接
# ###db.close()
####################################################################################################################################################################
######创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创######如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表############
#############################################################################################################################################################
############################插入数据插入数据插入数据插入数据插入数据插入数据插入数据插入数据插入数据##########################################################
############################插入数据插入数据插入数据插入数据插入数据插入数据插入数据插入数据插入数据#########################################
# # SQL 插入语句
# sql = """INSERT INTO OF1769(FIRST_NAME2,
# LAST_NAME3, AGE5, SEX4, INCOME5)
# VALUES ('wgm11', 'wgm22', 50, '男', 2000)"""
# try:
# # 执行sql语句
# cursor.execute(sql)
# # 提交到数据库执行
# db.commit()
# print('数据插入成功!')
# except:
# # 如果发生错误则回滚
# db.rollback()
# print('数据插入错误!')
#
# db.close()
#############################插入数据插入数据插入数据插入数据插入数据插入数据插入数据###################################################
############################插入数据插入数据插入数据插入数据插入数据插入数据插入数据插入数据插入数据#########################################
#############################查询查询查询查询查询查询查询查询查询查询查询查询#######################################################
#############################查询查询查询查询查询查询查询查询查询查询查询查询#######################################################
# # SQL 查询语句 ####这里我对表格of1769内的数据做查询
# sql = "SELECT * FROM of1769 \
# WHERE AGE5 > %s" % (40)####在AG5里查询年龄大余40的数据
# try:
# # 执行SQL语句
# cursor.execute(sql)
# # 获取所有记录列表
# results = cursor.fetchall()
# for row in results:
# fname = row[0]
# lname = row[1]
# age = row[2]
# sex = row[3]
# income = row[4]
# # 打印结果
# print('数据查询成功!')
# print("fname=%s,lname=%s,age=%s,sex=%s,income=%s" % \
# (fname, lname, age, sex, income))
# except:
# print("Error: unable to fetch data")
#############################查询查询查询查询查询查询查询查询查询查询查询查询#######################################################
#############################查询查询查询查询查询查询查询查询查询查询查询查询#######################################################
#############################更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新#######################################################
#############################更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新#######################################################
# # SQL 更新语句
# sql = "UPDATE of1769 SET AGE5 = AGE5 + 1 WHERE INCOME5 = '%s'" % ('2000')#####将INCOME5 为2000的数据 其AGE5均+1
# try:
# # 执行SQL语句
# cursor.execute(sql)
# # 提交到数据库执行
# db.commit()
# print('数据更新成功!')
# except:
# # 发生错误时回滚
# db.rollback()
#############################更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新#######################################################
#############################更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新#######################################################
#############################删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除#######################################################
#############################删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除#######################################
# SQL 删除语句
sql = "DELETE FROM of1769 WHERE AGE5 > %s" % (38)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
print('数据删除成功')
except:
# 发生错误时回滚
db.rollback()
#############################删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除#######################################################
#############################删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除删除#######################################
5.my.ini文件备份
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir = D:\\pymysql\\mysql-8.0.32-winx64\\mysql-8.0.32-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\\pymysql\\mysql-8.0.32-winx64\\mysql-8.0.32-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES