删除mysql中的行

时间:2012-12-27 09:59:33

标签: mysql database jsp

我正在构建JSP应用程序,我想在特定表

上执行以下操作
  • 显示数据
  • 删除数据

我已经完成了显示数据:

如果表中没有任何主键,如何删除数据库中的行? (删除操作不依赖于该行的任何值)

假设这里可以是table - >> MYTEMP 这是数据

Name | RollNo
ABC  |  98
XYZ  |  76
ABC  |  98
XYZ  |  76

此表中没有键,我想删除第3条记录。我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

您可以选择您认为最合适的任何可用列:例如

DELETE FROM table_name WHERE column_name  = 'valuse'    

如果没有column_name,您只能删除所有行。

column_name不一定是主键,但会删除column_name = 'valuse'的所有行。


修改
     要删除:

  DELETE FROM table_name WHERE Name = 'ABC' AND  RollNo  = 98;       

NameRollNo可能不是主键。

仅删除第三行:

DELETE FROM table_name  
WHERE ('ABC',98) IN ( SELECT TOP 1 Name, Rollno 
                      FROM table_name 
                      ORDER BY Name,RollNo DES)   

第二种方式:如果TOP不起作用

DELETE FROM table_name  
WHERE ('ABC',98) IN ( SELECT  Name, Rollno 
                      FROM table_name 
                      ORDER BY Name,RollNo DES LIMT 1)   

注意:它会删除一个,我不确定。

试一试!!

答案 1 :(得分:1)

如果要删除所有可以使用的记录

delete from TABLE_NAME

如果您在DB中的行有任何不同,您也可以添加where子句 像

delete from TABLE_NAME where COL1=XXX AND/OR COL@ =YYY

等...

delete from TABLE_NAME where RollNo= RollNo_HERE AND Name = 'NAME_HERE'

希望这会对你有所帮助

答案 2 :(得分:1)

试试这个:

DELETE t
FROM YourTable t
WHERE t.Name    = 'Selected Name'
  AND t.RollNo = 'Selected RollNo';