python之数据库

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: python之数据库 1.MYSQL数据库的管理 准备工作: su - root yum install mariadb-server  -y systemctl start mariadb # 设定密码 mysql_secure_installation yum install...

python之数据库

1.MYSQL数据库的管理

准备工作:
su - root
yum install mariadb-server  -y
systemctl start mariadb
# 设定密码
mysql_secure_installation
yum install gcc -y
yum search Mysql-Python
yum install MySQL-python.x86_64  -y
# pip 前提是 必须有网才可以 并且 ipythn 也要安装好
pip install Mysql-Python

测试:
在pycharm里输入
import MySQLdb  不报错  即为成功


在网页上管理mysql:
 yum install php-mysql -y
 systemctl start httpd
 systemctl stop firewalld
 将/home/kiosk/Desktop/phpMyAdmin-3.4.0-all-languages.tar.bz2 考到桌面上
 # 必须将其放到/var/www/html目录中 这样apache才能访问到
 mv /home/kiosk/Desktop/phpMyAdmin-3.4.0-all-languages.tar.bz2 /var/www/html
 cd /var/www/html
 tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
 rm -fr *.bz2
 # 重命名 名字太长 访问页面时会出错
 mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
 cd mysqladmin/
 cp config.sample.inc.php config.inc.php

在网页上登陆
输入 http://172.25.254.66/mysqladmin/
输入用户名root  密码westos  登陆即可


先在shell里创建python数据库,在该数据库里创建student表
并在该表中插入数据

mysql -uroot -pwestos
show databases;
create database python;
show databases;
use  python;
show tables;
create table student(sno int,name char(10));
show tables;
insert into student(sno,name) values(3,'lily');
select * from student;

(1)查询数据(查)

"""输出被操作(查询)的行数"""
代码1:


# 倒导入MySQLdb
import MySQLdb
# 1.打开门  (变量conn即为门 变量名可以随意取)
#  host为本地的回环接口 如果报错就改为localhost ; db 即为database
#conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='westos',db='python')
conn = MySQLdb.connect(host='localhost',user='root',passwd='westos',db='python')
# 2.伸出手  (变量cur即为手 变量名可以随意取)
cur = conn.cursor()
# 3.拿东西  (将拿的东西赋给变量recont)
# 这个操作影响了多少行就有多少行被操作
# 返回的是被操作的行数
recont = cur.execute('select * from student')
# 4.把手伸回来
cur.close()
# 5.把门关上
conn.close()
print recont

执行结果:

 


"""输出被查询的字典"""
代码2:


# 倒导入MySQLdb
import MySQLdb
# 1.打开门
# host为本地的回环接口
conn = MySQLdb.connect(host='localhost',user='root',passwd='westos',db='python')
# 2.伸出手
cur = conn.cursor()
# 3.拿东西
# 这个操作影响了多少行就有多少行被操作
recont = cur.execute('select * from student')
# 返回的是数据
data = cur.fetchall()
# 4.把手伸回来
cur.close()
# 5.把门关上
conn.close()

print recont
print data

执行结果:

 


"""输出被查询的数据"""
代码3:


# 倒导入MySQLdb
import MySQLdb
# 1.打开门
# host为本地的回环接口
conn = MySQLdb.connect(host='localhost',user='root',passwd='westos',db='python')
# 2.伸出手
cur = conn.cursor()
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
# 3.拿东西
# 这个操作影响了多少行就有多少行被操作
recont = cur.execute('select * from student')
# 返回的是数据
data = cur.fetchall()
# 4.把手伸回来
cur.close()
# 5.把门关上
conn.close()

print recont
print data

执行结果:

 


(2)添加数据(增)
代码:


# 导入MySQLdb
import MySQLdb
# 1.打开门
conn = MySQLdb.connect(host='localhost', user='root', passwd='westos', db='python')
# 2.伸出手
cur = conn.cursor()
# 3.操作数据
sql = 'insert into student(sno,name) value(%s,%s)'
params = ('6','tom')
recount = cur.execute(sql,params)
# 4.提交请求
conn.commit()
# 5.把手伸回来
cur.close()
# 6.把门关上
conn.close()
print recount

执行结果:

(3)删除数据(删)
代码:


