数据分析从MySQL开始(Python)(二、python与sql操作)

(补充说明:对MySQL的库层面操作,慢慢的会经常接触到百万级数据的处理和优化,刚开始工作七八天这几篇算是回忆)

目录

一、基本SQL命令语句汇总(标准是用大写)

二、PyCharm中代码连接数据库与数据库操作

1、(需要用到pymysql库,建议给pycharm换源,网上很多)

2、 代码段说明(按本地代码的顺序来的)

三、sql_order源码(需要的可以直接跳到源码)

 


一、基本SQL命令语句汇总(标准是用大写)

INSERT INTO,UPDATE,CREATE,CREATE TEMPORARY TABLE,

ALTER TABLE,DISTINCT,INNER JOIN,ORDER BY,GROUP BY

(具体的语句情况很多,这里就不都举出来了,都是这几个的扩展,后面会涉及到具体的语句处理)

(后面要用到的基本命令我放在sql_order文件中,后续要用到可以import该文件)

二、PyCharm中代码连接数据库与数据库操作

(后面会给sql_order文件所有的源码,需要的可以直接跳到源码目录)

1、(需要用到pymysql库,建议给pycharm换源,网上很多)

数据分析从MySQL开始(Python)(二、python与sql操作)_第1张图片

2、 代码段说明(按本地代码的顺序来的)

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()

三、sql_order源码(需要的可以直接跳到源码)

(主要为其他.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()

 

你可能感兴趣的:(数据库,python,mysql,python)