在MySQL数据库中加载数据本地INFILE和搜索值

时间:2013-06-05 14:24:38

标签: mysql

我使用txt文件将数据上传到mysql数据库。 我使用的txt文件如下:

http://www.repubblica.it/
http://www.repubblica.it/minify/sites/repubblica/nazionale/config_01.cache.php?name=site_home_css
http://www.repubblica.it/minify/sites/repubblica/nazionale/config_01.cache.php?name=social_home_css
http://quotidiano.repubblica.it/home?adv=t&source=homerepit
http://www.repubblica.it/servizi/mobile/index.html
http://inchieste.repubblica.it/
http://espresso.repubblica.it/
http://altoadige.gelocal.it/
http://corrierealpi.gelocal.it/
http://gazzettadimantova.gelocal.it/
http://gazzettadimodena.gelocal.it/
http://gazzettadireggio.gelocal.it/
http://mattinopadova.gelocal.it/
http://ilpiccolo.gelocal.it/
http://trentinocorrierealpi.gelocal.it/
http://lacittadisalerno.gelocal.it/

在我的java程序中,我使用以下mysql代码上传txt文件:

//here I create the table
CREATE TABLE table(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,url VARCHAR(1000) NOT NULL);"

//here the txt is loaded
LOAD DATA LOCAL INFILE \'/tmp/test/url.txt\' INTO TABLE table LINES (url)

一切正常。我的表有两列:id和url。 enter image description here

当我尝试使用简单的方法搜索该表中的值时:

SELECT url FROM table WHERE url LIKE 'http://www.repubblica.it/'

SELECT url FROM table WHERE url ='http://www.repubblica.it/'

MySQL返回一个空结果集(即零行)。 (查询耗时0.0004秒) 这是phpmyadmin的截图: LIKE

equal 为什么我无法找到我的价值观? 我做错了什么? 提前致谢

2 个答案:

答案 0 :(得分:0)

您需要在类似语句LIKE '%..%'中使用通配符来匹配字符串的一部分

SELECT url FROM table WHERE url LIKE '%http://www.repubblica.it/%'

如果您尝试直接在phpmysqmin上搜索,则可以选择'LIKE%..%'进行搜索

答案 1 :(得分:0)

也许你在字符串之前和之后都有空格,试试这个:

UPDATE `table`
SET `url`=TRIM(`url`)

然后:

SELECT 
  `url` 
FROM 
  `table` 
WHERE 
  `url`='http://www.repubblica.it/'