一:这里不懂的私信我
先将MySQL下载到系统里面
在Navicat for MySQL软件里创建一个数据库
假设我现在创建了一个yyds的数据库
像sql中的指令为社么是这样书写,
下期在出
如果不知道怎么下载Navicat for MySQL和将MySQL下载到系统里面
私聊,免费安装包和MySQL系统安装教程发你
二:打开pycharm,对MySQL数据库进行连接
先下载pymysql模块
win+r打开,在cmd 输入pip install pymysql即可
#引用模块
import pymysql
db=pymysql.connect(
# host 主机地址,因为我们的数据都是本机的127.0.0.1 或者本机域名localhost
host="localhost",
# password 用户名的密码
user="root",
password="root",
# 数据库字符编码
charset="utf8",
# 你要使用的数据库名称
database="yyds"
)
# 创建游标对象(理解为指针)就是代表该链接的数据库
# cursor专门创建游标
以后都要用游标对象来操作
#数据是放在数据库中对应的表里面的
1.如何创建表
我们首先还是要链接数据库
可以用异常处理的方法,判断是否数据库的运行没问题
注意:无论创建成功还是失败都要关闭游标和数据库
游标名.close()
数据库.close()
#引用模块
import pymysql
db=pymysql.connect(
# host 主机地址,因为我们的数据都是本机的127.0.0.1 或者本机域名localhost
host="localhost",
# password 用户名的密码
user="root",
password="root",
# 数据库字符编码
charset="utf8",
# 你要使用的数据库名称
database="yyds"
)
#创建一个游标对象
cur=db.cursor()
#编写需要创建的表
sql="""create table t_student(
son int primary key auto_increment,
sname varchar(10) not null,
age int(2),
score float(3,1)
)"""
try:
#执行创建的表
cur.execute(sql)
print("创建成功")
except Exception as e:
print(e)
print("创建失败")
finally:
cur.close()
db.close()
看到这里我已经创建成功t_student列表了
2.如何插入数据
只要改变一下sql代码的指令即可,然后在吧数据放入列表里
这里可以用executemany去执行指令,这样才可以传入多组数据
格式:
sql 为插入指令
executemany(sql,[ (), (), ()])
注意:失败时要去回滚数据,不然错误数据会卡住,真确数据
回滚方法,数据库衔接名.rollback()
如果成功就要把数据提交给数据库
提交方法 数据库衔接名.commit()
#引用模块
import pymysql
db=pymysql.connect(
# host 主机地址,因为我们的数据都是本机的127.0.0.1 或者本机域名localhost
host="localhost",
# password 用户名的密码
user="root",
password="root",
# 数据库字符编码
charset="utf8",
# 你要使用的数据库名称
database="yyds"
)
#创建一个游标对象
cur=db.cursor()
#编写需要创建的表
sql="insert into t_student (sname,age,score) values(%s,%s,%s)"
try:
#执行创建的表
cur.executemany(sql,[("小米",18,16.0),("小鱼",18,18.0),("大鱼",16,16.5)])
db.commit()
print("插入成功")
except Exception as e:
print(e)
db.rollback()
print("插入失败")
finally:
cur.close()
db.close()
3.如何查找数据,修改数据,删除数据
实际上如果前面的听懂了就知道把
sql的指令修改即可
游标名.fetchall()
查询所有数据
#引用模块
import pymysql
db=pymysql.connect(
# host 主机地址,因为我们的数据都是本机的127.0.0.1 或者本机域名localhost
host="localhost",
# password 用户名的密码
user="root",
password="root",
# 数据库字符编码
charset="utf8",
# 你要使用的数据库名称
database="yyds"
)
#创建一个游标对象
cur=db.cursor()
#编写需要创建的表
sql="select * from t_student"
try:
#执行创建的表
cur.execute(sql)
students=cur.fetchall()
print(students)
except Exception as e:
print(e)
db.rollback()
print("查找失败")
finally:
cur.close()
db.close()
修改
#引用模块
import pymysql
db=pymysql.connect(
# host 主机地址,因为我们的数据都是本机的127.0.0.1 或者本机域名localhost
host="localhost",
# password 用户名的密码
user="root",
password="root",
# 数据库字符编码
charset="utf8",
# 你要使用的数据库名称
database="yyds"
)
#创建一个游标对象
cur=db.cursor()
#编写需要创建的表
sql='update t_student set sname=%s where son=%s '
try:
#执行创建的表
cur.execute(sql,("大王",1))
db.commit()
print("修改成功")
except Exception as e:
print(e)
db.rollback()
print("修改失败")
finally:
cur.close()
db.close()
删除
#引用模块
import pymysql
db=pymysql.connect(
# host 主机地址,因为我们的数据都是本机的127.0.0.1 或者本机域名localhost
host="localhost",
# password 用户名的密码
user="root",
password="root",
# 数据库字符编码
charset="utf8",
# 你要使用的数据库名称
database="yyds"
)
#创建一个游标对象
cur=db.cursor()
#编写需要创建的表
sql='delete from t_student where sname=%s'
try:
#执行创建的表
cur.execute(sql,("大王"))
db.commit()
print("删除成功")
except Exception as e:
print(e)
db.rollback()
print("删除失败")
finally:
cur.close()
db.close()
总结:
实际上就是先链接数据库,然后再改变sql的指令进行操作,如果有关数据的
操作就要回滚和提交,最后一定要关闭数据库衔接和游标