Python基础之操作数据库
1 #_author: liu.cao 2 #date: 2018/7/14 3 import pymysql 4 5 #连接数据库 6 db_ip='192.168.6.129' 7 db_port=3306 8 db_name='future' 9 user='root' 10 password='123456' 11 12 #开始连接数据库 13 conn=pymysql.Connect(db_ip,user,password,db_name,db_port,charset='utf8',cursorclass=pymysql.cursors.DictCursor) 14 #创建游标 15 cursor=conn.cursor() 16 17 #查询sql语句 18 select_sql='select*from test' 19 rows=cursor.execute(select_sql)#影响的行 20 print(rows) 21 #result=cursor.fetchall()#查询结果接收,返回所有的行 22 result=cursor.fetchone() 23 print(result)#打印输出结果 24 25 #添加数据 26 add_sql2={"name":"小明","sex":"男"}#用字典参数化 27 list_sql=["丢丢","女"]#用列表参数化 28 add_list='insert into test(name,sex) values(%s,%s)' 29 #add_sql='insert into test(name,sex) values(%(name)s,%(sex)s)' 30 #add_sql='insert into test(name,sex) values("小简","女")' 31 try: 32 rows = cursor.execute(add_list, list_sql) 33 #rows = cursor.execute(add_sql,add_sql2) 34 #rows=cursor.execute(add_sql) 35 conn.commit()#提交数据 36 except: 37 conn.rollback()#提交失败,数据回滚 38 39 40 cursor.close()#游标也要关闭 41 conn.close()
1.安装 PyMysql
--Python2中使用mysqldb,Python3中不再支持,换成PyMysql
--安装pymysql模块:pip install PyMysql
2,Python连接mysql数据库需要下载驱动,在mysql官网下载mysql驱动,注意Python版本要与驱动版本支持的版本一致
3,安装mysql图形界面连接工具navicat
-----------------------
Python-mysql操作
对数据库进行操作步骤:
1,连接数据库,创建游标
2,准备好增,删,改,查sql语句
3,执行sql语句
4,读取执行结果-执行影响的行
5,关闭游标,关闭连接
数据库连接信息如下:
IP地址,端口号,数据库名字,登陆用户名,密码
pymysql中连接数据库方法:
conn=pymysql.Connect(host,db,user,passwd)
cursorclass=pymysql.cursors.DictCursor 指定返回数据为字典格式
创建游标
cursor=conn.cursor()--->每次操作都需要获取游标才能进行。
-------------------------
Python之execute
execut中sql语句的多种方式:
execute(sql语句,参数[可选]):
1,数据直接写在sql语句中
2,用格式化的方式:
sql语句中:列表和元祖:%s代替
字典:%(name)s代替
参数:为真正的数值
例如:
insert_sql='insert into test1(id,name) values(%s,%s)'
data=[14,'小孩']
#字典
data1={'id':14,'name':'xiaohai'}
insert_sql='insert into test1(id,name)values(%(id)s,%(name)s)'
cursor.execute(insert_sql,data)
----------------------------------
python之查询数据
1,查询数据语法:
sql语句:select 字段 form 表名 where 条件语句
2,展示数据,需要调用如下函数
fetchall():返回的数据格式是列表格式
fetchone():返回的数据格式是元祖格式
3,条件语句的用法:重点看代码,掌握用法
---------------------------------
优化:
加入异常判断:
try_except_finally