Python 操作Mysql
1.Pymsql 介绍
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。
1.1 python安装pymsql模块
PIP 是 Python 包或模块的包管理器。
注释:如果您使用的是 Python 3.4 或更高版本,则默认情况下会包含 PIP
普通安装 :
pip install PyMySQL
卸载已安装的库:
pip uninstall PyMySQL
列出已安装的库:
pip list
1.2 Python操作mysql
代码语言:text复制1.导入pymysql模块 : import pymysql
2.使用connect() 函数来创建连接对象
*host :连接的mysq|主机,如果本机是'localhost'
*port : 连接的mysq|主机的端口, 默认是3306
*database :数据库的名称
*user :连接的用户名
*password :连接的密码
*charset :通信采用的编码方式,推荐使用utf8
3.连接对象操作说明
conn.close() : 关闭连接
conn. commit() :提交数据
conn.rollback() : 撤销数据
代码:
代码语言:python代码运行次数:0复制import pymysql # 连接mysql数据库的模块
# 1.连接数据库
"""
需要传入的参数:
host=None,
user=None,
password="",
database=None,
port=0,
charset='',
autocommit=True
"""
client = pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
password="123",
database="test",
charset='utf8', # 一定不要写utf-8
# 针对增删改操作,执行重要程度高,若要执行,必须要有一步确认的操作,autocommit=True默认对数据库进行增删改操作时自动提交至数据库;若此处不写,在下面代码 cursor_obj.execute(sql) 后面手动需要添加 client.commit()操作
autocommit=True
)
# print(client) # 打印结果:<pymysql.connections.Connection object at 0x00000000028A8B88>
# 2.获取游标对象。游标:可以用来提交sql命令
# pymysql.cursors.DictCursor:将查询出来的结果制作成字典的形式返回
cursor_obj = client.cursor(pymysql.cursors.DictCursor)
# 3.通过execute可以提交sql语句(增删改查都可以,可以使用try来捕获异常)
try:
# 1.1)查数据
sql = "select * from books" # 不用写分号
# 1.2)插入数据
# sql = "insert into student(id, name, sex, birthday, class) values('110', '张芳', '男', '1946', '95030')" # 不用写分号
# 2)提交sql语句
res = cursor_obj.execute(sql)
# print(res) # execute返回的是当前sql语句所影响的行数
# client.commit() # 上面连接数据库的代码处已写了autocommit=True,此处注释掉
# 3.1)提交后,通过cursor_obj对象.fetchall() 获取所有查询到的结果
data = cursor_obj.fetchall()
for i in data:
print(i)
# 3.2).fetchone() 只获取查询结果中的一条
# print(cursor_obj.fetchone())
# 3.3).fetchmany() 可以指定获取几条数据
# print(cursor_obj.fetchmany(4)) # 获取四条数据
except Exception as e:
print(e)
# 关闭游标
cursor_obj.close()
# 关闭客户端连接
client.close()
2.数据库
DBMS
mysql -RDBMS 关系型
2.1 数据库分类
代码语言:txt复制关系型:mysqloraclesqlserveraccess
非关系型:redis,mongodb...
2.2 修改密码
代码语言:txt复制mysql>set password for root@'127.0.0.1' =password('666')
mysqladmin -uroot -p老密码 password 新密码;
mysql>update user set password=password('66') where user='root';
2.3 库操作
代码语言:txt复制创建库:
create database 库名 charset='utf8';
连接库
use 库名
查询库
show databases;
show create database 库名 (查看库的详细创建语句)
删库
drop database 库名;
2.4 表操作
代码语言:txt复制创建:
create table 表名(
字段1名 类型(宽度) 约束条件,
字段2名 类型(宽度) 约束条件
);
删除
drop table 表名;
查看表
show create table 表名; #表信息竖向展示
show create table 表名G
show tables;
select * from userinfoG #表信息竖向展示
清空表
truncate 表名; 清空表,自增重置
delete from 表名; 清空表
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!