java—选择某一行sql

50pmv0ei  于 2021-06-15  发布在  Mysql
关注(0)|答案(5)|浏览(366)

所以我有一个数据库(userinfo),它有以下属性:username,email,password等等。但是我试图从username中选择所有的值,但是要分开,这样我就可以单独使用它们作为字符串。但是我找不到任何语法可以让你从某一行中选择。
例子:

SELECT Username FROM UserInfo WHERE**row number = 1**

例如,它选择行号为1的用户名。有什么想法吗?
下面是代码:最后一个方法允许我检查属性username下的字段数,这样我就可以用这个数字x创建数组大小。

public void declaringDataBase() throws SQLException{

    conObj = DriverManager.getConnection
    ("jdbc:derby://localhost:1527/UserInfo","UserInfo","1234");
    statObj = conObj.createStatement();

    }
public void DisplayUsers() throws SQLException{

   String query = "SELECT Username FROM WHERE rownum = 2";  

   declaringDataBase();
   rsObj = statObj.executeQuery(query);
    System.out.println(rsObj.getString(1));

}

public void returnNumberInUsernameColumn() throws SQLException{

    String queryCount = "SELECT COUNT(Username) FROM UserInfo";

   declaringDataBase();
   rsObj = statObj.executeQuery(queryCount);

 String x = null;

 while(rsObj.next()){
     x = rsObj.getString(1); 

     }

   int returnValue = Integer.parseInt(x);
    System.out.println(returnValue);

}
}

数据库如下所示:

Username(PK)     EmailAddress              Password
Joe01            joe@hotmail.co.uk         34590834ffjfdnkdfd
Frank22          Frank@gmail.com           ert543897ut034noegn
Ellie334         Ellie23@yahoo.co.uk       345903ejfbdvkdfvvdg

密码是散列的。
我想使用某种整数选择just frank22或joe01,这样我就可以增加它来获得username处的其他值

wfveoks0

wfveoks01#

如果没有,请将id属性添加到db表中。
然后你可以通过他的id选择任何用户名。
例子

SELECT Username FROM UserInfo WHERE ID = 1
wh6knrhe

wh6knrhe2#

使用关键字 rownum .

Select username from userinfo where rownum = 1
bihw5rsg

bihw5rsg3#

你必须用偏移量。
选择第一个 Username 表的 Table1 ```
SELECT Username FROM Table1 LIMIT 1 OFFSET 0;

请注意,偏移值从0开始,limit表示一次要选择多少行。
为方便起见,你应该多用一列 `ID` 为了这个 `CREATE TABLE TABLE3(ID INT PRIMARY KEY AUTO_INCREMENT,Name TEXT, Age INT);` 使用 `ALTER TABLE TABLE3 AUTO_INCREMENT=1` 然后访问每一行
hjqgdpho

hjqgdpho4#

只需将它们全部选中,然后移动光标即可。

ResultSet rs = statement.executeQuery("SELECT Username FROM UserInfo");
rs.absolute(yourIndex);
String username = rs.getString(1);

要“在username处获取其他值”,您可以遍历集合。

rs.absolute(yourIndex);
System.out.printf("username at %d: %s%n", yourIndex, rs.getString(1));
while (rs.next()) {
    yourIndex++;
    System.out.printf("username at %d: %s%n", yourIndex, rs.getString(1));
}
lmyy7pcs

lmyy7pcs5#

SELECT
    *
FROM
    mytable
ORDER BY
    somefield
LIMIT 1 OFFSET 5;

这个例子给出了第6行,offset告诉它跳过postgresql和mysql中的前5行

相关问题