环境
Python 3.X
IDE : juyter notebook
使用Python连接数据库 import MySQLdb import pandas as pd #使用python连接数据库 conn =
MySQLdb. connect( host = '127.0.0.1', #本地地址 user = 'root', #一般默认用户名 passwd =
'********', #本地数据库登录密码(这里用你自己的密码!!!) db = 'test', #数据库名称(这里用你自己的数据库名称!!!) port
= 3306, #安装mysql默认的端口号 charset = 'utf8' #设置数据库统一编码 ) sql = ' SELECT *
FROM`tdb_goods`;' df = pd.read_sql(sql,conn) 导入表中所有数据并查看前五行 sql = ' SELECT *
FROM`tdb_goods`;' df = pd.read_sql(sql,conn) df.head()
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/ce5c7bad71d747e2872adce490a6985c.png)
选你所想
一般来说,学sql增删查改基础中,查用的比较多,接下来我们简单使用一些sql查询
查找cate_id=3的记录:
sql1 = ' SELECT * FROM`tdb_goods`WHERE`cate_id` = 3;' df1 =
pd.read_sql(sql1,conn) df1
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/90e6740aad6e4d0a829acb018b735c99.png)
查找价格大于5000的商品,注意这里默认按照goods_id排序的:
sql2 = ' SELECT * FROM`tdb_goods`WHERE`goods_price` > 5000;' df2 =
pd.read_sql(sql2,conn) df2
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/15860bae3bac4c83b4706ccca283ebae.png)
加上ORDER BY `goods_prices`之后,就是按照价格升序排列:
sql2 = ' SELECT * FROM`tdb_goods`WHERE`goods_price` >
5000ORDERBY`goods_price;'df2 = pd.read_sql(sql2,conn)df2
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/a61447bf7527429dbb19d5cf91d0d8f3.png)
sql默认的是按照升序排列,如果想按照降序排列,可以这样写:
sql2 = ' SELECT * FROM`tdb_goods`WHERE`goods_price` >
5000ORDERBY`goods_price`DESC;' df2 = pd.read_sql(sql2,conn) df2
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/863078cce6614ca3a5d281aa740fe6a7.png)
查找所有的平板电脑:
sql3 = ' SELECT * FROM`tdb_goods`WHERE`goods_name`like"%平板电脑%";' df3 =
pd.read_sql(sql3,conn) df3
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/a0e53117b14d4285a199e6b11c6b9563.png)
将数据库文件导出成csv df.to_csv('E:\goods_info.csv', encoding = 'utf-8', index = False)
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/f3f2caf53aae4758a9a617c6c7e608ad.png)
可以看到,数据成功导出成csv了~
最后养成好习惯,断开与数据库的连接:
conn. close()
我们再次查询,发现报错了,说明确实已经断开了连接:
![](http://5b0988e595225.cdn.sohucs.com/images/20170821/5cde0559fb6548bcb87182188e620af4.png)
如果运行代码报错,很可能是你的 **数据库名和数据库登录密码没有修改** ~
![在这里插入图片描述](https://www.www.zyiz.net/i/ll/?i=20210608151750993.gif)