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()