如何将PHP数组保存到MySQL数据库,以便可以搜索数据库中的数组?

尼克·查普曼

我正在尝试建立用户所用语言的可搜索数据库。

例如我可能有

$john = array("english", "french", "spanish");
$jack = array("french", "spanish");
$jill = array("english", "spanish");

而且我想将它们保存到MySQL数据库,以便以后可以按照(伪代码)的方式运行某些内容

SELECT * FROM users WHERE spoken_languages = "french" and "spanish"

我知道如果我有speaks_englishspeaks_frenchspeaks_spanish列,那么我可以搜索

SELECT * FROM users WHERE speaks_french = "true" and speaks_spanish = "true"

但是,每次遇到新语言时添加新列的可伸缩性不是很好。我考虑过一张桌子,例如

john | english
john | french
john | spanish
jack | french
jack | spanish
jill | english
jill | spanish

因为至少这样可以找回用户说的语言,所以我可以运行

SELECT * FROM spoken_languages WHERE user = "jack"

但是,为了搜索同时说法语和西班牙语的人,我需要查询所有说法语的用户,所有说西班牙语的用户,然后计算交集。这似乎效率极低。

所以我问你,如何保存这一系列口头语言,以便以后可以在不破坏服务器的情况下搜索数据库?

琼斯

您的问题中有正确的解决方案,其person_language表格如下所示

john | english
john | french
jack | spanish

您可以像这样查询它。

SELECT person
  FROM person_language
 WHERE language IN ( 'english', 'spanish')
 GROUP BY person
HAVING COUNT(*) = 2

放置一个索引(language, person),这样可以很好地进行扩展。

如果您希望每个会说西班牙语和至少一种其他语言的人都可以这样做。

 SELECT a.person
   FROM person_language AS a
   JOIN ( SELECT person
            FROM person_language
           GROUP BY person
          HAVING COUNT(*) >= 2
        ) AS b ON a.person = b.person
  WHERE a.language = 'spanish'

这使用JOIN指令来使讲西班牙语的人与说两种或更多种语言的人相交。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据数组保存到数据库

来自分类Dev

将动态数组保存到MySQL数据库

来自分类Dev

如何将此json数组保存到MYSQL数据库

来自分类Dev

如何将JSON数组插入MySQL数据库

来自分类Dev

规范:如何将HTML表单数据保存到MySQL数据库中

来自分类Dev

如何将数组输入存储到数据库中?MYSQL PHP表单输入foreach

来自分类Dev

如何将json模型对象保存到php mysql数据库

来自分类Dev

保存mysql,同时将数据循环到数组中,然后保存到数据库中

来自分类Dev

如何将复选框数组中的数据保存到数据库中

来自分类Dev

如何将PHP会话数据保存到数据库而不是文件系统中?

来自分类Dev

PHP如何将HTML字符串保存到数据库中

来自分类Dev

如何将数组索引数据保存到单独行中的数据库?

来自分类Dev

如何将PhoneNumberField数据保存到数据库?

来自分类Dev

将数组保存到MongoDB数据库

来自分类Dev

我正在寻找一种将数据保存到wordpress数据库以便可以显示它们的方法

来自分类Dev

如何将此json数组保存到MYSQL数据库

来自分类Dev

如何将JSON数组插入MySQL数据库

来自分类Dev

如何在Rails中将数组保存到数据库

来自分类Dev

Portia,如何将数据保存到数据库?

来自分类Dev

PHP / Laravel:如何将多维数组保存到数据库中

来自分类Dev

如何将togglebutton状态的android eclipse保存到mysql数据库中

来自分类Dev

将Div的数组内容保存到MySQL数据库

来自分类Dev

如何将数组放入数据库(php,pdo)?

来自分类Dev

Laravel,将数据从数组保存到数据库

来自分类Dev

如何将数组从 MATLAB 保存到数据库?

来自分类Dev

如何将字典值保存到 MySQL 数据库 tkinter python 中?

来自分类Dev

将数组快速保存到领域数据库中

来自分类Dev

将 Api 响应保存到数据库。(JSON 数组)

来自分类Dev

将 XML 作为序列化的 PHP 数组保存到数据库中

Related 相关文章

  1. 1

    将数据数组保存到数据库

  2. 2

    将动态数组保存到MySQL数据库

  3. 3

    如何将此json数组保存到MYSQL数据库

  4. 4

    如何将JSON数组插入MySQL数据库

  5. 5

    规范:如何将HTML表单数据保存到MySQL数据库中

  6. 6

    如何将数组输入存储到数据库中?MYSQL PHP表单输入foreach

  7. 7

    如何将json模型对象保存到php mysql数据库

  8. 8

    保存mysql,同时将数据循环到数组中,然后保存到数据库中

  9. 9

    如何将复选框数组中的数据保存到数据库中

  10. 10

    如何将PHP会话数据保存到数据库而不是文件系统中?

  11. 11

    PHP如何将HTML字符串保存到数据库中

  12. 12

    如何将数组索引数据保存到单独行中的数据库?

  13. 13

    如何将PhoneNumberField数据保存到数据库?

  14. 14

    将数组保存到MongoDB数据库

  15. 15

    我正在寻找一种将数据保存到wordpress数据库以便可以显示它们的方法

  16. 16

    如何将此json数组保存到MYSQL数据库

  17. 17

    如何将JSON数组插入MySQL数据库

  18. 18

    如何在Rails中将数组保存到数据库

  19. 19

    Portia,如何将数据保存到数据库?

  20. 20

    PHP / Laravel:如何将多维数组保存到数据库中

  21. 21

    如何将togglebutton状态的android eclipse保存到mysql数据库中

  22. 22

    将Div的数组内容保存到MySQL数据库

  23. 23

    如何将数组放入数据库(php,pdo)?

  24. 24

    Laravel,将数据从数组保存到数据库

  25. 25

    如何将数组从 MATLAB 保存到数据库?

  26. 26

    如何将字典值保存到 MySQL 数据库 tkinter python 中?

  27. 27

    将数组快速保存到领域数据库中

  28. 28

    将 Api 响应保存到数据库。(JSON 数组)

  29. 29

    将 XML 作为序列化的 PHP 数组保存到数据库中

热门标签

归档