Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析连接到python脚本的MySQL数据库_Python_Mysql_Mysql Python - Fatal编程技术网

解析连接到python脚本的MySQL数据库

解析连接到python脚本的MySQL数据库,python,mysql,mysql-python,Python,Mysql,Mysql Python,我使用pythonmysqldb包创建了这个python脚本,并试图从文件中打印一个请求的经文经文。(警告:链接的.sql文件很大,我对下面的sql语句进行了采样) 我并不完全熟悉查询SQL数据库,到目前为止我所能做的就是显示数据库;展示表格和从圣经中选择* mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | |

我使用pythonmysqldb包创建了这个python脚本,并试图从文件中打印一个请求的经文经文。(警告:链接的
.sql
文件很大,我对下面的sql语句进行了采样)

我并不完全熟悉查询SQL数据库,到目前为止我所能做的就是
显示数据库;展示表格
从圣经中选择*

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| openVdev           |
+--------------------+
2 rows in set (0.00 sec)

mysql> show tables;
+--------------------+
| Tables_in_openVdev |
+--------------------+
| bible              |
+--------------------+
1 row in set (0.00 sec)
从圣经中选择*为我转储所有内容,我如何解析文件中的某一段经文/圣经

下面是SQL语法的示例:

INSERT INTO `bible` VALUES (1,'Genesis',1,1,'IN THE beginning God 
INSERT INTO `bible` VALUES (531,'Genesis',21,17,'And God heard the voice
INSERT INTO `bible` VALUES (1035,'Genesis',35,23,'The sons of Leah: Reuben,
INSERT INTO `bible` VALUES (1531,'Genesis',50,24,'And Joseph said to his brethren,
INSERT INTO `bible` VALUES (1985,'Exodus',17,1,'ALL THE congregation
也有几种版本的圣经以关键值标识:

DROP TABLE IF EXISTS `bible`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `bible` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `book` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
  `chapter` int(11) NOT NULL,
  `verse` int(11) NOT NULL,
  `AMP` text COLLATE utf8_unicode_ci NOT NULL,
  `ASV` text COLLATE utf8_unicode_ci NOT NULL,
  `BENG` text COLLATE utf8_unicode_ci NOT NULL,
  `CEV` text COLLATE utf8_unicode_ci NOT NULL,
  `DARBY` text COLLATE utf8_unicode_ci NOT NULL,
  `ESV` text COLLATE utf8_unicode_ci NOT NULL,
  `KJV` text COLLATE utf8_unicode_ci NOT NULL,
  `MKJV` text COLLATE utf8_unicode_ci NOT NULL,
  `MSG` text COLLATE utf8_unicode_ci NOT NULL,
  `NASB` text COLLATE utf8_unicode_ci NOT NULL,
  `NIV` text COLLATE utf8_unicode_ci NOT NULL,
  `NKJV` text COLLATE utf8_unicode_ci NOT NULL,
  `NLT` text COLLATE utf8_unicode_ci NOT NULL,
  `NRSV` text COLLATE utf8_unicode_ci NOT NULL,
  `WEB` text COLLATE utf8_unicode_ci NOT NULL,
  `YLT` text COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`book`,`chapter`,`verse`),
  KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=31103 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
我随后创建了python MySQLdb连接

import MySQLdb

db = MySQLdb.connect(host="localhost", # your host, usually localhost
                     user="openVuser", # your username
                      passwd="openVpw", # your password
                      db="openVdev") # name of the data base

# you must create a Cursor object. It will let
#  you execute all the queries you need
cur = db.cursor() 

# Use all the SQL you like
cur.execute("SELECT * FROM bible")

Question_1 = "\n Please enter a scripture?\n"
scripture = raw_input(Question_1)

print scripture


print all the first cell of all the rows
for row in cur.fetchall() :
    print row[0]    
如果看起来我没有做出任何努力,我很抱歉,但这已经是一个月没有进展了。我很难弄清楚如何使用命令行查询MySQL db,尽管我在这方面取得了一些进展:

我对圣经表中的KJV键很感兴趣,我如何从中提取该键并转到经文,并将用户收到的输入解析为SQL查询

Pseudocode:
Print: What scripture would you like to look up?
User: Romans 12:1
cur.execute("SELECT KJV FROM bible key")
cur.execute("SELECT 'Romans 12:1' FROM table")
print cur.execute

您的问题根本不是关于Python或MySQLdb的(当然也不是关于“解析”),而是学习足够的SQL以请求所需内容的简单问题,尽管您还没有说这是什么。你应该去做一个基本的SQL教程。@DanielRoseman谢谢你,你想做一个教程吗?
Pseudocode:
Print: What scripture would you like to look up?
User: Romans 12:1
cur.execute("SELECT KJV FROM bible key")
cur.execute("SELECT 'Romans 12:1' FROM table")
print cur.execute
/* Generic query */
SELECT `key1`, `key2`, `key3` FROM `table` WHERE `another_key` LIKE 'SOME_STRING';

/* Specific query for your problem */
SELECT `KJV` FROM `bible` WHERE `chapter` LIKE 'Romans' AND `verse` = '12';