开发者社区> 幸运券发放> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

python之数据库

简介: 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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
+关注
幸运券发放
阿里云代金码bieryun.com
369
文章
3
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载