创建一数据库,内含人员信息表(人员代码,名字,联系方式等),编写程序实现如下功能:
(1)创建人员信息表(字段属性根据需要进行定义);
(2)向表中增加记录后输出所有记录的内容:
0001 李华 13933209898
0002 王丽 13698760987
…………
(3)将第二条记录的名字改为“刘丽”,输出所有记录的内容。
(4)删除人员代码为“0001”的记录后,输入所有记录的内容。
package com.itheima.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class jdbc {
public static void main(String[] args) throws SQLException{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
PreparedStatement p = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");//加载数据库驱动
String url="jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai";//serverTimezone=Asia/Shanghai————设置时区
String username="root";//用户名
String password="123456";//密码
conn = DriverManager.getConnection(url, username, password);
//以上四行代码可以有本句代替 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai", "root", "123456");
stmt=conn.createStatement();//通过Connection对象获取Statement对象。
String sqlString="CREATE TABLE person("
+"id VARCHAR(5) PRIMARY KEY,"
+"name VARCHAR(44),"
+"phone VARCHAR(44)"
+");";//创建表
boolean rst=stmt.execute(sqlString);//使用exrcute()方法执行,返回boolean值
p=conn.prepareStatement("INSERT INTO person VALUES('0001','李华','13933209898'),('0002','王丽','13698760897')");
p.executeUpdate();
//使用prepareStatement向表中插入数据
/*String sqlc="INSERT INTO person VALUES('0001','李华','13933209898'),('0002','王丽','13698760897')";
stmt=conn.createStatement();
int rsk=stmt.executeUpdate(sqlc);*/
//使用createStatement向表中插入数据
p=conn.prepareStatement("UPDATE person SET name='刘丽' where id=0002");
p.executeUpdate();
//修改表中数据
p=conn.prepareStatement("DELETE FROM person WHERE id=0001;");
p.executeUpdate();
//删除表中数据
//方法executeUpdate用于执行INSERT、UPDATE或DELETE语句,返回值是整型
String sql="select * from person";
rs=stmt.executeQuery(sql);
//方法executeQuery用于执行查询语句
System.out.println("id | name | phone");
while (rs.next()) {
String id =rs.getString("id");
String name=rs.getString("name");
String phone=rs.getString("phone");
System.out.println(id+" | "+name+" | "+phone);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if (rs!=null) {
rs.close();
}
if (stmt!=null) {
stmt.close();
}
if (conn!=null) {
conn.close();
}
}//关闭数据库连接,通常关闭的顺序与打开的顺序相反。
}
}