JDBC编程

本文深入探讨了JDBC编程,包括关系数据库理论、SQL语法基础、JDBC核心API的使用,以及事务管理和MySQL的安装与基本命令。通过JDBC,Java程序能跨平台操作各种数据库,其驱动程序分为四种类型,确保了良好的可移植性。此外,还介绍了MySQL的InnoDB存储机制和SQL语句的分类,如DDL、DML、DCL和事务控制语句,强调了索引在提升查询性能中的作用。

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

JDBC编程

本章重点

  • 关系数据库与SQL语句
  • SQL语法
  • JDBC核心API
  • 使用JDBC执行SQL语句
  • 分析数据库的两种方式
  • 事务
  • JDBC中的事务控制

JDBC概述

  • 通过使用JDBC API,Java程序可以非常方便地操作各种主流数据库,这便是Java语言的巨大魅力所在。而且由于Java语言的跨平台性,所以使用JDBC API所编写的程序不仅可以实现跨数据库,还可以实现跨平台,具有非常优秀的可移植性。
  • 程序使用JDBC API以同一的方式来连接不同的数据库,然后通过Statment对象来执行标准的SQL语句,并可以获得SQL语句访问数据库的结果。因此掌握标准的SQL语句是学习JDBC编程的基础,本章将会简要介绍关系数据库理论基础,并以MySQL数据库为例来讲解标准SQL语句的语法细节。包括基本查询语句,多表连接查询和子查询等。

JDBC驱动示意

  • 为了JDBC程序可以跨越平台执行,则需要不同数据库厂商提供的相应驱动,下面显示了JDBC驱动的示意图。

插入图片1

JDBC驱动程序类型

  • 第一种JDBC驱动:成为JDBC-ODBC桥,这种驱动是最早实现的JDBC驱动程序,主要目的是为了快速推广JDBC。这种驱动将JDBC API映射到ODBC API,JDBC-ODBC也需要驱动,这种驱动由Sun公司提供实现
  • 第二种JDBC驱动:直接将JDBC API映射成数据库特定的客户端API。这种驱动程序包含特定数据库的本地代码,用于访问特定数据库的客户端。
  • 第三种JDBC驱动:支持三层结构的JDBC访问方式。主要用于Applet阶段,通过Applet访问数据库。
  • 第四种JDBC驱动:是纯Java的,直接与数据库实例交互。这种驱动是智能的,它知道数据库使用的底层鞋业。这种驱动是目前最流行的JDBC驱动。

安装MySQL

  • 下载MySQL安装软件
  • 开始安装MySQL后,在出现的对话框中单击“NEXT"按钮。
  • 单击对话框的”NEXT“按钮,将出现安装组件和安装路径的对话框。
  • 单机对话框中的”NEXT“按钮,将可开始安装MySQL数据库
  • 配置数据库时注意选择合适的字符集,并设置密码。

MySQL的常见命令

  • show databases;
  • drop database 数据库名;
  • use 数据库名
  • show tables;
  • desc表名

MySQL的两种存储机制

  • MyISAM:这是MySQL早期默认的存储机制,对事务支持不够好
  • InnoDB:InnoDB提供事务安全的存储机制。InnoDB通过建立行级锁来保证事务的完整性,并以Oracle风格的共享锁来处理Select语句。系统默认启动InnoDB机制,如果不想使用InnoDB标,可以使用skip-innodb选项。

SQL语句

  • SQL的全称是Structured Query Language,也就是结构化查询语言。SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作任何关系数据库。

  • 使用SQL语句,管理员和数据管理员(DBA)可以完成如下的任务:
    在数据库中检索需要的信息

    对数据库的信息进行及时更新

    改变数据库的结构

    更改系统的安全设置

    增加用户对数据库或者表的使用权限

SQL语句分类

  • 查询语句:主要由于select关键字完成, 查询语句是SQL语句中最复杂,功能最丰富的语句
  • DML语句(Data Manipuation Language,即数据操作语言):主要由 insert、update和delete三个关键字完成。
  • DDL语句(Date Definition Language,即使数据定义语言):主要由create、later、drop和truncate四个关键字完成
  • DCL语句(Data Control Language,即是数据控制语言):主要由grant和revoke两个关键字完成。
  • 事务控制语句:主要由commit、rollback和savepoint三个关键字完成。

DDL语句

  • DDL语句是操作数据库对象的语句,包括

    创建(create)

    删除(drop)

    修改(alter)数据库对象

数据库对象

对象名称对应关键字描述
table表是存储数据的逻辑单元,以行和列的形式存在;列就是字段,行就是记录
数据字典就是系统表,存放数据库相关信息的表。系统表里的数据通常由数据库系统维护。程序员通常不应该手动修改系统表及内部数据,程序员只可 查看系统表的数据
约束constraint执行数据校验的规则,用于保证数据完整性的规则
视图view一个或者多个数据表里数据的逻辑显示。视图并不存储数据
索引index用于提高查询的性能,相当于书的目录
函数function用于完成一次特定的计算,具有一个返回值
存储过程procedure用于完成一次完整的业务处理,没有返回值,但可通过传出参数将多个值传给调用环境
触发器tigger相当于一个事件监听器,当数据库发生特定事件后,触发器被触发,完成响应的处理。

创建的语法

create table[模式名.]表名
    (
    可以有多个列定义
    columnName1 datatype[default expr],
    ...
)

修改表(增加列)的语法

alter table(表名)
    add(
    --可以有多个列定义
    column_name1 datatype[default expr],
    ...
)

修改表(修改列)的语法

  • alter table表名
  • modify column_name datatype[default expr]
  • [first|after col_name];

修改表(删除列)的语法

  • alter table表名
  • drop_column_name

删除表的语法

  • drop table的表名;

约束

  • 大部分数据库支持下面五类完整性约束:
  • NOT NULL:非空约束,指定某列不能为空
  • UNIQUE:唯一约束,指定某列或者几列组合不能重复
  • PRIMARY KEY:主键,指定该列的值可以唯一地表示该条记录
  • FOREIGH KEY:外键,指定该行记录从属于主表中的一条记录,主要用于保证参照完整性
  • CHECK:检查,指定一个布尔表达式,用于指定对应列的值必须满足该表达式

索引

  • 索引是存放在模式(schema)中的一个数据库对象,虽然索引总是从属于数据表,但它也和数据表一样,属于数据库对象。创建索引唯一的作用就是加速对表的查询,索引通过使用快速访问路径访问方法来快速定位数据,从而减少了磁盘的I/O。
  • 创建索引有两种方式:
  • 自动:当在表中定义逐渐约束、唯一约束和外键约束,系统会为该数据列自动创建对应的索引
  • 手动:用户可以手动创建索引来加速查询
  • 删除索引也有两种方式:
    自动:数据表被删除时,该表上的索引自动被删除。
  • 手动:用户可以手动删除指定数据表上的指定索引。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值