如何使用控制台操作数据库

这篇博客详细介绍了如何通过控制台与MySQL数据库进行交互,包括加载驱动、建立连接、执行增删改查操作。提供了具体的Java代码示例,如添加、删除、更新和查询课程记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用控制台对数据库进行操作,首先,加载MySQL的数据库连接驱动
Class.forName("com.mysql.jdbc.Driver");Driver大写
然后连接数据库
Connection connect = DriverManager.getConnection(str,user,password);
String str = "jdbc:mysql://localhost:3306/myjava";//localhost可以是IP地址,3306是端口号,myjava是数据库的一个具体数据库可以包含多个表
String user = "root";//root是根目录
String password = "a123";//a123是MySQL数据库的密码
如果对数据库进行操作那么需要
Statement statement = connect.createStatement;
statement.excute("insert into course(name,id)values("java",12)");//按sql的基础语句写入你想办的是
如果想对数据库的内容进行显示,需要ResultSet集合
ResultSet resultSet = statement.excuteQuery(str);//str 为你进行的操作,比如String str = select*from course;
public class DbConnection {
String url = "jdbc:mysql://localhost:3306/myjava";
String uer = "root";
String password = "a123";
// 加载mysql数据库连接驱动
public void loadDBConnect(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//添加课程
public void addCourse(){
Connection connect = openConnect();//启用方法带入参数
System.out.println("请输入添加课程的称号");
String str = writeIn();
System.out.println("请输入编号");
String ID = writeIn();
Statement state;
try {

state = connect.createStatement();
state.execute("insert into course(name,id)values(\""+str+"\","+ID+")");
System.out.println("添加完成");
} catch (SQLException e) {
System.out.println("重复添加");
}finally{
shutDownConnect(connect);//方便给shutDownConnect传参
}
}
//方法2 ,添加课程
public void addCou(){
Connection connect = openConnect();
try {
PreparedStatement ps = connect.prepareStatement("insert into course(name,id)values(?,?)");
ps.setString(1,"ios");//1,指代第一个?代表name
ps.setInt(2, 18);//2,指代第二个?代表id
ps.execute();
System.out.println("添加完成");
} catch (SQLException e) {
System.out.println("重复添加");
}
}
//删除课程
public void deleteCourse(){
Connection connect = openConnect();//启用方法带入参数
System.out.println("请输入要删除课程的编号");
String ID = writeIn();
Statement state;
try {
state = connect.createStatement();
state.execute("delete from course where id = "+ID);
System.out.println("删除完成");
} catch (SQLException e) {
e.printStackTrace();
}finally{
shutDownConnect(connect);//方便给shutDownConnect传参
}
}
public void updateCourse(){
Connection connect = openConnect();//启用方法带入参数
System.out.println("请输入要修改课程的编号");
String ID = writeIn();
System.out.println("请输入修改后课程的名称");
String str = writeIn();
Statement state;
try {
state = connect.createStatement();
state.execute("update course set name=\""+str+"\" where id = "+ID);
System.out.println("修改完成");
} catch (SQLException e) {
e.printStackTrace();
}finally{
shutDownConnect(connect);//方便给shutDownConnect传参
}
}
public void selectCourse(){
String str = "select*from course";
Connection connect = openConnect();
Statement state;
try {
state = connect.createStatement();
ResultSet resultSet = state.executeQuery(str);//游标默认指向第一条记当上方
while(resultSet.next()){
int ID = resultSet.getInt(2);//2表示id的索引从一开始
String Name = resultSet.getString("name");//直接使用列名
System.out.println("id: "+ID+" name "+Name);
}

} catch (SQLException e) {
e.printStackTrace();
}finally{
shutDownConnect(connect);//方便给shutDownConnect传参
}
}
//连接数据库
public Connection openConnect(){
Connection connect = null;
try {
connect = DriverManager.getConnection(url, uer, password);
if(connect != null){
System.out.println("数据库连接成功");
}

} catch (SQLException e) {
System.out.println("数据库连接失败");
}
return connect;
}
//关闭数据库连接
public void shutDownConnect(Connection connect){
if(connect != null){
try {
connect.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
//输入数据
public String writeIn(){
InputStreamReader ins = new InputStreamReader(System.in);
BufferedReader buf = new BufferedReader(ins);
String str= "";
boolean flag = true;
while(flag){
try {
str = buf.readLine();
flag = false;
} catch (IOException e) {
System.out.println("I/o流输入异常");
}catch(NumberFormatException n){
System.out.println("输入数据类型错误,请从新输入");
}
}
return str;
}

public static void main(String[] args){
DbConnection con = new DbConnection();
con.loadDBConnect();
con.addCourse();

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值