Python通过mysql-connector操作数据库

2018-03-19  本文已影响0人  努力学习的小白

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()
上一篇下一篇

猜你喜欢

热点阅读