- 第一步建表:
CREATE TABLE `tb_student` (
`student_id` int(8) NOT NULL AUTO_INCREMENT,
`student_name` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`student_sex` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`student_age` int(4) NOT NULL,
`student_birthday` date NOT NULL,
`student_tel` bigint(12) NOT NULL,
`student_remark` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (`student_id`)
) ENGINE=InnoDB CHARSET=utf8;
- 插入数据:
INSERT INTO `tb_student` VALUES ('1', '张三', '男', '18', '2000-01-01', '13999999999', '学酥');
INSERT INTO `tb_student` VALUES ('2', '李明', '男', '18', '1999-12-31', '13988888888', '英语课本小王子');
INSERT INTO `tb_student` VALUES ('3', '丹尼', '男', '18', '2000-01-01', '13799999999', '恐龙');
- java代码 这个测试类中只进行了插入操作
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
/**
* @author 作者 Knight:
* @version 创建时间:2019年4月17日 下午4:01:41
* 类说明 测试
*/
public class TestClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
input();
}
public static void input(){
Scanner scan = new Scanner(System.in);
System.out.println("请输入学生的名字:");
String name = scan.nextLine();
System.out.println("请输入学生的性别:");
String sex = scan.nextLine();
if(!(sex.equals("男")||sex.equals("女"))){
System.out.println("您输入的性别不合规范!");
scan.close();
return;
}
System.out.println("请输入学生的年龄:");
Integer age = scan.nextInt();
System.out.println("请输入学生的生日:");
String str = scan.next();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date d = null;
try {
d = sdf.parse(str);
} catch (Exception e) {
e.printStackTrace();
}
java.sql.Date birthday = new java.sql.Date(d.getTime());
System.out.println("请输入学生的电话:");
Long tel = scan.nextLong();
System.out.println("请输入备注:");
String remark = scan.next();
scan.close();
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/user?serverTimezone=Asia/Shanghai","root","951226");
//输出下面这条语句说明连接数据库成功
System.out.println("数据库连接成功!");
String sql = "insert into tb_student values(null,?,?,?,?,?,?)";
PreparedStatement statement = con.prepareStatement(sql);
//1代表第一个问号,2代表第二个问号,以此类推
//set方法限制了传入的参数的类型,这样删除时如果输入or 1=1,就不会删除所有数据了
statement.setString(1, name);
statement.setString(2, sex);
statement.setInt(3, age);
statement.setDate(4, birthday);
statement.setLong(5,tel);
statement.setString(6, remark);
statement.execute();
statement.close();
con.close();
System.out.println("数据库插入成功!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}