# 导入MySQLdb
import MySQLdb
# 1.打开门
conn = MySQLdb.connect(host='localhost', user='root', passwd='westos', db='python')
# 2.伸出手
cur = conn.cursor()
# 3.操作数据
# 删除sno为6的数据
sql = 'delete from student where sno = %s'
params = (6,)
recount = cur.execute(sql,params)
# 4.提交请求
conn.commit()
# 5.把手伸回来
cur.close()
# 6.把门关上
conn.close()
print recount

执行结果:


(4)更改数据(改)
代码:


# 导入MySQLdb
import MySQLdb
# 1.打开门
conn = MySQLdb.connect(host='localhost', user='root', passwd='westos', db='python')
# 2.伸出手
cur = conn.cursor()
# 3.操作数据
sql = 'update student set name = %s where sno = %s'
params = ('lory', 3,)
recount = cur.execute(sql,params)
# 4.提交请求
conn.commit()
# 5.把手伸回来
cur.close()
# 6.把门关上
conn.close()
print recount

执行结果:

 


(5)插入多条数据
代码


# 导入MySQLdb
import MySQLdb
# 1.打开门
conn = MySQLdb.connect(host='localhost', user='root', passwd='westos', db='python')
# 2.伸出手
cur = conn.cursor()
# 3.操作数据
li = [
    ('1', 'haha'),
    ('2', 'lala'),
]
recount = cur.executemany('insert into student(sno,name) values(%s,%s)',li)
# 4.提交请求
conn.commit()
# 5.把手伸回来
cur.close()
# 6.把门关上
conn.close()
print recount

执行结果:


(6)总结:

一般格式

# 1.导入数据库模块
import MySQLdb
# 2.打开门
变量名1 = MySQLdb.connect(host='localhost', user='用户名', passwd='密码', db='数据库名')
# 3.伸出手
变量名2 = 变量名1.cursor()
#4.操作数据(重点在于操作,其他均不变)
变量名3= '数据库操作增删改查'
变量名4 = (操作的数据)
recount = cur.execute(变量名3,变量名4)
#5.提交请求
变量名1.commit()
#6.把手伸回来
变量名2.close()
#7.把门关上
变量名1.close()

原文地址https://blog.csdn.net/love_sunshine_999/article/details/81223095

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
数据采集 关系型数据库 MySQL
如何用Python+sqlalchemy创建数据库
如何用Python+sqlalchemy创建数据库
12 2
|
18天前
|
消息中间件 关系型数据库 数据库
Python实时监测数据库表数据变化的方法
在实现时,需要考虑到应用的实时性需求、数据库性能影响以及网络延迟等因素,选择最适合的方法。每种方法都有其适用场景和限制,理解这些方法的原理和应用,将帮助开发者在实际项目中做出最合适的技术选择。
79 17
|
6天前
|
数据库 Python
python之操作数据库删除创建
python之操作数据库删除创建
|
5天前
|
关系型数据库 MySQL 数据管理
pymysql:Python操作MySQL数据库的又一利器
pymysql:Python操作MySQL数据库的又一利器
11 0
|
5天前
|
SQL 关系型数据库 MySQL
Python小技巧——将CSV文件导入到MySQL数据库
Python小技巧——将CSV文件导入到MySQL数据库
11 0
|
8天前
|
存储 数据库 Python
python的对象数据库ZODB的使用(python3经典编程案例)
该文章介绍了如何使用Python的对象数据库ZODB来进行数据存储,包括ZODB的基本操作如创建数据库、存储和检索对象等,并提供了示例代码。
13 0
|
8天前
|
JSON NoSQL 数据库
和SQLite数据库对应的NoSQL数据库:TinyDB的详细使用(python3经典编程案例)
该文章详细介绍了TinyDB这一轻量级NoSQL数据库的使用方法,包括如何在Python3环境中安装、创建数据库、插入数据、查询、更新以及删除记录等操作,并提供了多个编程案例。
18 0
|
2月前
|
存储 前端开发 关系型数据库
秀啊,用Python快速开发在线数据库更新修改工具
秀啊,用Python快速开发在线数据库更新修改工具
|
2月前
|
前端开发 数据库 虚拟化
太6了!用Python快速开发数据库入库系统
太6了!用Python快速开发数据库入库系统
|
2月前
|
前端开发 数据库 Python
用Python轻松开发数据库取数下载工具
用Python轻松开发数据库取数下载工具
下一篇
无影云桌面