1数据库分类
关系型数据库:采用了关系模型来组织数据的数据库
Oracle, MySQL, DB2, SQL Server等
非关系数据库: NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战, 非关系型数据库产品是传统关系型数据库的功能阉割版本,通过减少用不到或很少用的功能,来大幅度提高产品性能。
MongoDB, Redis, SQLiteCassandra
2 Oracle的安装 配置 和登录
SYS SYSTEM用户
表空间概念: 表空间是一个逻辑概念。Oracle中的数据逻辑上存储于表空间(tablespace)中,而物理上则存储于属于表空间的数据文件(datafile)中。
表(TABLE)是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。SQL数据库中用于存储数据的工具。表是包含数据库中所有数据的数据库对象。表定义为列的集合
3 Oracle数据类型
VARCHAR2(size) 可变长度的字符串,其最大长度为size个字节;size的最大值是4000,而最小值是1;你必须指定一个VARCHAR2的size;
NUMBER(p,s) 精度为p并且数值范围为s的数值;精度p的范围从1到38;
DATE 存储日期和时间
TIMESTAMP 存储日期年月日时分秒 同时包含时区
CHAR(size)固定长度的字符数据,其长度为size个字节;size的最大值是2000字节,而最小值和默认值是1;
CLOB一个字符大型对象,可容纳单字节的字符; 最大为4G字节
BLOB 一个二进制大型对象;最大4G字节
4 SQL
结构化查询语言(Structured QueryLanguage) 。
是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
SQL语言不区分大小写 同时也是数据库脚本文件的扩展名。
由IBM推出,后成为行业标准。
SQL语言的分类
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。
1. 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>
2 .数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE
3. 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
索引、同义词、等如:
CREATETABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 视图 索引 同义词
DDL操作是隐性提交的!不能rollback
4. 数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。
2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚---ROLLBACK
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
SQL>ROLLBACK;
3) COMMIT [WORK]:提交。
在数据库的插入、删除和修改操作时,只有当事务在提交到数据
库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看
到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。下面分
别说明这三种类型。
(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT;
(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON;
5约束
目的:确保表中数据的完整性
常见约束类型:
主键约束(Primary KeyConstraint)要求主键列数据唯一,并且不允许为空
唯一约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值
检查约束(Check Constraint)某列取值范围限制、格式限制等,如有关年龄的约束
外键约束(Foreign KeyConstraint)用于两表间建立关系,需要指定引用主表的那列
6 SQL函数