前提:
当前mysql是比较常用的数据库,先将使用python连接mysql的相关操作作简单记录
前提条件:1、安装python及其相关的软件并配置环境变量
2、已安装mysql环境
3、安装pymysql
cmd执行安装命令:pip install pymysql
查看是否本系统是否已安装pymysql:pip showpysql
一、创建数据库
# conding=utf-8
# 1、在数据库表插入一个新表USER
# 导入pymysql模块
import pymysql
# 连接database
conn = pymysql.connect(host="localhost",user="user",password="pwd",database="连接的数据库名",charset="utf8")
# 得到一个可以执行SQL语句的光标对象
cursor = conn.cursor()
# 定义要执行的SQL语句
sql = """
CREATE TABLE USER (
id INT auto_increment PRIMARY KEY ,
name CHAR(10) NOT NULL UNIQUE,
age TINYINT NOT NULL
)ENGINE=innodb DEFAULT CHARSET=utf8;
"""
# 执行SQL语句
cursor.execute(sql)
# 关闭光标对象
cursor.close()
# 关闭数据库连接
conn.close()
二、向表内插入单条数据
# coding:utf-8
import pymysql
# 连接
conn=pymysql.connect(host="localhost",user="user",password="pwd",database="连接的数据库名",charset="utf8")
# 获取光标
cursor=conn.cursor()
# 写sql语句
sql = "insert into USER (id,name,age) VALUES (112,'Lisa33','25');"
try:
# 执行sql语句
result = cursor.execute(sql)
print(result)
# 把修改的数据提交到数据库
conn.commit()
except Exception as e:
# 捕捉到错误就回滚
conn.rollback()
cursor.close()
conn.close()
三、向表内插入多条数据
import pymysql
# 连接
conn=pymysql.connect(host="localhost",user="user",password="pwd",database="连接的数据库名",charset="utf8")
# 获取光标
cursor=conn.cursor()
# 写sql语句
sql="insert into USER(name,age) values(%s,%s);"
name1='张三'
age1='10'
name2='琳琳'
age2='18'
# 把所有要插入的信息保存在元祖或列表中
data=((name1,age1),(name2,age2))
try:
# 执行sql语句
cursor.executemany(sql,data) #使用executemany做批量处理
conn.commit() #把修改提交到数据库
except Exception as e :
conn.rollback()
cursor.close()
conn.close()
四、查询数据
import pymysql
# 连接
conn = pymysql.connect(host="localhost",user="user",password="pwd",database="连接的数据库名",charset="utf8")
# 获取光标
cursor = conn.cursor()
# 写sql语句
sql = "select * from USER;"
# 执行sql语句
ret=cursor.execute(sql)
print('-->',ret)
# 一次取一条
print(cursor.fetchone())
print(cursor.fetchone())
print(cursor.fetchone())
# 一次取所有
# print(cursor.fetchall())
# 自定义取出多少条
# print(cursor.fetchmany(3))
# 进阶用法
print(cursor.fetchone())
print(cursor.fetchall())
print(cursor.fetchone()) #如果取不到会返回None
# 移动取数据的光标
cursor.scroll(-2) #默认是相对移动
print(cursor.fetchone())
# 按照绝对位置去移动
cursor.scroll(4,mode='absolute')
print(cursor.fetchone())
cursor.close()
conn.close()
五、更新数据
import pymysql
# 连接
# username=input('name')
conn = pymysql.connect(host="localhost",user="user",password="pwd",database="连接的数据库名",charset="utf8") # 没有-
# 获取光标
cursor=conn.cursor()
# 写sql语句
sql="update USER set age=80 where name='张三';"
print(sql)
ret=cursor.execute(sql)
conn.commit()
print(ret)
cursor.close()
conn.close()
六、删除数据
import pymysql
# 连接
conn = pymysql.connect(host="localhost", user="user", password="pwd", database="连接的数据库名", charset="utf8")
# 获取光标
cursor=conn.cursor()
# 写sql语句
sql = "delete from USER where name='Lisa';"
cursor.execute(sql)
# 把修改提交到数据库
conn.commit()
cursor.close()
conn.close()