package my.test.index; import my.test.TestBase; public class BaseIndexTest extends TestBase { public static void main(String[] args) throws Exception { new BaseIndexTest().start(); } @Override public void init() throws Exception { //见org.h2.message.TraceSystem //0: OFF, 1: ERROR,2: INFO,3: DEBUG,4: ADAPTER //值越大,那么能跟踪的信息就越详细 //prop.setProperty("TRACE_LEVEL_SYSTEM_OUT", "2"); } //测试org.h2.command.Parser.parseDelete() //org.h2.command.dml.Delete @Override public void startInternal() throws Exception { stmt.executeUpdate("drop table IF EXISTS BaseIndexTest"); //stmt.executeUpdate("create table IF NOT EXISTS BaseIndexTest(id int, name varchar(500), b boolean)"); stmt.executeUpdate("create table IF NOT EXISTS BaseIndexTest(id int not null, name varchar(500) not null, b boolean)"); //stmt.executeUpdate("CREATE INDEX IF NOT EXISTS BaseIndexTestIndexId ON BaseIndexTest(id, name)"); //stmt.executeUpdate("CREATE Unique INDEX IF NOT EXISTS BaseIndexTestIndexId ON BaseIndexTest(id, name)"); stmt.executeUpdate("CREATE INDEX IF NOT EXISTS BaseIndexTestIndexId ON BaseIndexTest(id, name, b)"); //stmt.executeUpdate("CREATE INDEX IF NOT EXISTS BaseIndexTestIndexName ON BaseIndexTest(name)"); stmt.executeUpdate("CREATE PRIMARY KEY IF NOT EXISTS PK_ID ON BaseIndexTest(id)"); stmt.executeUpdate("CREATE PRIMARY KEY IF NOT EXISTS PK_NAME ON BaseIndexTest(name)"); stmt.executeUpdate("insert into BaseIndexTest(id, name, b) values(1, 'a1', true)"); stmt.executeUpdate("insert into BaseIndexTest(id, name, b) values(1, 'b1', true)"); stmt.executeUpdate("insert into BaseIndexTest(id, name, b) values(2, 'a2', false)"); stmt.executeUpdate("insert into BaseIndexTest(id, name, b) values(2, 'b2', true)"); stmt.executeUpdate("insert into BaseIndexTest(id, name, b) values(3, 'a3', false)"); stmt.executeUpdate("insert into BaseIndexTest(id, name, b) values(3, 'b3', true)"); //stmt.executeUpdate("SET OPTIMIZE_REUSE_RESULTS 0"); sql = "delete top 3 from BaseIndexTest"; sql = "delete top 3 from BaseIndexTest where name='a1'"; sql = "delete top 3 from BaseIndexTest where 'a1'>name"; sql = "delete top 3 from BaseIndexTest where name = null"; sql = "delete top 3 from BaseIndexTest where name != null"; sql = "delete top 3 from BaseIndexTest where name > null"; sql = "delete from BaseIndexTest where name > 'b1'"; sql = "delete from BaseIndexTest where id>2"; sql = "delete from BaseIndexTest where 3<2"; sql = "delete from BaseIndexTest where b"; sql = "delete from BaseIndexTest where 3>2"; sql = "delete from BaseIndexTest limit 0"; //limit 0不删除任何行 sql = "delete from BaseIndexTest where id=2 and name>'a1'"; sql = "delete from BaseIndexTest where name>'a1' and id=2 "; sql = "delete from BaseIndexTest where name='a1' and id=2 "; sql = "delete from BaseIndexTest where name='a1' and id=2 and b=true"; sql = "delete from BaseIndexTest where 3<2 and id=1"; sql = "delete from BaseIndexTest where id<1 and name<='a1'"; sql = "delete from BaseIndexTest where id<1 and id<2"; stmt.executeUpdate(sql); } }