Python 从数据库中提取

Python 从数据库中提取,python,sql,Python,Sql,我有一个数据库,我需要从中提取。该数据库具有以下表: 商店 YELP业务列表,包括姓名、电话号码等。 也有locationid 位置 包含名称(伦敦、纽约)、位置ID、父ID ParentID允许表处于层次结构中 在纽约州和纽约市可能有一个地点 在本例中,纽约市的parentid将是纽约州对象 类别 类别具有id和名称 例如汽车经销商、船只经销商) 商店类别 每个业务都有多个业务类别 包含businessid和categoriesid 然后,我们根据位置和业务类别提供大量搜索结果页面 例如 纽约

我有一个数据库,我需要从中提取。该数据库具有以下表:

商店
YELP业务列表,包括姓名、电话号码等。
也有locationid

位置
包含名称(伦敦、纽约)、位置ID、父ID
ParentID允许表处于层次结构中

在纽约州和纽约市可能有一个地点
在本例中,纽约市的parentid将是纽约州对象

类别
类别具有id和名称
例如汽车经销商、船只经销商)

商店类别
每个业务都有多个业务类别
包含businessid和categoriesid

然后,我们根据位置和业务类别提供大量搜索结果页面

例如

纽约市所有业务类别
纽约市船只经销商
纽约市汽车经销商
纽约州所有业务类别
纽约州船只经销商
纽约州汽车经销商

注意:搜索结果将显示该位置和任何子位置的企业。
示例:纽约州将展示在纽约上市的企业

我需要编写一个python脚本,让我知道2个搜索结果页面是否列出了相同的业务

示例:如果纽约州的所有船只经销商都存在于纽约市,则两页:

纽约州船只经销商
纽约市船只经销商

将列出相同的业务

我需要一些关于如何有效解决问题的一般性建议

mysql> DESC categories;
+--------------+------------------+------+-----+-------------------+-----------------------------+
| Field        | Type             | Null | Key | Default           | Extra                       |   
+--------------+------------------+------+-----+-------------------+-----------------------------+
| CategoryID   | int(10) unsigned | NO   | PRI | NULL              | auto_increment              |   
| CategoryName | char(50)         | NO   |     |                   |                             |   
| timestamp    | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+--------------+------------------+------+-----+-------------------+-----------------------------+
3 rows in set (0.07 sec)

mysql> DESC shopcategories;
+----------------+------------------+------+-----+-------------------+-----------------------------+
| Field          | Type             | Null | Key | Default           | Extra                       |   
+----------------+------------------+------+-----+-------------------+-----------------------------+
| ShopCategoryID | int(10) unsigned | NO   | PRI | NULL              | auto_increment              |   
| ShopID         | int(10) unsigned | YES  | MUL | NULL              |                             |   
| CategoryID     | int(10) unsigned | YES  | MUL | NULL              |                             |   
| timestamp      | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+----------------+------------------+------+-----+-------------------+-----------------------------+
4 rows in set (0.00 sec)

mysql> DESC locations;
+-----------------+------------------+------+-----+-------------------+-----------------------------+
| Field           | Type             | Null | Key | Default           | Extra                       |   
+-----------------+------------------+------+-----+-------------------+-----------------------------+
| LocationID      | int(10) unsigned | NO   | PRI | NULL              | auto_increment              |   
| LocationName    | char(50)         | YES  |     | NULL              |                             |   
| LocationUrlName | varchar(100)     | YES  |     | NULL              |                             |   
| ParentID        | int(10) unsigned | YES  |     | NULL              |                             |   
| timestamp       | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| postcode        | char(5)          | YES  |     | NULL              |                             |   
+-----------------+------------------+------+-----+-------------------+-----------------------------+
6 rows in set (0.00 sec)
mysql> 
mysql> desc shops;
+---------------------+------------------+------+-----+-------------------+-----------------------------+
| Field               | Type             | Null | Key | Default           | Extra                       |   
+---------------------+------------------+------+-----+-------------------+-----------------------------+
| ShopID              | int(10) unsigned | NO   | PRI | NULL              | auto_increment              |   
| ContactAddressID    | int(10) unsigned | NO   | MUL | 0                 |                             |   
| OwnerID             | int(10) unsigned | NO   | MUL | 0                 |                             |   
| ShopName            | int(10) unsigned    | Null  | MUL | 109              |                             |   
| LocationID           | varchar(50)      | NO   |     |                   |                             |   
| ShopUrlName         | varchar(300)     | YES  |     | NULL              |                             |                |                             |

我建议使用
oursql
模块。它非常简单而且非常强大

以下是教程:


基本步骤 连接到数据库 创建游标并执行查询 取得成果 所有这些示例都取自教程。如果您想了解更多关于这些类及其方法的信息,请参阅以下API参考:



作为你的比较。。。我只需比较结果ID。

您最终解决了问题吗?
conn = oursql.connect(host='127.0.0.1', user='habnabit', passwd='foobar',
    db='example', port=3307)
curs = conn.cursor(oursql.DictCursor)
curs.execute(
    'SELECT * FROM `some_table` WHERE `col1` = ? AND `col2` = ?',
    (42, -3))
curs.fetchall()