Python 操作Mysql

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。

文章目录


1.Pymsql 介绍

1.1 python安装pymsql模块

1.2 Python操作mysql

2.数据库

2.1 数据库分类

2.2 修改密码

2.3 库操作

2.4 表操作


1.Pymsql 介绍


pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。


1.1 python安装pymsql模块

微信图片_20221012211836.png


PIP 是 Python 包或模块的包管理器。


**注释:**如果您使用的是 Python 3.4 或更高版本,则默认情况下会包含 PIP

微信图片_20221012211842.png

普通安装 :

pip install PyMySQL

微信图片_20221012211849.png

卸载已安装的库:

pip uninstall PyMySQL

微信图片_20221012211905.png

列出已安装的库:


pip list


1.2 Python操作mysql

1.导入pymysql模块 : import pymysql
2.使用connect() 函数来创建连接对象
     *host :连接的mysq|主机,如果本机是'localhost'
     *port : 连接的mysq|主机的端口, 默认是3306
     *database :数据库的名称
     *user :连接的用户名
     *password :连接的密码
     *charset :通信采用的编码方式,推荐使用utf8
3.连接对象操作说明
     conn.close() : 关闭连接
     conn. commit() :提交数据
     conn.rollback() : 撤销数据

代码:

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 数据库分类

关系型:mysql\oracle\sqlserver\access
非关系型:redis,mongodb...

2.2 修改密码

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 库操作

创建库:
  create database 库名 charset='utf8';
连接库
  use 库名
查询库
  show databases;
  show create database 库名  (查看库的详细创建语句)
删库
  drop database 库名;

2.4 表操作

创建:
  create table 表名(
  字段1名 类型(宽度) 约束条件,
  字段2名 类型(宽度) 约束条件
  );
删除
  drop table 表名;
查看表
  show create table 表名;  #表信息竖向展示
  show create table 表名\G
  show tables;
  select * from userinfo\G  #表信息竖向展示
清空表
  truncate 表名;    清空表,自增重置
  delete from 表名; 清空表



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
20小时前
|
Python
【Python操作基础】——帮助文档
【Python操作基础】——帮助文档
|
20小时前
|
Python
【Python操作基础】——包
【Python操作基础】——包
|
21小时前
|
Python
【Python操作基础】——函数
【Python操作基础】——函数
|
21小时前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
21小时前
|
索引 Python
【Python操作基础】——序列
【Python操作基础】——序列
|
21小时前
|
Python
【Python操作基础】——字符串
【Python操作基础】——字符串
|
21小时前
|
Python
【Python操作基础】——元组
【Python操作基础】——元组
|
21小时前
|
Python
【Python操作基础】——列表操作
【Python操作基础】——列表操作
|
21小时前
|
Python
【Python操作基础】——while语句用法和pass语句
【Python操作基础】——while语句用法和pass语句
|
21小时前
|
Python
【Python操作基础】——for语句用法
【Python操作基础】——for语句用法