1.连接数据库

连接MySQL数据库需要导入pymysql模块
pip install pymysql

数据库连接

#导入模块
import pymysql
#建立连接
conn = pymysql.connect(
    user='root',    # 用户名
    password='你的密码',   # 密码:这里一定要注意123456是字符串形式
    host='localhost',    # 指定访问的服务器,本地服务器指定“localhost”,远程服务器指定服务器的ip地址
    database='school',   # 数据库的名字
    port=3306,            # 指定端口号,范围在0-65535
    charset='utf8mb4',    # 数据库的编码方式
)
#建立游标对象
cursor=db.cursor()
#要执行的SQL语句
sql="SELECT VERSION()"
#执行sql语句
cursor.execute(sql)
#获取全部数据
data=cursor.fetchall()
#打印数据
print(data)
#关闭连接
db.close()

Python连接mysql数据库方法

2.数据表操作

(1)数据表的建立

mysql> create table 数据表名称(
字段1 字段类型 [字段约束],
字段2 字段类型 [字段约束],
...
);

#导入模块
import pymysql
#建立连接
conn = pymysql.connect(
    user='root',    # 用户名
    password='你的密码',   # 密码:这里一定要注意123456是字符串形式
    host='localhost',    # 指定访问的服务器,本地服务器指定“localhost”,远程服务器指定服务器的ip地址
    database='school',   # 数据库的名字
    port=3306,            # 指定端口号,范围在0-65535
    charset='utf8mb4',    # 数据库的编码方式
)
#建立游标对象
cursor=db.cursor()
#要执行的SQL语句
sql="create table student(id int,name varchar(20),gender char(2)) engine=innodb default charset=utf8;"
#执行sql命令
cursor.execute(sql)
#获取全部数据
data=cursor.fetchall()
#打印数据
print(data)
#关闭连接
db.close()

Python连接mysql数据库方法
打开数据库我么可以看到建立好的表

sql="show tables"
在python中查询
Python连接mysql数据库方法
说明我们成功创建了名为student的表

(2)插入数据

给表中插入数据
插入数据SQL语句
sql="insert into student values (1,'小李','男'),(2,'小乔','女'),(3,'小明','男');"

注意,此时要在执行后使用commit()函数提交至数据库

#提交到数据库执行
db.commit()

数据库结果
Python连接mysql数据库方法

(3)数据查询

sql="select * from student"
显示结果:
Python连接mysql数据库方法

(4)删除,修改等操作

删除id为3的数据

import pymysql
#建立连接
conn = pymysql.connect(
    user='root',    # 用户名
    password='你的密码',   # 密码:这里一定要注意123456是字符串形式
    host='localhost',    # 指定访问的服务器,本地服务器指定“localhost”,远程服务器指定服务器的ip地址
    database='school',   # 数据库的名字
    port=3306,            # 指定端口号,范围在0-65535
    charset='utf8mb4',    # 数据库的编码方式
)
#建立游标对象
cursor=db.cursor()
#要执行的SQL语句
sql="select * from student"
# SQL 删除数据
del_sql = "delete from student where id=3"
try:
    # 执行sql语句
    cursor.execute(del_sql)
    # 提交到数据库执行
    db.commit()
    cursor.execute(sql)
    # 查看表里所有数据
    data = cursor.fetchall()
    print(data)
except:
    # 如果发生错误则回滚
    db.rollback()

#关闭连接
db.close()

输出结果:Python连接mysql数据库方法

数据更新操作类似,语法如下
mysql> update 数据表名称 set 字段1=更新后的值,字段2=更新后的值,... where 更新条件;

参考文献:

  1. MySQL数据库基础(二):DDL,DML,DQL:https://zhuanlan.zhihu.com/p/641568744
  2. Python如何连接数据库,一文看懂:http://t.csdnimg.cn/DXItB