python基础课程3(看代码看注释)--数据库基本操作(mysql)
#人生苦短,我用python#推荐一个python数据结构可视化工具,网址:http://www.pythontutor.com##课表:1.mysql数据库的基本操作;2.用python操作基本数据库;3.编写python爬虫并保存到数据库###数据库:存储数据的地方,平时指的数据库指的是数据管理系统,大型的数据管理软件,用来管理操作数据,excel叫表格数据操作软件#安装mysql...
·
#人生苦短,我用python
#推荐一个python数据结构可视化工具,网址:http://www.pythontutor.com
##课表:1.mysql数据库的基本操作;2.用python操作基本数据库;3.编写python爬虫并保存到数据库
###数据库:存储数据的地方,平时指的数据库指的是数据管理系统,大型的数据管理软件,用来管理操作数据,excel叫表格数据操作软件
#安装mysql数据库,移步百度
###mysql数据库基本操作
#连接数据库
mysql -u root -p #u 是用户名,p:需要密码登录数据库
#查看数据库
show database;
#选择数据库
use database_name;#如use Examination(表示查看Examination数据库)
#查看数据库中table表
show table;
#查看表格的结构
desc table;#(如 desc score:查看score数据表结构)
#查看表中的数据
select * fromtable_name#select * from score ;
#查看表中的数据并限制数量
select * from table_name#select * from score limit 10;
##推荐一款软件,数据库管理工具,只在mac上有,叫做sequelpro,网址http://www.sequelpro.com,windows使用heidisql
##关系型数据库
dict = {
'a':100,
'b':200
}
##关系型数据库,另一种数据库是非关系型数据库,比较流行的是mongodb,redis
###mysql excel的不同:mysql是一种关系型数据库
import json
data_1 = "{'a':1,'b':2,'c':3}"
data_2 = '{"a":1,"b":2,"c":3}'
j_data = json.loads(data_2)
type(j_data)
with open('path','r') as f
j_data = json.loads(f)
###用命令行操作数据库
##创建数据库
create database Examination_copy default charset utf8mb4;
##删除数据库
drop database Examination_copy;
##指定字符集和校对集,创建数据库
create database Examination_copy default charset utf8mb4 collate utf8MB4_general_ci;
##创建表格
create table class{
'id' int(11)unsigned not null default#id字段整型11位无符号非空
PRIMARY KEY('id')
}
#插入操作
insert into 'table_name'('id','name')
value(3,'高一3班')
#修改数据
update 'class' set 'name' = '高一五班'
where 'id' ='6'
###上述命令行操作数据库着实麻烦,我们接下来要学会使用python操作数据库
## Nevicat 强大的mysql数据管理软件
##python安装第三方库(windows环境):方法1.pip install 模块名称;方法2.conda install模块名称
import MySQLdb #没有安装的话需要安装###记住本机木有安装成功,记得有时间返回来安装呀>。<
#连接数据库
DATABASE = {
'host':'localhost', #如果是远程数据库则为远程服务器的ip地址
'database':'Ex',
'user':'root',
'password':'yuping',
'charset':utf8
}
db = MySQLdb.comnect(host='localhost',database='Ex',user='root',password='yuping')
#等价于
db = MySQLdb.comnect('localhost','Ex','root','yuping')
#等价于
db = MySQLdb.comnect(**DATABASE)
##数据库中的游标概念
##查询语句
cursor = db.cursor()
sql = "select * from student where id<20"
cursor.excute(sql)#使用游标执行sql语句,执行结束后就可以用游标获取所有的结果
result = cursor.fetchall()
for row in result:
print(row)
##连接数据库没有按照字符集指定我们数据库的编码格式时会打印出??号,在数据库中设置'charset':'utf8
#插入操作
sql = "insert into 'class'('name') values('高一四班');"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
#删除操作
sql = "delete from 'class'('name') values('高一四班');"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
#省略
#更新操作
sql = "update 'class' set 'name'= '高一四班';"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
##捕捉异常
try:
a = 10
b = a+'hello'##捕捉了之后即使数据类型不一致不能相加也不会报错因为已经用except捕捉异常了最后打出了e
except Exception as e:##回本操作
print(e)
try:
sql = "insert into 'class'('name') values('高一四班');"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
except Exception as e1:
pass
##回滚操作db.rockback()
更多推荐
所有评论(0)