python之数据库
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【Java入门提高篇】Day26 Java容器类详解(八)HashSet源码分析
前面花了好几篇的篇幅把HashMap里里外外说了个遍,大家可能对于源码分析篇已经讳莫如深了。别慌别慌,这一篇来说说集合框架里最偷懒的一个家伙——HashSet,为什么说它是最偷懒的呢,先留个悬念,看完本文之后,你就会知道所言不假了。 本篇将从以下几点来进行介绍: 1.HashSet的特点和使用场景 2.HashSet的示例 3.HashSet的继承结构图 4.HashSet的源码解析 HashSet的特点和使用场景 HashSet是Set家族的一员,所以也具有着Set的全部性质,比如元素无序,元素不可重复,但HashSet也有它自己的一些特性,比如它的查找效率很高,跟HashMap的查找效率一样高(滑稽,看完源码分析你就知道为什么了),它的基本操作如,add/remove/contains/size等都只需要常量时间的开销,并且允许存在null值。 所以HashSet的一个很重要的应用就是去重,把一堆存在重复的数据往HashSet里一丢,里面的元素因为是不会存在重复的,所以再取出来的时候就已经是去重过的数据了,这样HashSet就像一个筛子,把数据筛选了一次。另外HashSet由于其查...
- 下一篇
好文
个人博客:付博瀚的个人博客 用更合理的方式写 JavaScript 前端涉及的所有知识体系 H5前端页面性能测试 countUp.js 实现数字滚动 动态效果 前端居中实现方法 less学习以及使用工具考拉神器
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS8安装Docker,最新的服务器搭配容器使用