/*
SQL分类:
DDL:DROP create truncate alter
DML:INSERT UPDATE DELETE
DQL:SELECT
*/
public static void main(String args[])throws Exception{
testExecuteUpdate();
}
/*execute:
1.执行DDL,执行成功 ,返回false
2.执行DML,insert 执行成功 返回 false
3.执行DQL select 返回true
总结:1.exeucte的返回值是以是否返回结果集【ResultSet】为标准的
如果执行的是select语句【不管能不能查询出数据,都会返回ResultSet】
一定返回true
执行的如果是非select语句,返回false
2.execute方法 万能方法 任何的SQL都可执行
*/
public static void testExecute()throws Exception{
Connection con = CF.getConnection("mysql");
Statement sta = con.createStatement();
String create="create table stu(id int primary key auto_increment,name varchar(32))";
String insert="insert into stu values(null,'abc')";
String select="select * from stu where 1=2";
boolean flag = sta.execute(select);
if(flag){
System.out.println("查询成功!!");
}else{
System.out.println("查询失败!!");
}
}
/*
executeUpdate:
DDL:CREATE 成功 返回0
DML:INSERT 成功 返回对数据库影响的行数
DQL:SELECT 不能执行select语句
总结:executeUpdate:执行DDL,返回0,DML,返回数据库影响的行数,
不能执行DQL
*/
public static void testExecuteUpdate()throws Exception{
Connection con = CF.getConnection("mysql");
Statement sta = con.createStatement();
String create="create table stu1(id int primary key auto_increment,name varchar(32))";
String insert="insert into stu1 values(null,'abc')";
String select="select * from stu1 where 1=2";
int i = sta.executeUpdate(select);
System.out.println(i);
}
//select 只能执行DQL select ResultSet
public static void testExecuteQuery()throws Exception{
}