一、数据库简单介绍
1、 按照数据库的发展时间顺序,主要出现了以下类型数据库系统:
网状型数据库
层次型数据库
关系型数据库
面向对象数据库
上面4中数据库系统中,关系型数据库使用最为广泛。面向对象数据库则是由面向对象语言催生的新型数据库,目前的一些数据库系统,如:SQL Server 2005、Oracle10g等都开始增加面向对象的特性。
二、常用基本SQL语句/语法
SQL语句基础理论
SQL是操作和检索关系型数据库的标准语言,标准SQL语句可用于操作然后关系型数据库。
标准的SQL语句通常划分为以下类型:
查询语句:主要由于select关键字完成,查询语句是SQL语句中最复杂,功能最丰富的语句。
DML(Data Munipulation Language,数据操作语言)语句,这组DML语句修改后数据将保持较好的一致性;操作表的语句,如插入、修改、删除等;
DDL(Data Definition Language,数据定义语言)语句,操作数据对象的语言,有create、alter、drop。
DCL(Data Control Language,数据控制语言)语句,主要有grant、revoke语句。
事务控制语句:主要有commit、rollback和savepoint三个关键字完成
DDL语句
DDL语句是操作数据库对象的语句,包括创建create、删除drop、修改alter数据库对象。
常见数据库对象
对象名称
对应关键字
描述
表
table
表是数据库存储的逻辑单元,以行和列的形式存在;列是字段,行就是一条数据记录
数据字典
就是系统表,存储数据库相关信息的表,系统表里的数据通常有数据库系统维护。系统表结构和数据,开发人员不应该手动修改,只能查询其中的数据
视图
view
一个或多个数据表里的数据的逻辑显示,视图就是一张虚拟的表,并不真正存储数据
约束
constraint
执行数据检验规则,用于保证数据完整性的规则
索引
index
用于提高查询性能,相当于书的目录
函数
function
用于完成一个特定的计算,具有返回值和参数
存储过程
procedure
完成某项完整的业务处理,没有返回值,但可通过传出参数将多个值传个调用环境
触发器
trigger
相当于一个事件的监听器,当数据库发生特定的事件后,触发器被触发,完成响应处理
上面的对象都可以通过用create、alter、drop完成相关的创建、修改、删除操作。
常用数据类型
列类型
说明
tinyint/smallint/mediumint int(integer)/bigint
1字节、2字节、3字节、4字节、8字节整数,又可分有符号和无符号两种。这些整数类型的区别仅仅表现范围不同
float/double
单精度、双精度浮点类型
decimal(dec)
精确小数类型,相当于float和double不会产生精度丢失问题
date
日期类型,不能保存时间。当Java里的Date对象保存到该类型中,时间部分丢失
time
时间类型,不能保存日期。当Java的Date对象的保存在该类型中,日期部分丢失
datetime
日期、时间类型
timestamp
时间戳类型
year
年类型,仅保存年份
char
定长字符串类型
varchar
可变长度字符串类型
binary
定长二进制字符串类型,它以二进制形式保存字符串
varbinary
可变长度的二进制字符串类型,二进制形式保存字符串
tingblob/blob
mediumblob/longblob
1字节、2字节、3字节、4字节的二进制大对象,可存存储超图片、音乐等二进制数据,分别可存储:255/64K/16M/4G的大小
tingtext/text
mediumtext/longtext
1字节、2字节、3字节、4字节的文本对象,可存储超长长度的字符串,分别可存储:255/64K/16M/4G的大小的文本
enum(‘val1’,‘val2’,…)
枚举类型,该列的值只能是enum括号中出现的值的之一
set(‘value1’,‘value2’,…)
集合类型,该列的值可以是set中的一个或多个值
常用查询