复习
视图
格式 : creat view 视图名 as 查询的sql语句
视图通常用来查 比如一些效率低的模糊查询不能使用索引,就可以创建视图
好处:提高了sql语句的复用性,解决了业务表的繁杂性,被所有人共享
坏处:视图是一张表,里面是重复的数据,“浪费空间”, 视图创建成功后,无法被优化,数据更新时,视图不便于更新
批量插入 事务由两种管理方式第二种手动管理事务,必须有两个过程: 开启事务 … 结束事务(commit / rollback)
当需要插入多条事务时,需要多次结束事务,所以使用批量插入,只需要一次事务管理
三范式
第一范式: 1NF, 是指 表里的字段值不能再被分割了
第二范式: 2NF, 是指 遵循了1NF的基础上,再遵循2NF.
是指 表里都应该设计主键字段(主属性),
其他的非主属性,应该都围绕着主属性展开描述.
第三范式: 3NF, 是指 遵循了前两范式
是指 字段之间的依赖性是直接的,而不是还要间接的产生依赖,导致查询关闭变得复杂
JDBC
向数据库添加一条数据
public class Test10 {
public static void main(String[] args) throws Exception {
//注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接
String url="jdbc:mysql://localhost:3306/cgb211101?characterEncoding=utf8";
Connection c = DriverManager.getConnection(url, "root", "root");
System.out.println("连接成功");
//获取传输器
Statement s = c.createStatement();
//在java中执行sql语句
s.executeUpdate("insert into dept values (null,'蜘蛛侠','皇后区')");
System.out.println("数据输入成功");
}
}
模拟用户登录
public class Test11 {
public static void main(String[] args) throws Exception {
//注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//连接
String url="jdbc:mysql://localhost:3306/cgb211101?characterEncoding=utf8";
Connection c = DriverManager.getConnection(url, "root", "root");
System.out.println("连接成功");
//获取传输器
Statement s = c.createStatement();
System.out.println("请输入您的账号");
String a = new Scanner(System.in).nextLine();
System.out.println("请输入您的密码");
String b =