MySQL 文件路径的搜索字段
MySQL Search Field of File Paths
我在 mysql table 中有一个名为 "path" 的字段,它存储这样的文件目录树:
home/
home/myfile.txt
home/folder1/
home/folder1/myotherfile.txt
home/folder2/
home/folder2/evenmorefiles.txt
假设我想获取特定路径的路径列表(很像您将 cd 进入目录并在 linux 中执行 ls)。
例如,显示 "home/" 目录中的所有行,但不显示子目录
中的所有行
home/myfile.txt
home/folder1/
home/folder2/
我的查询有效,但非常难看。有没有更有效的方法来实现这个?
SELECT path FROM myTable WHERE (path LIKE "home/%") AND (path NOT LIKE "home/%/%");
使用REGEXP
:
SELECT *
FROM myTable
WHERE path REGEXP 'home/[^/]+/?$';
path
1 home/myfile.txt
2 home/folder1/
3 home/folder2/
我在 mysql table 中有一个名为 "path" 的字段,它存储这样的文件目录树:
home/
home/myfile.txt
home/folder1/
home/folder1/myotherfile.txt
home/folder2/
home/folder2/evenmorefiles.txt
假设我想获取特定路径的路径列表(很像您将 cd 进入目录并在 linux 中执行 ls)。 例如,显示 "home/" 目录中的所有行,但不显示子目录
中的所有行home/myfile.txt
home/folder1/
home/folder2/
我的查询有效,但非常难看。有没有更有效的方法来实现这个?
SELECT path FROM myTable WHERE (path LIKE "home/%") AND (path NOT LIKE "home/%/%");
使用REGEXP
:
SELECT *
FROM myTable
WHERE path REGEXP 'home/[^/]+/?$';
path
1 home/myfile.txt
2 home/folder1/
3 home/folder2/