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