要查询的SQL查询

时间:2013-01-16 21:39:13

标签: php mysql sql

我目前正在练习PHP和MySQL只是为了增强我的技能,因为我是编程的新手,我正在尝试不同的东西:)

我已经创建了一个基本网站,用户可以在其中输入单词,数据库将保存它,只是为了好玩。但是我不想重复存储相同的单词,而是希望SQL能够让我看到苹果已经存储了3次,而不是我的专栏中的[apple,apple,apple]。

我怎样才能让SQL执行此操作?我只在网上看过count()函数,所以我有点困惑。

1 个答案:

答案 0 :(得分:8)

你可以:

  • 只需在插入后选择每个单词的计数:

    SELECT COUNT(*) FROM my_table WHERE word = 'apple'
    
  • 维持表中的计数:

    1. 在您的字词列中添加count列以及UNIQUE索引:

      ALTER TABLE my_table
        ADD count INT UNSIGNED DEFAULT 1,
        ADD UNIQUE INDEX (word)
      
    2. 不使用INSERT,而是使用INSERT ... ON DUPLICATE KEY UPDATE

      INSERT INTO my_table
        (word)
      VALUES
        ('apple')
      ON DUPLICATE KEY UPDATE
        count = count + 1
      
    3. 从表中获取计数:

      SELECT count FROM my_table WHERE word = 'apple'