(补充说明:对MySQL的库层面操作,慢慢的会经常接触到百万级数据的处理和优化,刚开始工作七八天这几篇算是回忆)
目录
一、基本SQL命令语句汇总(标准是用大写)
二、PyCharm中代码连接数据库与数据库操作
1、(需要用到pymysql库,建议给pycharm换源,网上很多)
2、 代码段说明(按本地代码的顺序来的)
三、sql_order源码(需要的可以直接跳到源码)
INSERT INTO,UPDATE,CREATE,CREATE TEMPORARY TABLE,
ALTER TABLE,DISTINCT,INNER JOIN,ORDER BY,GROUP BY
(具体的语句情况很多,这里就不都举出来了,都是这几个的扩展,后面会涉及到具体的语句处理)
(后面要用到的基本命令我放在sql_order文件中,后续要用到可以import该文件)
(后面会给sql_order文件所有的源码,需要的可以直接跳到源码目录)
OperationMysq类在调用时会自动初始化 __init__函数,大多函数内容一样,函数名不一样;
也可以只写一个函数,只调用一个函数,except后面改成"该操作失败"就行,但是极其不建议,难以区分,可读性太低
def __init__(self): # 数据库连接初始化
self.conn = pymysql.connect(
host='*.*.*.*', # 本地或者虚拟机MySQL数据库地址
port=3306, # 默认端口
user='***', # 数据库用户 也可以使用root
passwd='******', # 安装时的密码或者自己添加的用户时设置的密码
db='2021', # 2021数据库
charset='utf8', # 数据库编码
)
print("数据库链接成功!")
self.cur = self.conn.cursor() # 游标为SQL操作缓冲区
print("游标创建成功!")
查:(不建议在pycharm中查,navicat中查更直观)
# 使用execute()方法执行语句
# 使用commit()提交
# 使用rollback()回滚
def search_sql(self, sql): # 查
self.cur.execute(sql)
result = self.cur.fetchall()
return result
改:
def update_sql(self, sql): # 改
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("update操作失败")
增:
def insert_sql(self, sql): # 增
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("insert操作失败")
删:
def delete_sql(self, sql): # 删
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("delete操作失败")
建:
def create_sql(self, sql): # 创建
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("create操作失败")
修:
def alter_sql(self, sql): # 改属性
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("alter操作失败")
毁:
def drop_sql(self, sql): # 删表
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("drop操作失败")
断:
def disconn_sql(self): # 断开链接
self.conn.close()
(主要为其他.py文件import调用该文件)
import pymysql
class OperationMysql:
def __init__(self):
self.conn = pymysql.connect(
host='*.*.*.*', # 本地或者虚拟机MySQL数据库地址,这里是我云服务器的地址
port=3306,
user='***', # 用户名
passwd='******', # 密码
db='2021', # 2021数据库,可以改成自己建的
charset='utf8',
)
print("数据库链接成功!")
self.cur = self.conn.cursor()
print("游标创建成功!")
# 使用execute()方法执行语句
# 使用commit()提交
# 使用rollback()回滚
def search_sql(self, sql): # 查
self.cur.execute(sql)
result = self.cur.fetchall()
return result
def update_sql(self, sql): # 改
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("update操作失败")
def insert_sql(self, sql): # 增
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("insert操作失败")
def delete_sql(self, sql): # 删
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("delete操作失败")
def create_sql(self, sql): # 创建
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("create操作失败")
def alter_sql(self, sql): # 改属性
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("alter操作失败")
def drop_sql(self, sql): # 删表
try:
self.cur.execute(sql)
self.conn.commit()
except:
self.conn.rollback()
print("drop操作失败")
def disconn_sql(self): # 断开链接
self.conn.close()