数据库教程
数据库教程。
C语言技术网-码农有道
二十二年的C/C++语言开发经验,擅长C/C++语言在数据处理和网络通信方面的应用,freecplus开源框架作者。
freecplus框架是UNIX平台下C/C++程序开发的业务层基础框架,由C语言技术网组织开发、维护。其目的是为C/C++程序员供免费的、开源的程序库。freecplus框架与C++标准库结合使用,可以极大的提高程序员的开发效率。
freecplus框架的初衷是为C/C++程序员提供功能强大、简单易用的函数和类,把程序员从纷繁复杂的C/C++底层代码中解放出来,程序员将更关注软件功能和业务逻辑的实现。
展开
-
Oracle11g数据库快速安装
文章目录一、Oracle安装存在的问题二、如何解决Oracle安装的问题三、获得Oracle压缩包四、软件需求五、硬件需求1、查看内存和交换区的大小2、创建交换区3、删除交换区六、安装对应的依赖包七、修改系统核心参数1、修改/etc/sysctl.conf文件2、 修改/etc/security/limits.conf文件3、 修改/etc/pam.d/login文件4、 修改/etc/profi...原创 2020-03-25 17:23:33 · 432 阅读 · 0 评论 -
Oracle数据库介绍
文章目录一、Oracle数据库二、支持平台三、Oracle数据库的特点四、与其它数据库的比较五、就业前景六、初学者的误区七、版权声明一、Oracle数据库Oracle Database,又名Oracle RDBMS,简称Oracle数据库。Oracle数据库系统是美国Oracle公司(甲骨文)提供的以分布式数据库为核心的一系列软件产品,是目前世界上使用最为广泛的数据库管理系统,具备完整的数据...原创 2020-03-25 17:21:59 · 1278 阅读 · 0 评论 -
Oracle11g客户端安装配置
文章目录一、Oracle数据库客户端的安装1、下载软件安装包2、解压运行安装程序二、PL/SQL Developer的安装1、下载软件安装包2、安装软件包三、配置Oracle客户端环境1、配置数据库参数2、启动PL/SQL Developer软件在这里插入图片描述3、打开SQL窗口4、执行SQL语句5、最常用的Objects窗口四、客户端环境变量1、Path环境变量2、注册表五、判断客户端是否能...原创 2020-03-25 17:18:03 · 269 阅读 · 0 评论 -
Oracle环境变量
文章目录一、Oracle环境变量1、ORACLE_HOME2、ORACLE_BASE3、ORACLE_SID4、NLS_LANG5、PATH6、LD_LIBRARY_PATH7、CLASSPATH8、其它环境变量二、Oracle环境的配置1、在oracle用户的.bash_profile中配置2、在/etc/profile中配置3、在/etc/profile.d中配置三、版权声明一、Oracle...原创 2020-03-25 17:16:13 · 942 阅读 · 0 评论 -
Oracle数据类型
文章目录一、字符串类型1、固定长度的字符串2、变长度的字符串3、char和varchar2的比较4、汉字的存储二、数字类型三、日期类型四、clob和blob类型五、rowid类型六、其它数据类型七、版权声明Oracle的数据类型有二十多种,包括字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。太多的数据类型很容易让初学者...原创 2020-03-25 17:10:33 · 740 阅读 · 0 评论 -
Oracle的表
文章目录一、表的概念1、表的列2、列的数据类型3、表的行二、创建表1、创建表2、创建表的主键三、表记录的插入、修改和删除1、向表中插入记录2、查询表中的记录3、修改表中的记录4、删除表中的记录四、表的约束1、非空约束2、唯一性约束3、检查约束五、字段的缺省值六、表的存储空间1、查看当前用户的缺省表空间2、指定表的表空间七、修改表结构1、增加字段2、修改字段的属性3、修改字段名4、删除字段八、修改表...原创 2020-03-25 17:08:52 · 487 阅读 · 0 评论 -
Oracle事务
文章目录一、事务的基本概念二、事务的特征1、原子性(Atomicity)2、一致性(Consistency)3、隔离性(Isolation)4、持久性(Durability)三、事务控制1、设置事物属性2、数据异常3、选择隔离层4、保存点四、版权声明一、事务的基本概念在数据库中事务是工作的逻辑任务,一个事务是由一个或一组SQL语句组成,通过事务机制确保这一组SQL语句的操作要么全部成功执行成功...原创 2020-03-25 17:05:53 · 253 阅读 · 0 评论 -
Oracle的where子句
文章目录一、生成测试数据二、where子句的语法三、逻辑运算符四、比较运算符五、where子句的高级用法六、对where子句的列使用运算和函数1、对列进行运算2、对列使用函数3、存在的问题七、版权声明where子句用于从表中或临时数据集中查找满足指定条件的记录,可用于select、update和delete语句中的条件。一、生成测试数据用以下SQL创建超女基本信息表(T_GIRL),插入一些...原创 2020-03-25 17:04:01 · 259 阅读 · 0 评论 -
Oracle的order by关键字
文章目录一、生成测试数据二、order by的语法三、版权声明order by关键字用于对查询的结果集进行排序。我们通过示例来介绍order by关键字的用法。一、生成测试数据用以下SQL创建超女基本信息表(T_GIRL),插入一些测试数据。create table T_GIRL( id char(4) not null, -- 编号 name...原创 2020-03-25 17:00:58 · 275 阅读 · 0 评论 -
Oracle虚表
文章目录一、测试dual虚表1、dual虚表的结构2、查询dual虚表中的记录3、对dual虚表做增、删、改操作二、dual虚表的用途1、执行Oracle的函数2、获取序列生成器的值三、版权声明Oracle数据库中存在一个特别的表dual,它是一个虚拟表,用来构成select的语法规则。Oracle对dual虚表的操作做了一些特别的处理,保证dual表里面永远只有一条记录。dual虚表存在给程序...原创 2020-03-25 16:59:54 · 314 阅读 · 0 评论 -
Oracle序列生成器
文章目录一、创建序列二、序列的使用1、创建最简单的序列2、在dual虚表使用序列3、在SQL语句中使用序列三、序列裂缝1、序列不产生事务2、序列裂缝四、修改序列五、删除序列六、版权声明在实际开发中,设计数据表的时候会把某些字段定义成一个自动增长的、唯一的流水号,例如记录编号、日志编号等,MySQL和SQL Server采用的是自增字段,Oracle和PostgreSQL采用了更灵活的序列生成器。...原创 2020-03-25 16:57:21 · 171 阅读 · 0 评论 -
Oracle日期操作函数
文章目录一、把日期转换为字符串二、把字符串转换日期三、日期运算1、直接加减2、add_months函数3、last_day函数4、其它的日期函数四、日期环境变量五、版权声明Oracle采用date类型表示日期时间,这是一个7字节的固定宽度的数据类型,有7个属性,包括:世纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。本文中把date类型称为日期时间类型,简称日期。对编程语言来说,日期是用...原创 2020-03-25 16:55:20 · 262 阅读 · 0 评论 -
Oracle常用函数
文章目录一、Oracle的函数1、单行函数2、聚合函数3、分析函数二、字符串函数1、ASCII码转换ascii和chr2、字符串拼接concat3、字符串查找instr4、字符串的长度length5、字符串大小写转换lower和upper6、截去字符串ltrim、rtrim和trim7、字符串替换replace8、字符串截取substr9、字符串补齐lpad的rpad三、数字函数四、日期函数五、转...原创 2020-03-25 16:53:00 · 346 阅读 · 0 评论 -
Oracle自定义函数
文章目录一、函数的创建、调用和权限1、创建函数2、函数的调用3、函数的权限二、删除自定义函数三、应用经验四、版权声明在Oracle数据库中,为了实现特定的功能,可以自定义函数,就像C/C++语言,除了系统的库函数,程序员还会编写很多自定义的函数。一、函数的创建、调用和权限1、创建函数create or replace function 函数名(参数1 模式 数据类型,......) ret...原创 2020-03-25 16:21:00 · 309 阅读 · 0 评论 -
Oracle存储过程
文章目录一、存储过程的概念二、存储过程的创建、调用和权限1、创建存储过程2、存储过程的调用3、存储过程的权限三、删除存储过程四、PL/SQL语言五、应用经验1、存储过程的优点2、存储过程的缺点3、我的看法六、Oracle的包七、版权声明一、存储过程的概念存储过程(stored procedure)是Oracle数据库中为了完成某功能的PL/SQL代码集,就像没有返回值的自定义函数。二、存储过...原创 2020-03-25 16:17:44 · 129 阅读 · 0 评论 -
Oracle触发器
文章目录一、触发器的概念二、DML触发器1、语句触发器2、行级触发器3、DML触发器语法4、触发器谓词5、示例三、DDL触发器1、DDL触发器语法2、DDL事件3、可用属性4、示例四、替代触发器五、系统触发器1、数据库启动(startup)2、数据库关闭(shutdown)3、新建会话(logon)4、注销会话(logoff)5、servererror6、db_role_change六、版权声明...原创 2020-03-25 16:14:10 · 208 阅读 · 0 评论 -
Oracle伪列
文章目录一、rowid伪列1、rowid的原理2、rowid数据类型二、rowid的应用1、记录表数据的变化2、用于where的条件3、rowid的缺点三、rownum伪列四、rownum的应用1、限制数据库大事务和长事务2、用于筛选查询结果集的记录五、小结六、版权声明Oracle有两个常用的伪列rowid和rownum,对伪列的操作类似于表中的列,你可以对其进行查询操作,但是你却不能对其进行增...原创 2020-03-25 15:09:18 · 365 阅读 · 0 评论 -
Oracle索引
文章目录一、索引的概念1、索引的特点2、索引的分类二、创建索引1、普通索引2、唯一索引3、主建是唯一索引三、删除索引四、修改索引1、重建索引2、整理碎片3、修改索引名4、禁用索引五、索引的存储空间1、查看当前用户的缺省表空间2、指定索引的表空间六、索引的优化1、索引的查看2、SQL语句的执行计划3、SQL语句的执行步骤4、执行计划的含义七、版权声明对于初学者来说,在学习的过程中,创建表的数据量非...原创 2020-03-25 14:58:37 · 157 阅读 · 0 评论 -
Oracle视图
文章目录一、视图的概念二、创建视图三、视图的状态四、删除视图五、视图的其它知识六、版权声明一、视图的概念视图是基于一个或者多个表上的预定义查询,这些表称为基表,从视图中查询数据的方法与从基表中查询数据的方法相同。视图是一个查看数据的窗口,是查询语句模板,视图本身没有数据,在数据库中只保存了视图的定义。视图具有以下优点:1)可以向数据访问者只开放访问视图的权限,屏蔽基表信息。2)可以将复杂...原创 2020-03-25 14:54:10 · 290 阅读 · 0 评论 -
Oracle数据库链路
文章目录一、数据库链路的概念二、创建dblink1、创建dblink的权限2、创建dblink的命令3、用数据库服务名创建dblink4、不用数据库服务名创建dblink三、dblink的使用四、删除dblink五、应用经验六、版权声明一、数据库链路的概念数据库链路(database link),简称dblink,它是一个通道,是本地数据库与远程数据库之间的通道,通过dblink,在本地数据库...原创 2020-03-25 14:51:53 · 375 阅读 · 0 评论 -
Oracle同义词
文章目录一、同义词的概念二、创建同义词1、创建同义词的权限2、创建synonym的命令三、删除同义词四、版权声明一、同义词的概念同义词(synonym)就是数据库对象的别名,这里的数据库对象包括表、视图、序列、存储过程、包等。同义词有两方面的意义:1)简化了数据库对象名称的书写;2)提高了数据库对象的安全性(因为只知道对象的别名,不知道它的真名)。Oracle的dual虚表其实就是一个公用...原创 2020-03-25 14:50:17 · 195 阅读 · 0 评论 -
Oracle的别名
文章目录一、生成测试数据二、表和列的别名1、列的别名2、表的别名三、注意事项1、列的别名四、版权声明在SQL语句中,可以给表和列起别名,这是临时的别名,与同义词不一样,同义词是永久的别名。别名是多表查询和嵌套查询语句的基础知识,本文只介绍别名的语法,不涉及别名的应用技巧,大家在学习的时候可能觉得别名没什么意义,其实不然。一、生成测试数据用以下SQL创建超女基本信息表(T_GIRL),插入一...原创 2020-03-25 14:48:35 · 3061 阅读 · 0 评论 -
Oracle的distinct关键字
文章目录一、生成测试数据二、distinct示例三、版权声明distinct关键字用于从查询的结果集中筛选出唯一值的记录。我们通过示例来介绍distinct关键字的用法。一、生成测试数据用以下SQL创建超女基本信息表(T_GIRL),插入一些测试数据。create table T_GIRL( id char(4) not null, -- 编号 ...原创 2020-03-25 14:46:53 · 144 阅读 · 0 评论 -
Oracle的主键和外键
文章目录一、表的主键二、表的外键1、外键的概念2、外键的作用3、外键约束4、创建外键5、删除外键6、示例脚本三、版权声明一、表的主键在现实世界中,很多数据具有唯一的特性,例如身份证号码,在国家人口基本信息表中,一定不会存在多个人用同一个身份证号码的情况,再例如手机号码、QQ号码、银行帐号等等,还有学生管理系统,学生的年级、班级和学号三个字段组合起来是唯一的标识。如果表中一个字段或多个字段组合...原创 2020-03-25 14:45:21 · 1000 阅读 · 0 评论 -
Oracle子查询
文章目录一、生成测试数据1、颜值参数表2、身材参数表3、超女基本信息表4、表之间的关系图5、生成测试数据二、表名限定三、子查询示例1、在字段列表中使用子查询2、在where子句中使用子查询3、从结果集中查询4、在insert中使用子查询5、在delete中使用子查询6、在update中使用子查询7、在create table中使用子查询四、应用经验五、版权声明如果SQL语句中包含了另一个sele...原创 2020-03-25 14:43:36 · 190 阅读 · 0 评论 -
Oracle join多表查询
文章目录一、生成测试数据1、创建超女基本信息历史表(T_GIRL_HIS)2、创建超女基本信息表(T_GIRL)3、测试数据说明二、join示例1、内连接(inner join)2、左连接(left join)3、右连接(right join)4、全连接(full join)5、笛卡儿乘积(cross join)三、应用经验1、尽可能简单化SQL语句2、子查询与join四、版权声明join(连接...原创 2020-03-25 14:41:56 · 222 阅读 · 0 评论 -
Oracle union多表查询
文章目录一、生成测试数据1、创建超女基本信息历史表(T_GIRL_HIS)2、创建超女基本信息表(T_GIRL)3、测试数据说明二、union示例1、union(去重复记录的联合)2、union all(不去复记录的重联合)3、从联合后的结果集中查询三、应用经验四、版权声明union就是把两个结果集合并起来,被合并的两个结果集的字段数量要相同,数据类型要相似(兼容)。union在合并两个结果集...原创 2020-03-25 14:32:23 · 308 阅读 · 0 评论 -
Oracle用户和权限管理
文章目录一、数据库管理员二、用户管理1、创建用户2、修改用户的密码3、锁定/解锁用户4、修改用户表空间配额5、删除用户三、权限管理1、系统权限2、对象权限3、角色4、授于/收回权限5、查询权限6、注意事项四、版权声明当创建一个新数据库实例时,Oracle会创建sys、system和scott数据库用户。sys和system是管理员用户,它们的密码在创建数据库时指定。scott是示范用户(用于学习...原创 2020-03-25 14:30:40 · 505 阅读 · 3 评论 -
Oracle表空间和数据文件
文章目录一、表空间的概念1、SYSTEM表空间2、SYSAUX表空间3、UNDOTBS1表空间4、TEMP表空间5、USERS表空间6、查看表空间二、管理表空间1、创建表空间2、使用表空间3、删除表空间4、向表空间中添加数据文件6、修改表空间的状态7、修改数据文件状态8、修改数据文件大小9、移动数据文件三、查看表空间和数据文件1、查看当前用户的缺省表空间2、查看数据文件3、查看表空间使用情况四、应...原创 2020-03-25 14:29:00 · 260 阅读 · 0 评论 -
Oracle的启动和关闭
文章目录一、数据库的启动1、启动实例2、装载数据库3、打开数据库4、直接启动数据库二、数据库状态切换1、从open切换到mounted状态2、从mounted切换到started状态3、把数据库启动到限制模式(Restrict)4、以只读模式(Read Only)打开数据库5、把数据库启动到恢复模式(Recover)三、关闭数据库1、数据库关闭的过程2、shutdown immediate3、sh...原创 2020-03-25 14:25:28 · 210 阅读 · 1 评论 -
Oracle数据备份和恢复
文章目录一、备份与恢复的概念1、什么是备份2、备份的方法3、备份的策略4、什么是恢复5、恢复分类二、逻辑备份和恢复1、exp命令2、imp命令3、数据库实例导出和导入4、用户的导出和导入5、表的导出和导入6、注意事项三、应用经验四、版权声明Oracle数据库的备份和恢复有很多种方法,是一个很大的话题,足可以写一本书,但是,本文只介绍采用exp和imp进行数据备份和恢复,这也是程序员最常用的方法。...原创 2020-03-25 14:23:56 · 219 阅读 · 0 评论 -
Oracle归档日志管理
文章目录一、重做日志二、日志管理1、查看日志2、日志组和日志文件操作3、修改日志模式4、归档日志的清理三、归档/非归档模式优缺点1、归档模式的优点2、归档模式的缺点3、非归档模式的优点4、非归档模式的缺点四、版权声明一、重做日志Oracle以SQL脚本的形式实时记录了数据变化的详细日志,这些日志保存在重做日志文件中。根据重做日志文件,可以对数据库进行备份和恢复。在下文中,把重做日志简称为日志。...原创 2020-03-25 14:19:23 · 759 阅读 · 0 评论 -
Oracle字符集的设置
文章目录一、字符集的概念1、字符编码(character encoding):2、字符集(Character set)3、国际编码(Unicode)4、汉字的编码5、汉字的编码选择6、编码的转换二、Oracle的字符集1、字符集和国家字符集2、支持中文的字符集3、NLS_LANG参数三、服务端的字符集1、查看服务端字符集2、修改服务端字符集四、客户端的字符集1、Linux环境2、Windows环境...原创 2020-03-25 14:17:32 · 1764 阅读 · 0 评论 -
Oracle的体系结构
文章目录一、概述二、用户进程和服务进程1、用户进程2、服务进程三、系统全局区SGA四、后台进程五、存储结构1、逻辑存储结构2、物理存储结构六、版权声明一、概述Oracle的体系结构是数据库的组成、工作过程,以及数据库中数据的组织和管理机制,包含一系列组件(软件)、用户进程(User process)、服务进程(Server process、PGA)、SGA(共享池、数据缓存、日志缓冲区)、后台...原创 2020-03-25 11:33:13 · 588 阅读 · 0 评论 -
Oracle数据字典
文章目录一、概述二、内部RDBMS(X$)表三、动态性能视图四、数据字典表五、静态数据字典视图1、USER_\*(用户所拥有的相关对象信息)2、ALL_\*(用于有权限访问的所有对象的信息)3、DBA_(数据库所有相关对象的信息)六、版权声明一、概述Oracle通过数据字典来管理和展现数据库信息,数据字典储存数据库的元数据,是数据库的“数据库”。数据字典由4部分组成:内部RDBMS(X$)表、...原创 2020-03-25 11:24:28 · 220 阅读 · 0 评论 -
Oracle数据库开机自启动
如果服务器断电重启或计划内重启,在服务器的操作系统启动后,需要手工启动数据库实例和监听,本文介绍如何把Oracle数据库的启动和关闭配置成系统服务,在操作系统启动/关闭时,自动启动/关闭Oracle实例和监听。假设ORACLE_HOME环境变量的值是/oracle/home。1、启动数据库实例的shell脚本启动Oracle数据库的脚本为/oracle/home/bin/dbstart,内容...原创 2020-03-25 11:00:15 · 438 阅读 · 0 评论