前言
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。本文需要读者拥有SQL功底和Python第三方模块使用的知识。
Mysql基础语法学习
本人结合个人学习经验,总结了下面三个教程,对我本人帮助很大,小伙伴们,按照顺序学习,一定会有收获。
博客园21分钟爆赞教程
菜鸟教程
C语言中文网教程
Python操作MySQL
简单入门
import pymysql
db = pymysql.connect(host='localhost', user='root', password='123456', database='niuke', autocommit=True)
db.set_charset('utf8mb4')
strr = "insert into `niuke`.`new` values(%s,%s);"
data = [('556', '655'), ('142', '526'), ('258', '687'), ('621', '963')]
with db.cursor() as cursor: # 创建游标
try:
# 插入数据方法1
# sql="insert into `niuke`.`new` values('2222','33333');"
# cursor.execute(sql)
# 插入数据方法2
cursor.executemany(strr, data)
except:
db.rollback() # 不能插入,错误,回滚。
封装
import pymysql
class Mysql_Object():
def __init__(self, host, user, password, database, port=3306, charset='utf8'):
self.host = host
self.user = user
self.password = password
self.database = database
self.port = port
self.charset = charset
def select_sql(self, sql, size=0):
'''
查询sql语句
:param sql 传入查询的sql语句,字符串
:param size 返回结果的记录条数,如果没有输入默认输出全部条数
:return: self.count 返回查询的记录的总数,slef.res 返回查询的结果
'''
self.con = pymysql.connect(host=self.host, user=self.user, password=self.password, database=self.database,
port=self.port, charset=self.charset)
self.cur = self.con.cursor() # 建立游标
self.sql = sql
# 判读是否是查询语句
if self.sql.startswith('select'):
self.cur.execute(self.sql) # 获取数据库结果
self.count = self.cur.rowcount # 统计查询记录数
# 通过if语句进行判断
if size == 0:
self.res = self.cur.fetchall() # 输出全部结果
elif size != 0:
self.res = self.cur.fetchmany(size) # 输出指定数值
self.cur.close()
self.con.close() # 关闭连接
return self.count, self.res
def excute_sql(self, sql):
'''
:param sql 输入增删改的sql语句
:return:
'''
self.con = pymysql.connect(host=self.host, user=self.user, password=self.password, port=self.port,
database=self.database,
charset=self.charset, autocommit=True)
self.cur = self.con.cursor() # 建立游标
self.sql = sql
if self.sql.startswith('insert'):
print('插入语句', self.sql)
self.cur.execute(self.sql) # 执行语句
self.cur.close() # 关闭连接
self.con.close()
if self.sql.startswith('delete'):
print('删除语句', self.sql)
self.cur.execute(self.sql) # 执行语句
self.cur.close() # 关闭连接
self.con.close()
if self.sql.startswith('update'):
print('更新语句', self.sql)
self.cur.execute(self.sql) # 执行语句
self.cur.close() # 关闭连接
self.con.close()
# 调用
m = Mysql_Object('localhost', 'root', '123456', 'niuke')
print(m.select_sql('select * from new', )) # 查询结果
m.excute_sql("update new set name='王六' where name='牛牛牛'") # 更新语句
m.excute_sql("delete from new where name='111'") # 删除语句
m.excute_sql("insert into new VALUES('赵七','235')") # 插入语句
MySQL可视化工具推荐
国产SQLstudio
SQL Studio是一款可创建多个连接的Web版数据库管理开发工具,让你从单一应用程序可同时连接Oracle、PostgreSQL、MySQL、SQLite、SQL Server、Oracle、DM(达梦)、KingBase(人大金仓)、MongoDB、Hadoop等数据库。
网盘下载
链接:https://pan.baidu.com/s/16d3PladsS8ocZ7Sd8-anpQ?pwd=PypY
提取码:PypY
–来自百度网盘超级会员V4的分享