java中的数据库

来源:互联网 发布:iapp小易源码手册 编辑:程序博客网 时间:2024/05/17 23:08

(个人笔记,尚未完善,慎用)

一,JDBC

即Java DataBase Connectivity,java数据库连接。顾名思义,是一种可以执行SQL的API,我们可以通过JDBC的API来连接到关系数据库,并使用SQL对数据库查询更新。

java的跨数据库原理:(即面向接口编程)

JDBC值提供了一组标准的API,它们只是接口,也就是各类数据库必须遵守的标准,而这些接口的实现类是由相应的数据库厂商提供,即驱动程序。所以当需要在不同的数据库之间切换的时候,只需要更换不同的实现类就可以。

二,数据库与SQL总体概述:

SQL是所有关系数据库都通用的命令语句,而JDBC API只是执行SQL的工具,它允许不同的平台,不同的数据库通过相同的接口编程来执行SQL语句。(注意不是所有数据库的所有语句都是一样的,有些数据库本身有不同于SQL的语句)

数据库:通常说的数据库其实包括两部分:

1,存放用户数据的部分

2,数据库管理系统 DataBase Management System(DBMS)当用户访问操作数据库的时候就需要它的帮助,他是所有数据的知识库,负责存储,安全,一枝,回复,访问等的操作。DBMS有一二数据字典(系统表)用于存储它拥有的每个事物的相关信息,关于数据的数据:元数据。

三,数据库中常用的数据库对象:

1,表(table):对于关系数据库来说,数据表是最基本的存储单元。同时表也是存储数据的逻辑单元。表可以想象为行列的表格,其中每行是记录,用于保存一条用户数据,行是动态变化的,定义表的时候无需指定。每列称为字段,定义的时候要注意指定多少列以及列的类型。另外要为每个数据表指定一个特殊列,用于唯一的标识此行的记录,即主键列。

2,数据库约束:约束是在表上强制执行的数据校验规则,主要用于保证数据库数据的完整性,另外,当当表中的数据存在相互依赖的关系的时候,可以保护相关数据不被删掉。


存储在系统表中,并且有自己的名字

约束有单列约束及多列约束,指定约束可以在建表的时候爷可以在建表之后以修改的形式指定

大部分数据库支持以下5种约束;

1,NOT NULL:只能作为列级约束语法,即只可以对单列操作。用于确保指定咧不允许为空。

2,UNIQUE:用于保证指定咧或者指定列组合不允许出现重复值,但是可以多个null值,因为null不等于null。

同一表内可以有多个唯一约束,

当为某列创建唯一约束的时候,mysql会为它创建相应的该列创建索引,如果不给唯一约束改名,那么他的索引就是它的表名。

为多列组合指定约束,或者为唯一约束指定约束名,那么只能用表级约束语法。

3,PRIMARY KEY:主键约束,相当于非空约束与唯一约束,可唯一的标识表中的一条记录。每个列中最多一个主键约束,但是这个主键约束可以由多个数据列组合。不管用户是否为主键约束指定约束名,myaql总是把主键约束命名为PRIMARY.同时MYSQL会为其建立索引。

4,FOREIGH KEY;用于保证一个或者两个数据表之间的参照完整性,构建于一个表的两个字段或者两个表的两个字段之间的参照关系。确保相关两个字段的参照关系从表外键列的值必须在主键外键列的值的范围内。或者为空。

当主表被从表参照的时候,删除主表记录的时候要先把从表里面参照改记录的记录全部删除之后才可以删除。或者删除从表中所有参照该记录的从表记录。

从表参照的只能是主表的主键列或者唯一列,同一个表可以有多个外键。

mysql会建立相应的索引。

CHECK约束:对mysql不起作用。

3,索引;存放在模式(schema)里面索引总是从属于表,,在数据字典中独立存放,但是不能独自存在,必须属于摸个表。

创建索引的唯一作用就是加速对标的查询,通过加速路径访问。

4,视图:看上去像数据表但是不是数据表,视图里面并没有存放数据它只是数据表里面数据的逻辑显示,即查询结果,它的本质其实就是一条被命名的sql语句。

视图通常只会用来澶寻数据,不能修改里面的数据,mysql中用with check option来限制修改。

5,数据字典

6,函数:数据库函数,分组函数。原理跟平时说的函数一样。

7,存储过程

8,触发器

四,SQL语句基础

1,DDL语句:是操作数据库对象的语句。由create,alter,drop,truncate(删除表里的数据但是保留结构)四个关键字组成。

2,DML语句:主要操作数据表里面的数据。由insert into,update(修改)跟delete from组成

3,DCL语句:主要由grant跟revoke组成,数据控制语句

4,查询语句:主要由select组成SQL中最复杂,功能最丰富的。select语句用于从一个或者多个数据表中选出特定行特定列的数据。里面有单表查询,多表连接查询,子查询。

5,事务控制语句:conmit,rollback,savapoint组成。

五,集合运算










0 0