先在Navicate中创建一个表
SQL语句创建 sudent 表
创建一个school的数据库再建表。。。
CREATE TABLE student(
id INT PRIMARY KEY auto_increment,
name VARCHAR(20) NOT NULL,
age INT NOT NULL
);
Java编程
实现在刚才创建的表中插入数据
package cn.sdut.k11_24;
import java.sql.*;
public class Main {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//获得数据库链接
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/school?useUnicode=true&characterEncoding=utf-8","root","usbw");
//?useUnicode=true&characterEncoding=utf-8不加输入会乱码
//准备sql语句执行对象
Statement pst = con.createStatement();
//准备sql语句
String sql = "INSERT INTO student VALUES(NULL,'梨花',19)";
//执行sql语句
int result = pst.executeUpdate(sql);
System.out.println(result > 0 ? "成功":"失败");
//关闭sql语句执行对象
pst.close();
//关闭数据库链接
con.close();
}
}
改进
package cn.sdut.k11_24;
import java.sql.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Scanner input = new Scanner(System.in);
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//获得数据库链接
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/school?useUnicode=true&characterEncoding=utf-8","root","usbw");
//?useUnicode=true&characterEncoding=utf-8不加输入会乱码
//输入信息
System.out.println("请输入学生姓名");
String name = input.next();
System.out.println("请输入学生年龄");
int age = input.nextInt();
//准备执行对象及SQL语句
String sqladd = "INSERT INTO student VALUES(NULL,?,?)";
PreparedStatement pst = con.prepareStatement(sqladd);
pst.setString(1, name);
pst.setInt(2, age);
//执行SQL语句
int result = pst.executeUpdate();
System.out.println(result > 0 ? "数据插入成功":"数据插入失败");
//关闭SQL语句执行对象
pst.close();
//关闭数据库链接
con.close();
//键盘输入关闭
input.close();
}
}