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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值