结合上文的执行结果:
如果想要显示字段名,通过元数据显示
package javastudy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.cj.jdbc.result.ResultSetMetaData;
public class Test13 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
Class.forName("com.mysql.cj.jdbc.Driver");//将存在于jar包中的驱动程序类,加载进内存
//创建一个连接
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/student?useSSL=false&serverTimezone=Hongkong&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf-8&user=jack&password=123456");
Statement st=conn.createStatement();
//增加数据
String sql="insert into studinfo values('003','王五','男',30)";
//修改数据,修改王五的名字为赵六
sql="update studinfo set name='赵六' where no=003";
//删除数据
sql="delete from studinfo where no='003'";
st.executeUpdate(sql);
//显示查询结果
ResultSet rs=st.executeQuery("select * from studinfo"); //ResultSet结果集等于一张表
java.sql.ResultSetMetaData data=rs.getMetaData(); //显示元数据
for(int i=1;i<=data.getColumnCount();i++){
System.out.print(data.getColumnName(i)+"\t"); //打印元数据字段
}
System.out.println();
while(rs.next()){
for (int i=1;i<=4;i++){ //java中调用数据库索引都是从1开始循环
System.out.print(rs.getString(i)+"\t");
}
System.out.println();
}
}
}
添加数据换一种写法:
package javastudy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.cj.jdbc.result.ResultSetMetaData;
public class Test13 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
Class.forName("com.mysql.cj.jdbc.Driver");//将存在于jar包中的驱动程序类,加载进内存
//创建一个连接
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/student?useSSL=false&serverTimezone=Hongkong&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf-8&user=jack&password=123456");
Statement st=conn.createStatement();
//增加数据
// String sql="insert into studinfo values('003','王五','男',30)";
// //修改数据,修改王五的名字为赵六
// sql="update studinfo set name='赵六' where no=003";
// //删除数据
// sql="delete from studinfo where no='003'";
// st.executeUpdate(sql);
//添加数据换一种写法
String sql="insert into studinfo values(?,?,?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, "004");
ps.setString(2, "玛丽");
ps.setString(3, "女");
ps.setInt(4,22);
ps.executeUpdate(); //没有返回值,使用executeupdate,有返回值使用executequery
//显示查询结果
ResultSet rs=st.executeQuery("select * from studinfo"); //ResultSet结果集等于一张表
java.sql.ResultSetMetaData data=rs.getMetaData(); //显示元数据
for(int i=1;i<=data.getColumnCount();i++){
System.out.print(data.getColumnName(i)+"\t"); //打印元数据字段
}
System.out.println();
while(rs.next()){
for (int i=1;i<=4;i++){ //java中调用数据库索引都是从1开始循环
System.out.print(rs.getString(i)+"\t");
}
System.out.println();
}
}
}