JDBC 数据库编程
基础知识补充
RDBMS: Relational Database Management System 关系型数据库管理系统
SQL 四种语言: DDL、DML、DCL、TCL.
DDL
Data Definition Language 数据库定义语言 statements are used to define the database structure or schema.
DDL 是 SQL 语言的四大功能之一.
用于定义数据库的三级结构, 包括外模式、概念模式、内模式及其相互之间的映像, 定义数据的完整性、安全控制等约束.
DDL 不需要 commit.
CREATE
ALTER
DROP
TRUNCATE
COMMENT
RENAME
DML
Data Manipulation Language 数据操纵语言 statements are used for managing data within schema objects.
由 DBMS 提供, 用于让用户或程序员使用, 实现对数据库中数据的操作.
DML 分成交互型 DML 和嵌入型 DML 两类.
依据语言的级别, DML 又可分成过程性 DML 和非过程性 DML 两种.
需要 commit.
SELECT
INSERT
UPDATE
DELETE
MERGE
CALL
EXPLAIN PLAN
LOCK TABLE
DCL
Data Control Language 数据库控制语言, 授权, 角色控制等
GRANT 授权
REVOKE 取消授权
TCL
Transaction Control Language 事务控制语言
SAVEPOINT 设置保存点
ROLLBACK 回滚
SET TRANSACTION
JDBC
JDBC 配置
References: 通过 JDBC 进行简单的增删改查 (以 MySQL 为例) JDBC 快速入门教程
Java Data Base Connectivity 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口, 提供了诸如查询和更新数据库中数据的方法, JDBC 也是 Sun Microsystems 的商标, JDBC 是面向关系型数据库的.
JDBC 相关的 API 是 java.sql 及 javax.sql 下
应用程序通过 JDBC API 与各数据提供的驱动程序 "交流", 然后数据库驱动程序再与数据库底层 "交流".
JDBC 是 Java 访问数据库的应用程序接口, 是一套 "规范"
驱动程序是各大数据库厂商提供的 JDBC 的具体实现
由此可见, 使用 JDBC 操作数据库的第一步就是安装对应的数据库驱动.
所谓的数据库驱动其实就是一些对应的第三方 JAR 包, 下载下来导入到项目里就可以了 (例如 Mysql 的驱动: mysql-connecter-java).
一般情况下, 我们会在项目目录下新建一个 lib 目录用来存放外来的 JAR 包.
新建一个 lib 目录
把 jar 包拷贝到 lib 目录下后要添加到编译目录 (就是相当于添加到 classpath 路径)
添加后就会多出一栏引用的库
其余的 JDBC 操作参考上面的 References 即可.
事务
ACID: 数据库事务正确执行的四个基本要素
原子性 (Atomicity)
一致性 (Consistency)
隔离性 (Isolation)
持久性 (Durability)
数据库默认事务是自动提交的, 也就是发一条 sql 它就执行一条, 如果想多条 sql 放在一个事务中执行, 则需要设置 autocommit 为 false, 或者使用 start transaction
命令.
参考 wiki: mysql transaction 与 autocommit
Last updated