数据库 mysql ,使用 navicat 建立了 数据库
数据库 表 mysqlweb
数据库的基本信息
static final String JDBC="com.mysql.jdbc.Driver";
static final String url="jdbc:mysql://localhost:3306/mysqlweb";//mysqlweb是我接下来要操作的表名称
static final String user="root";
static final String pass="19971020jxh";
新建对象 : Connection conn=null;
Statement stmt=null;
首先是链接数据库
Class.forName("com.mysql.jdbc.Driver");//加载驱动器
conn=DriverManager.getConnection(url, user, pass);//得到链接
数据库查询
1.数据库语句 String sql= "SELECT id,name,sex,pass FROM people";
2.建立链接 stmt=conn.createStatement();//创建并返回Statement对象,Statement对象中有执行语句方法
三种执行方法 /* 1.execute(String sql) 返回boolean类型的值,可通过getResultSet()获得查询结果
*
* 2.executeUpate(String sql)返回int值,表示受影响的语句
*
* 3.executeQuery(String sql)返回结果对象
*/
3.得到查询结果 ResultSet rs=stmt.executeQuery(sql);//得到查询结果
//输出结果
4.输出结果 while(rs.next()) {
System.out.println(rs.getInt("id")+" "+
rs.getString("name")+" "+
rs.getString("sex")+" "+
rs.getString("pass"));
}
增添
得到能执行数据库语句的对象 stmt=conn.createStatement();//得到能执行sql语句的对象
//方法一
要执行的数据库语句 String sql="insert into people(name,sex,pass) values('刘德华方法一','男','123')";
执行 stmt.execute(sql);
//方法二
String sql2="insert into people(name,sex,pass) values(?,?,?)";
PreparedStatement psql;
psql=conn.prepareStatement(sql2);
psql.setString(1, "刘德华方法二");//第一个问号的值
psql.setString(2, "男");
psql.setString(3, "123");
psql.execute();
删除
stmt=conn.createStatement();//得到能操作sql语句的对象
String sql="delete from people where id=4";//删除id为4的人
stmt.execute(sql);//使用 executeQuery会报错
修改
stmt=conn.createStatement();//得到能操作sql语句的对象
String sql="Update people set sex='女' where id=1";//id位一的人性别修改
stmt.execute(sql);//用excuteQuery报错
本次代码:
public class sql {
static final String JDBC="com.mysql.jdbc.Driver";
static final String url="jdbc:mysql://localhost:3306/mysqlweb";
static final String user="root";
static final String pass="19971020jxh";
static Connection conn=null;//链接
static Statement stmt=null;
static void connection(){//链接数据库
try {
Class.forName("com.mysql.jdbc.Driver");//加载驱动器
conn=DriverManager.getConnection(url, user, pass);
}catch(Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
void select() {// 查
try {
String sql= "SELECT id,name,sex,pass FROM people";
stmt=conn.createStatement();//创建并返回Statement对象,Statement对象中有执行语句方法
/* 1.execute(String sql) 返回boolean类型的值,可通过getResultSet()获得查询结果
*
* 2.executeUpate(String sql)返回int值,表示受影响的语句
*
* 3.executeQuery(String sql)返回结果对象
*/
ResultSet rs=stmt.executeQuery(sql);//得到查询结果
//输出结果
while(rs.next()) {
System.out.println(rs.getInt("id")+" "+
rs.getString("name")+" "+
rs.getString("sex")+" "+
rs.getString("pass"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
void add() {//增
try {
stmt=conn.createStatement();//得到能执行sql语句的对象
//方法一
String sql="insert into people(name,sex,pass) values('刘德华方法一','男','123')";
stmt.execute(sql);
//方法二
String sql2="insert into people(name,sex,pass) values(?,?,?)";
PreparedStatement psql;
psql=conn.prepareStatement(sql2);
psql.setString(1, "刘德华方法二");
psql.setString(2, "男");
psql.setString(3, "123");
psql.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
void delet() {
try {
stmt=conn.createStatement();//得到能操作sql语句的对象
String sql="delete from people where id=4";
stmt.execute(sql);//使用 executeQuery会报错
} catch (SQLException e) {
e.printStackTrace();
}
}
void revise() {
try {
stmt=conn.createStatement();//得到能操作sql语句的对象
String sql="Update people set sex='女' where id=1";
stmt.execute(sql);//用excuteQuery报错
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
sql sql=new sql();
connection();
// sql.select();
// sql.add();
// sql.delet();
sql.revise();
}
}