Python通过mysql-connector操作数据库

Python操作Mysql模块的安装

Windows:
    https://dev.mysql.com/downloads/connector/python/2.1.html

SQL基本使用

1、数据库操作
    show databases;
    use database_name;
1、2创建数据表
      create table student(
          id int(4) not null auto_increment primary key,
          name varchar(32) not null,
          sex char(4) not null,
          age tinyint unsigned not null);

Python-connector操作数据库

创建数据表之后,我们通过Python来操作数据库,执行代码后,通过sql语句查看数据库的变动。

import mysql.connector

config = {
    'host': '127.0.0.1', # 连接的IP地址
    'user': 'root',
    'password': '123456',
    'port': 3306,
    'database': 'data',
    'charset': 'utf8', # 编码格式,防止查出来的数据中文乱码
}

conn = mysql.connector.Connect(**config)
cor = conn.cursor()

# 新增
cor.execute("insert into student values(%s,%s,%s,%s)",(2,'胖多','女',36))

# 修改
cor.execute("update student SET age=%s WHERE age=36",(18,))

# 查询
cor.execute("select name,age from student WHERE ID=1;")

# 删除
cor.execute("delete  from student WHERE ID=1;")

conn.commit() # 提交

# 切记一定要关闭游标和连接
cor.close()
conn.close()

Python操作数据库数据

# _author_='shaojie'
# -*- coding:utf-8 -*-

import mysql.connector


config = {
    'host': '127.0.0.1', # 连接的IP地址
    'user': 'root',
    'password': '123456',
    'port': 3306,
    'database': 'data',
    'charset': 'utf8', # 编码格式,防止查出来的数据中文乱码
}

conn = mysql.connector.Connect(**config)
cor = conn.cursor()

# 查询数据是
cor.execute("select * from student;")

conn.commit() # 提交

cor.fetchone() # 返回一条数据,元祖形式

cor.fetchall() # 返回所有数据,元祖嵌套元祖



# 关闭游标和连接
cor.close()

最终优化版

import mysql.connector


config = {
    'host': '127.0.0.1', # 连接的IP地址
    'user': 'root',
    'password': '123456',
    'port': 3306,
    'database': 'data',
    'charset': 'utf8', # 编码格式,防止查出来的数据中文乱码
}

conn = mysql.connector.Connect(**config)
cor = conn.cursor()

# 查询数据是
try:
    cor.execute("select * from student;")
    
    conn.commit() # 提交
    
    cor.fetchone() # 返回一条数据,元祖形式
    
    cor.fetchall() # 返回所有数据,元祖嵌套元祖
except ConnectionError as e:
    print(e)
except Exception as msg:
    print(msg)
finally:
    # 关闭游标和连接
    cor.close()
    conn.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容