Python 操作Mysql


活动地址:CSDN21天学习挑战赛

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

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 表名; 清空表

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

度假的小鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值