跳至主要內容
javaweb - JAVA与数据库2

JDBC

执行DML操作 executeUpdate()

删除、更新、添加

import java.io.PrintWriter;
import java.sql.*;

public class Main {
    public static void main(String[] args) {
        try (
                Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/study","root","123456");
                Statement statement = connection.createStatement();
        ){
            int i = statement.executeUpdate("insert into student values(4,'monkey','男')");
            // statement.executeUpdate("delete from student where sid = 4");
            // int i = statement.executeUpdate("update student set name = 'dog' where sid=3");
            System.out.println("生效了:"+i+"行");
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

codejavawebmysql大约 2 分钟
javaweb - JAVA与数据库3

JDBC

实现登陆与SQL注入攻击

在使用之前,我们先来看看如果我们想模拟登陆一个用户,我们该怎么去写:

try (Connection connection = DriverManager.getConnection("URL","用户名","密码");
     Statement statement = connection.createStatement();
     Scanner scanner = new Scanner(System.in)){
    ResultSet res = statement.executeQuery("select * from user where username='"+scanner.nextLine()+"'and pwd='"+scanner.nextLine()+"';");
    while (res.next()){
        String username = res.getString(1);
        System.out.println(username+" 登陆成功!");
    }
}catch (SQLException e){
    e.printStackTrace();
}

codejavawebmysql大约 4 分钟
javaweb - JAVA与数据库1

主要内容

通过Java如何去使用数据库来帮助我们存储数据

JDBC

JDBC英文名为:Java Data Base Connectivity(Java数据库连接),官方解释它是Java编程语言和广泛的数据库之间独立于数据库的连接标准的Java API,根本上说JDBC是一种规范,它提供的接口,一套完整的,允许便捷式访问底层数据库。可以用JAVA来写不同类型的可执行文件:JAVA应用程序、JAVA Applets、Java Servlet、JSP等,不同的可执行文件都能通过JDBC访问数据库,又兼备存储的优势。简单说它就是Java与数据库的连接的桥梁或者插件,用Java代码就能操作数据库的增删改查、存储过程、事务等。


codejavawebmysql大约 4 分钟
javaweb - 数据库1

数据库 1

简介

数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映客观事物间的本质联系。数据库能有效地帮助一个组织或企业科学地管理各类信息资源。简而言之,我们的数据可以交给数据库来帮助我们进行管理,同时数据库能够为我们提供高效的访问性能。

常见的数据库有很多种,包括但不限于:

MySQL - 免费,用的最多的,开源数据库,适用于中小型 Microsoft SQL Server - 收钱的,但是提供技术支持,适用于Windows Server Oracle - 收钱的,大型数据库系统


codejavawebmysql大约 5 分钟
javaweb - 数据库2

数据库 2

SQL 语句

结构化查询语言(Structured Query Language)简称SQL,这是一种特殊的语言,它专门用于数据库的操作。每一种数据库都支持SQL,但是他们之间会存在一些细微的差异,因此不同的数据库都存在自己的“方言”。

SQL语句不区分大小写(关键字推荐使用大写),它支持多行,并且需要使用;进行结尾!

SQL也支持注释,通过使用--或是#来编写注释内容,也可以使用/*来进行多行注释。


codejavawebmysql大约 7 分钟
javaweb - 数据库3

数据库 3

数据库查询语言 (DQL)

单表查询 SELECET

单表查询是最简单的一种查询,我们只需要在一张表中去查找数据即可,通过使用select语句来进行单表查询:

-- 指定查询某一列数据
SELECT 列名[,列名] FROM 表名
-- 会以别名显示此列
SELECT 列名 别名 FROM 表名
-- 查询所有的列数据
SELECT * FROM 表名
-- 只查询不重复的值
SELECT DISTINCT 列名 FROM 表名

codejavawebmysql大约 5 分钟
javaweb - 数据库4

数据库 4

视图

视图本质就是一个查询的结果,不过我们每次都可以通过打开视图来按照我们想要的样子查看数据。

既然视图本质就是一个查询的结果,那么它本身就是一个虚表,并不是真实存在的数据实际上还是存放在原来的表中。 对视图的修改就是对基本表的修改,相当于一个指针。

我们可以通过create view来创建视图;

CREATE VIEW 视图名称(列名) as 子查询语句 [WITH CHECK OPTION];

codejavawebmysql大约 6 分钟