代码之家  ›  专栏  ›  技术社区  ›  BЈовић

如何获取特定的行,知道主键值?

sql
  •  4
  • BЈовић  · 技术社区  · 15 年前

    对于您的SQL专家来说,这可能是一个非常简单的问题,但我以前从未使用过SQL。

    如果表“person”有3行:name(主键)、age和city,我知道我可以得到如下所有行:

    SELECT * FROM Person;
    

    但是如果桌子看起来像这样:

    Name   Age   City
    -------------------
    A       2     NY
    B       4     BE
    C       6     PA
    

    我必须使用什么SQL命令来获取(例如)第二行?我知道名字是B。

    5 回复  |  直到 15 年前
        1
  •  4
  •   taskinoor    15 年前
    SELECT * FROM Person WHERE Name = 'B';

    这解决了这个特殊的问题,但是您可以访问 w3schools sql tutorial 开始的时候。

        2
  •  1
  •   Michael Pakhantsov    15 年前
     SELECT * FROM Person
     WHERE Name = 'B';
    
        3
  •  1
  •   beny    15 年前

    尝试 SELECT * FROM Person WHERE Name='B' 有关选择语法的详细信息,请参见此处 http://dev.mysql.com/doc/refman/5.0/en/select.html

        4
  •  1
  •   Heiko Hatzfeld    15 年前

    应避免使用与实体中的任何数据相关的主键。几乎没有一个好的选择。主键不应更改…名字可以改变(包括城市和个人),而且SSN可能“看起来”像一个好的候选人,但即使他们随着时间的推移而轮换,而且你可能碰巧雇佣了一个带有伪造SSN号码的非法外国人;)

    所以请所有的方法都使用一个整数或者一个guid。

    除此之外,答案已经贴了好几次了…

        5
  •  0
  •   cjk    15 年前

    不要在这里询问有关SQL的各个方面的问题(您可能会有很多问题),请先阅读:

    http://w3schools.com/sql