java程序员 数据库_Java 程序员常用的 8 个数据库知识点

数据库在 Java Web 应用中具有非常重要的作用,存储和管理着系统中的数据,作为一个 Java 程序员,数据库的知识是必不可少的,今天这篇 chat 为大家带来常用的 8 个数据库知识点。

本篇 Chat 以 Oracle 数据库为例,从以下 8 个方面对 Java 程序员常用数据库知识点进行阐述:

什么是数据库的 DDL 和 DML?

创建数据库的用户并授权。

如何优雅地建立一张数据库的表?

数据库表的常用增删改查操作。

使用 JDBC 操作数据库。

常用的 SQL 优化技术。

如何用存储过程提升开发效率?

如何玩转数据库的定时任务?

以期通过本场 Chat 的学习,使 Java 程序员快速了解开发中的常用数据库知识点,并且可以运用到项目中。

一、什么是数据库的 DDL 和 DML

SQL(Structure Query Language)语言是数据库的核心语言,SQL 语言共分为四大类:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)、事务控制语言(TCL)。

1. 数据定义语言(DDL)

数据定义语言(Data Definition Language,DDL): 用于定义 SQL 模式、基本表、视图和索引的创建和撤消操作。 主要包含 CREATE、ALTER、DROP、TRUNCATE、RENAME 等语句,一般不需要 commit 等事务操作。

用于操纵表结构的数据定义语言命令有:

CREATE TABLE(创建表)

ALTER TABLE(修改表)

TRUNCATE TABLE(删除表中数据)

DROP TABLE(删除表)

创建表 CREATE TABLE

createtable 表名 (字段 字段类型 [default '默认值' ] [null/not null])

修改表 ALTER TABLE

(1)添加字段:

alter table 表名 add (字段 字段类型) ;

(2)修改字段类型:

alter table 表名 modiy (字段 字段类型 [default '默认值' ] [null/not null] );

修改多个字段用逗号隔开。

(3)删除字段:

alter table 表名 drop (字段);

删除表中的数据 TRUNCATE TABLE

Truncate table 表名;

删除表 DROP TABLE

drop table 表名;

Truncate 与Delete的区别:

Truncate 命令快速删除记录并释放空间, 不使用事务处理,因此无法回滚。

Delete 命令可以在执行删除之后,通过 Rollback 撤销删除。

如果确定表中的数据不再使用,使用 Truncate 命令效率更高。

2. 数据操作语言(DML)

数据操作语言(Data Manipulation Language, DML)由数据库管理系统(DBMS)提供,用于让用户或程序员使用,实现对数据库中数据的操作。 主要包含 SELECT、INSERT、UPDATE、DELETE 等语句。

添加 INSERT

INSERT INTO 表名 VALUES('值', '值');

此处的值必须与表中所有字段一一对应。

INSERT INTO 表名(字段,字段) VALUES('值', '值');

此处的值与括号里列出的字段一一对应。

修改 UPDATE

UPDATE 表名 SET 字段= '值' WHERE 字段= '值';

删除 DELETE

DELETE FROM 表名;

DELETE FROM 表名 WHERE 字段名='字段值';

很多开发人员一般把加上 SQL 的 SELECT 语句的四大指令以“CRUD”来称呼,即人们常说的数据库的“增删改查”。

SELECT具体用法

SELECT select_list

[ INTO new_table ]

FROM table_source

[ WHERE search_condition ]

[ GROUP BY group_by_expression ]

[ HAVING search_condition ]

[ ORDER BY order_expression [ ASC | DESC ] ]

SELECT 查询语句是由七个子句构成,其中 SELECT 和 FROM 子句是一个完整的 SELECT 查询语句必须要有的,其它的子句可以根据具体需要任选。

(1)SELECT 子句

列出所有要求 SELECT 语句进行检索的数据项、DISTINCT 选项,表示查询出的结果中是否容许有内容重复的行出现,缺省时是 ALL 项,表示容许有重复的行出现,而 * 则表示查询出所指定关系表中所有的列。

(2)FROM子句

FROM 子句列出包含所要查询的数据关系表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值