10 2017 档案

摘要:一、Archlinux的由来 2002年由加拿大的Judd Vinet,Archlinux的创始人 怀着对Debian、Redhat的包管理器不满,于是创建了Archlinux!目前ArchLinux只支持x86_64 的64位系统 二、Archlinux的特征 1.简洁、优雅、正确和代码最小化 换 阅读全文
posted @ 2017-10-27 21:23 Kernel001 阅读(2555) 评论(0) 推荐(0) 编辑
摘要:——Windows下编码 1.Windows下的编码默认使用的是 UNICODE,两个字节!这样就可以防止乱码的情况的出现!但是UNICODE 这种编码方式很费内存资源 2.编码的发展: 由于计算机是由美国发明的,所以当时只能支持英语,但是说英语的国家很少,再者当时计算机的硬件是十分昂贵!所以先发展 阅读全文
posted @ 2017-10-27 18:58 Kernel001 阅读(233) 评论(0) 推荐(0) 编辑
摘要:调用函数可以使用被调用函数动态分配的 存储区 calloc函数也可以动态分配一组连续的 存储区 这个函数可以把所有动态分配的存储区 内容设置成0 为了使用这个函数也需要包含stdlib.h头文件 这个函数需要两个参数,第一个参数表示要 分配的存储区个数,第二个参数表示单个 存储区的大小 这个函数的返回值也是分配好的第一个存储区 的地址 这个函数也可能... 阅读全文
posted @ 2017-10-26 09:12 Kernel001 阅读(124) 评论(0) 推荐(0) 编辑
摘要:一个存储区的地址必须是它自身大小的整数倍 (double类型存储区的地址只需要是4的 整数倍) 这个规则叫数据对齐 结构体里面的子存储区通常也需要遵守数据 对齐的规则 数据对齐会造成结构体内部子存储区之间 有空隙 结构体存储区的大小必须是它所包含的基本类型 存储区中占地最大类型存储区大小的整数倍 (如果这个基本类型是double类型则结构体 ... 阅读全文
posted @ 2017-10-26 09:11 Kernel001 阅读(211) 评论(0) 推荐(0) 编辑
摘要:多文件编程时一个文件里可以包含多个函数, 一个函数只能属于一个文件 多文件编程的步骤 1.把所有函数分散在多个不同的源文件里 (主函数通常单独占一个文件) 2.为每个源文件编写一个配对的以.h作为 扩展名的头文件(主函数所在的源文件 不需要配对的头文件).不分配内存的内容 都可以写在头文件里,头文件里至少要 包含配对源文件里所有函数的声明。 3.... 阅读全文
posted @ 2017-10-26 09:09 Kernel001 阅读(547) 评论(0) 推荐(0) 编辑
摘要:指针数组里的每个存储区是一个指针类型 的存储区 字符指针数组里包含多个字符类型指针,其中 每个指针可以表示一个字符串 字符指针数组可以用来表示多个相关字符串 主函数的第二个参数是一个字符指针数组, 其中每个指针代表一个字符串,所有 这些字符串的内容都来自于用户的命令 主函数的第一个参数是一个整数,它表示 第二个参数里的指针个数 #define预处理指令可以... 阅读全文
posted @ 2017-10-26 09:09 Kernel001 阅读(219) 评论(0) 推荐(0) 编辑
摘要:使用存储区的地址作为返回值可以让调用 函数使用被调用函数的存储区 这种时候被调用函数需要提供一个指针类型 的存储区记录作为返回值的地址数据 不可以把非静态局部变量的地址作为返回值 使用 C语言里的文字信息必须记录在一组连续 的字符类型存储区里 所有文字信息必须以'\0'字符做结尾,这个 字符的ASCII码就是数字0 符合以上两个特征的内容可以用来在C语言 ... 阅读全文
posted @ 2017-10-26 09:08 Kernel001 阅读(167) 评论(0) 推荐(0) 编辑
摘要:数组可以作为形式参数使用 数组做形式参数的时候真正的形式参数并 不是数组而是一个可以作为数组使用的 变量 数组形式参数里包含的存储区都不是被调用 函数提供的 声明数组形式参数的时候可以省略中括号 里的整数 使用数组形式参数的时候必须配合一个整数 类型的形式参数,这个参数用来表示 数组里的存储区个数 数组形式参数可以让被调用函数使用其他函数 的存储区... 阅读全文
posted @ 2017-10-26 09:07 Kernel001 阅读(199) 评论(0) 推荐(0) 编辑
摘要:C语言里可以采用分组的方式管理语句 每个语句分组叫做一个函数 多函数程序执行的时候时间分配情况必须 遵守以下规则 1.整个程序的执行时间被划分成几段,每段 时间都被分配给一个函数使用 2.不同时间段不能互相重叠并且所有时间段 必须连续 3.如果函数A在工作的时候把一段时间分配给 函数B使用则函数B结束所有工作之后必须 把后面的时间还给函数A 如果函数A... 阅读全文
posted @ 2017-10-26 09:05 Kernel001 阅读(107) 评论(0) 推荐(0) 编辑
摘要:数组名称不可以代表存储区 数组名称可以代表数组里第一个存储区的地址 可以对数组名称进行sizeof计算,结果是 数组里所有存储区的总大小 C99规范里可以使用变长数组 声明变长数组的时候可以用变量表示数组里 的存储区个数 某一次程序执行过程中变长数组里存储区 个数不会变化 如果程序会多次执行则每次执行的时候数组 里包含的存储区个数可能不同 变长数组不可以初始化... 阅读全文
posted @ 2017-10-26 09:04 Kernel001 阅读(122) 评论(0) 推荐(0) 编辑
摘要:无法预知的数字叫随机数 rand标准函数可以用来获得随机数 为了使用这个标准函数需要包含stdlib.h头文件 srand标准函数用来设置随机数种子 这个函数把一个整数作为种子使用 不同的种子产生的随机数不同 为了使用这个标准函数也需要包含stdlib.h头 文件 time标准函数可以用来获得当前时间 这个函数用一个整数表示当前的时间 同一秒之内这个用来代表时间的整数是同一个 为了使用... 阅读全文
posted @ 2017-10-26 09:03 Kernel001 阅读(300) 评论(0) 推荐(0) 编辑
摘要:如果表达式里包含多个不同类型的数字就必须 首先把它们转换成同一个类型然后才能 计算 这个转换过程叫做隐式类型转换,完全由 计算机完成 隐式类型转换过程中一定把占地小的类型转换 成占地大的类型 如果不同类型存储区大小一样就把整数类型转换 成浮点类型,把有符号类型转换成无符号 类型 C语言里可以临时给一个数字指定一个类型, 这叫做强制类型转... 阅读全文
posted @ 2017-10-26 09:01 Kernel001 阅读(268) 评论(0) 推荐(0) 编辑
摘要:把二进制表示的数字从右向左每三个数位分成 一组,每组用一个0到7之间的数字替换。 这个替换结果叫做数字的八进制表示方式 0110 1010 01 101 010 152(八进制) 可以直接在程序里用八进制方式表示数字, 这种数字必须以0做开头 可以采用%o做占位符把数字的八进制表示 方式显示在屏幕上 把二进制数字从右向左每四个数位分成一组,... 阅读全文
posted @ 2017-10-26 08:57 Kernel001 阅读(592) 评论(0) 推荐(0) 编辑
摘要:字符类型的名称是char 字符类型里包含256个不同的整数,每个 整数对应一个字符(例如'a', '^'等) 这些整数和字符完全可以互相替代 ASCII码表列出所有整数和字符的对应关系 'a' 97 'A' 65 '0' 48 ASCII码表里所有小写英文字母是连续排列的, 其中'a'对应的整数最小,'z'对应的整数 ... 阅读全文
posted @ 2017-10-26 08:56 Kernel001 阅读(585) 评论(0) 推荐(0) 编辑
摘要:C语言里包含以.c作为扩展名的文件,这种 文件叫源文件。C语言程序的绝大部分内容 应该记录在源文件里。 C语言里还包括以.h作为扩展名的文件,这种 文件叫头文件. C语言程序里可以直接使用数字和加减乘除 四则运算符号(*代表乘法,/代表除法) 所有计算步骤都必须用分号做结尾,每个用 分号结束的计算步骤叫做一条语句 C语言程序里的绝大多数语句应该包含在 ... 阅读全文
posted @ 2017-10-26 08:54 Kernel001 阅读(2368) 评论(0) 推荐(0) 编辑
摘要:Linux是一个和Windows类似的操作系统 通常通过终端软件使用Linux操作系统 终端软件里只能使用键盘不能使用鼠标 可以在终端软件里输入各种命令控制计算机 完成各种任务 clear命令可以清除终端窗口里的所有文字 操作系统里用来管理文件的部分叫文件系统 所有文件系统都采用分组的方式管理文件, 一个分组里可以包含任意多个文件 每个分组里的文件都可以再次分组 文... 阅读全文
posted @ 2017-10-26 08:53 Kernel001 阅读(136) 评论(0) 推荐(0) 编辑
摘要:一、线程同步 条件变量 什么是条件变量? 线程A等待某个条件成立,条件成立,线程A才继续向下执行。线程B的执行使条件成立,条件成立以后唤醒线程A,以继续执行。这个条件就是条件变量。 pthread_cond_t 类型 就是条件变量的类型 对类型的封装如下: #include //条件变量的静态初始化 pthread_cond_t cond = PTHREAD_COND_INITIALI... 阅读全文
posted @ 2017-10-25 21:59 Kernel001 阅读(264) 评论(0) 推荐(0) 编辑
摘要:一、基于UDP的网络编程模型 服务器端 1、创建socket. 2、将fd和服务器的ip地址和端口号绑定 3、recvfrom阻塞等待接收客户端数据 4、业务处理 5、响应客户端 客户端: 1、创建socket 2、向服务器发送数据sendto 3、阻塞等待服务器的响应信息 4、处理响应信息 5、断开通讯 #include #include ssize_t recvfrom(int s... 阅读全文
posted @ 2017-10-25 21:58 Kernel001 阅读(417) 评论(0) 推荐(0) 编辑
摘要:一、基于TCP传输层的编程模型 TCP是面向连接的,安全可靠的。 三次握手 服务器端编程模型 1、创建一个用于网络通讯的设备 通讯端点 socket(2) #include #include int socket(int domain, int type, int protocol); 功能:创建一个用于通讯的端点 参数: domain: AF_INET:应用于IPV4地址家族的 AF_I... 阅读全文
posted @ 2017-10-25 21:57 Kernel001 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一、共享内存 1、获取一个键值 ftok(3) 2、使用键值获取共享内存的id shmget(2) #include #include int shmget(key_t key, size_t size, int shmflg); 功能:分配一块共享内存段。获取和key值相关的共享内存段的id。 参数: key:ftok(3)的返回值 size:指定了共享内存段的尺寸 shmflg:... 阅读全文
posted @ 2017-10-25 21:56 Kernel001 阅读(394) 评论(0) 推荐(0) 编辑
摘要:一、pause(2)的使用 #include int pause(void); 功能:等待信号的到来 返回值: -1 错误 errno被设置 只有在信号处理函数执行完毕的时候才返回。 利用所学的知识,编码实现sleep函数的功能。 unsigned int psleep(unsigned int seconds); 代码参见 psleep.c 二、信号从产生到处理的全过程 1、... 阅读全文
posted @ 2017-10-25 21:55 Kernel001 阅读(259) 评论(0) 推荐(0) 编辑
摘要:一、管道 管道分为两种: 无名管道 有名管道 无名管道用于具有亲缘关系的进程间通讯。无名管道是单工的。 有内核管理的一块内存空间。 使用管道,系统提供了pipe(2) #include int pipe(int pipefd[2]); 功能:创建管道 参数: pipefd[2]:用于返回管道的两端。pipefd[0]指向管道的读端。 pipefd[1]指向管道的写端。 返回值: 0... 阅读全文
posted @ 2017-10-25 21:52 Kernel001 阅读(264) 评论(0) 推荐(0) 编辑
摘要:一、环境变量 bash下的环境变量。 每个进程都默认从父进程继承环境变量 bash本身就是一个程序,这个程序运行的时候,bash进程 可以定义只能之自己这个进程中使用的变量,这种变量称为自定义变量。 用户可以使用 export 环境变量的名字 将自定义变量变为环境变量。环境变量可以被子进程继承。 如何使用程序访问环境变量? 系统维护着一个全局变量 extern char **environ... 阅读全文
posted @ 2017-10-25 21:51 Kernel001 阅读(664) 评论(0) 推荐(0) 编辑
摘要:进程的管理 一、进程的基础 进程和程序的区别 每个进程有自己的pid、PCB 操作系统上运行的所有进程构成一颗树。 如何查看这颗树? pstree(1) 树根进程是init pid是 1 进程间的亲缘关系两种 父子关系 兄弟关系 使用top(1)命令观察进程的状态 使用ps(1)命令也可以查看进程。 二、进程的创建 父进程创建子进程 父进程如何去创建子进程? 父进程调用fork... 阅读全文
posted @ 2017-10-25 21:50 Kernel001 阅读(291) 评论(0) 推荐(0) 编辑
摘要:一、获取文件的元数据(meta data) 通过read write可以对文件的内容进行读写。 但是今天我们要操作的是文件的元数据(文件的属性信息) day08$ls -l hello -rw-rw-r-- 1 tarena tarena 0 8月 9 09:17 hello 文件的类型 文件的权限 文件的硬链接数 属主 属组 文件的大小 时间 文件的链接 分为两种 硬链接和软链接 每... 阅读全文
posted @ 2017-10-25 21:49 Kernel001 阅读(663) 评论(0) 推荐(0) 编辑
摘要:一、lseek(2)重新定位文件的读写位置。 #include #include off_t lseek(int fd, off_t offset, int whence); 功能:重新定位文件读写位置距离文件起始的偏移 参数: fd:指定了具体的文件 offset:偏移 whence: SEEK_SET:offset就是文件的偏移位置 指向文件的头部 SEEK_CUR:代表当前位... 阅读全文
posted @ 2017-10-25 21:47 Kernel001 阅读(264) 评论(0) 推荐(0) 编辑
摘要:一、malloc的实现机制(缓冲机制) 库函数跟系统调用之间的关系 什么是缓冲? 内存分配的原理。 封装 函数A的实现代码中调用了函数B。函数B的功能是函数A主要的功能,这样就说函数A封装了函数B。 举例说明 malloc的实现机制(缓冲) 代码参见malloc.c 080f8-08119 33块 内存管理结束了 二、文件的操作(文件内容的操作) 文件的打开、关闭、读、写、读... 阅读全文
posted @ 2017-10-25 21:46 Kernel001 阅读(428) 评论(0) 推荐(0) 编辑
摘要:一、内存管理(续) 每个进程都有自己独立的4G的虚拟地址空间。 冯.诺伊曼体系结构 哈佛体系结构 section 代码段 只读数据段 栈段 举例说明 数据所属的段。 代码参见 memory.c 如何获取进程自己的pid? getpid(2) #include #include pid_t getpid(void); 功能:获取进程的id 参数: void 返回值: pi... 阅读全文
posted @ 2017-10-25 21:43 Kernel001 阅读(735) 评论(0) 推荐(0) 编辑
摘要:一、程序中的错误处理 在系统中定义了一个全局变量errno。在这个全局变量中存放着系统调用或者库函数出错的信息(错误编号)。然后根据错误编号获取错误信息。 举例说明: 打开一个文件,如果这个文件不存在,查看错误信息。 代码参见 file.c perror(3) strerror(3) #include void perror(const char *s); 功能:输出一条系统的错误消... 阅读全文
posted @ 2017-10-25 21:41 Kernel001 阅读(1076) 评论(0) 推荐(0) 编辑
摘要:一、为类型命名别名 struct node{ int num; struct node *next; }; typedef struct node node_t; node_t n; 使用typedef为类型定义别名。 三个步骤: 1、定义一个类型的变量或常量 2、在第一步的基础上,在最前边加上typedef关键字,这时候,原来的变量或常量就是类型的别名(新类型)。 3、使用新... 阅读全文
posted @ 2017-10-25 21:39 Kernel001 阅读(546) 评论(0) 推荐(0) 编辑
摘要:一、大型软件组织 定义规则,规则就是协议。用户和中介的接口。 软件开发的过程: 定义规则,定义协议。软件为用户提供的功能。 在C语言中使用接口实现。接口就是函数。 两种用户 函数的使用者 函数的实现者 你要站在函数的实现者角度考虑函数。 1、函数要完成的功能 2、需要传递给函数的参数 3、函数的返回值的类型 附加信息 作者: 时间: 将协议的每个部分都要实现,在C语言中如何来表示协议... 阅读全文
posted @ 2017-10-25 21:37 Kernel001 阅读(192) 评论(0) 推荐(0) 编辑
摘要:一、计算机的框架 什么是操作系统?(汽车) 加油系统 油门 用户跟加油子系统交互的窗口。(接口) 方向系统 方向盘 用户跟方向系统的交互接口。 导航系统 。。。 汽车的操作系统有很多的子系统来完成。这些子系统互相协调工作,达到用户的目的。操作简练、效率高、安全性比较高...。 接口 多个子系统 每个子系统负责单一的工作。 操作环境 驾驶员位置 是不是驾驶员直... 阅读全文
posted @ 2017-10-25 21:35 Kernel001 阅读(258) 评论(0) 推荐(0) 编辑
摘要:二十三 运行时的类型信息 1 typeid运算符 #include typeid(类型/对象) 1)返回typeinfo的对象,用于描述类型信息。 2)在typeinfo类中包含了一个name()成员函数返回字符串形式类型信息。 3)typeinfo类支持"=="、"!="的操作符重载,可以直接进行类型之间的比较,如果类型之间存在多态的继承关系,还可以利用多态的特性确定实际的对象类型。 eg:... 阅读全文
posted @ 2017-10-25 17:06 Kernel001 阅读(229) 评论(0) 推荐(0) 编辑
摘要:二十二 多态(Polymorphic) 1 函数重写(虚函数覆盖)、多态概念 如果将基类中的某个成员函数声明为虚函数,那么子类与其具有相同原型的成员函数就也将是虚函数,并且对基类中的版本形成覆盖。 这时,通过指向子类对象的基类指针,或者引用子类对象的基类引用,调用该虚函数,实际被执行的将是子类中覆盖版本,而不是基类中的原始版本,这种语法现象称为多态. eg: class Bas... 阅读全文
posted @ 2017-10-25 17:05 Kernel001 阅读(220) 评论(0) 推荐(0) 编辑
摘要:二十一 继承(Inheritance) ... 5 子类的构造函数和析构函数 5.1 子类的构造函数 1)如果子类构造函数没有显式指明基类子对象的初始化方式,那么该子对象将以无参方式被初始化。 2)如果希望基类子对象以有参的方式被初始化,必须在子类构造函数的初始化表中显式指明。 class 子类:public 基类{ 子类(...):基类(基类子对象构造实参表){} }; 3)... 阅读全文
posted @ 2017-10-25 17:03 Kernel001 阅读(122) 评论(0) 推荐(0) 编辑
摘要:二十 操作符重载 5 函数操作符"()" 功能:让对象当做函数来使用 注:对参数的个数、返回类型没有限制 eg: class A{...}; A a; //a.operator()(100,200) a(100,200); 6 下标操作符"[]" 功能:让对象可以当做数组一样去使用 注:非常对象返回左值,常对象返回右值 eg: string s("hello"); //s.opera... 阅读全文
posted @ 2017-10-25 17:02 Kernel001 阅读(289) 评论(0) 推荐(0) 编辑
摘要:二十 操作符重载 eg:复数x+yi 3+4i (1+2i) + (3+4i) = 4+6i 1 双目操作符(L # R) 1.1 运算类的双目操作符:+ - * / -->左右操作数可以是左值也可以是右值 -->表达式结果是右值 1)成员函数形式 L#R的表达式会被编译器自动处理为L.operator#(R)的成员函数调用,该函数的返回值即为表达式的值。 2)全局函数形式 L#R的表达式会... 阅读全文
posted @ 2017-10-25 16:51 Kernel001 阅读(191) 评论(0) 推荐(0) 编辑
摘要:十七 拷贝构造和拷贝赋值 1 浅拷贝和深拷贝 1)如果一个类中包含指针形式的成员变量,缺省的拷贝构造函数只是复制了指针变量的本身,而没有复制指针所指向的内容,这种拷贝方式称为浅拷贝。 2)浅拷贝将导致不同对象之间的数据共享,如果数据存放在堆区,可能会在析构时引发"double free"异常,因此就需要自己定义一个支持复制指针指向的内容的拷贝构造函数,即深拷贝。 2 在C++类中会提供一个缺省... 阅读全文
posted @ 2017-10-25 16:50 Kernel001 阅读(450) 评论(0) 推荐(0) 编辑
摘要:十四 构造函数和初始化表 ... 5 初始化表 1)语法形式 class 类名{ 类名(形参表):成员变量1(初值),...{} }; 2)必须要使用初始化表的场景 --》如果有类 类型的成员变量,而该类又没有无参构造函数,则必须通过初始化表来初始化该成员变量。 --》类中包含"const"和“引用”成员变量,必须在初始化表中显式的初始化。 注:成员变量的初始化顺序由声明顺序决... 阅读全文
posted @ 2017-10-25 16:35 Kernel001 阅读(304) 评论(0) 推荐(0) 编辑
摘要:十三 类的定义与实例化 1 类的一般形式 class/struct 类名:继承表{ 访问控制限定符: 类名(形参表):初始化表{}//构造函数 ~类名(void){}//析构函数 返回类型 函数名(形参表){}//成员函数 数据类型 变量名;//成员变量 }; 2 访问控制限定符 1)public 公有成员,类内部和外部都可以访问的成员 2)private 私... 阅读全文
posted @ 2017-10-25 16:20 Kernel001 阅读(1143) 评论(0) 推荐(0) 编辑
摘要:十 C++的引用(Reference) 1 2 3 引用型函数参数 1)将引用用于函数的参数,可以修改实参变量的值,同时也能减小函数调用的开销。 2)引用参数有可能意外修饰实参的值,如果不希望修改实参变量本身,可以将其定义为常引用,提高传参效率的同时还可以接收常量型的实参。 4 引用型函数返回值 1)可以将函数返回类型声明为引用,避免函数返回值所带来的开销。 2)一个函数返回类型被声明为... 阅读全文
posted @ 2017-10-25 16:09 Kernel001 阅读(833) 评论(0) 推荐(0) 编辑
摘要:六 C++的布尔类型 1 bool类型是C++中基本类型,专门表示逻辑值:true/false 2 bool在内存上占一个字节:1表示true,0表示false 3 bool类型可以接收任意类型和表达式的结果,其值非0则为true,值为0则为false 七 操作符别名(了解) && --》 and || --》 or { --》 ... 八 C++函数 1 函数重载 strcpy(... 阅读全文
posted @ 2017-10-25 16:03 Kernel001 阅读(546) 评论(0) 推荐(0) 编辑
摘要:一 C++概述 1 C++历史背景 1)C++的江湖地位 jave C C++ C# python 2)C++之父:Bjarne Stroustrup(1950--) 1979,Cpre,为C语言增加类的机制 1983,Bjarne发布了全新的编程语言C with Class 1985,CFront1.0《The C++ programming Language》 3)C++发展过程 19... 阅读全文
posted @ 2017-10-25 15:59 Kernel001 阅读(284) 评论(0) 推荐(0) 编辑
摘要:1. proc中如何使用plsql 1.1 使用plsql的语法 exec sql execute begin /* 相当于plsql的匿名块 */ end; end-exec; 在预编译时,需要加如下两个选项: sqlcheck = semantics userid = 用户名/密码:在预编译... 阅读全文
posted @ 2017-10-23 09:04 Kernel001 阅读(1079) 评论(0) 推荐(0) 编辑
摘要:模板和标准模板库(STL) 一、模板的起源 变量四要素:类型、名称、值、地址 数据类型:存储形式、编码格式、运算规则、访问方式 int a = 0; // 补码 float b = 0; // 阶码 char c = 'A'; // ASCII char_t d = 'A'; // UCS-4 int i = 0; i++; cout learn (...); 静态类型:由编译器在编译源代码的过... 阅读全文
posted @ 2017-10-23 09:00 Kernel001 阅读(311) 评论(0) 推荐(0) 编辑
摘要:PROC 主要内容: 1) proc简介 2) proc程序的开发过程 3) 宿主变量和指示变量 4) 嵌入sql语句 5) 连接数据库 6) 错误处理 7) 数据的存取更新操作 8) 动态sql ----------------------------- 1.什么是pro程序? 1.1 概念 在过程化的编程语言中嵌入sql语句而开发出的应用程序,叫pro程序。 在通用的编程... 阅读全文
posted @ 2017-10-23 08:54 Kernel001 阅读(1785) 评论(0) 推荐(0) 编辑
摘要:回顾: 1.record类型 定义record类型,声明变量,保存s_dept表中id = 31部门信息 2.动态SQL 使用动态SQL语句,删除 testdsql 表中指定id 信息 1.游标: 1.1概念: 游标是映射在结果集中一行数据的位置指针或位置实体。 1.2作用: 处理多行结果集! 用户 阅读全文
posted @ 2017-10-21 17:39 Kernel001 阅读(345) 评论(0) 推荐(0) 编辑
摘要:首先,要成为一名优秀的程序员,必须知道计算机原理,特别是编程最终目的是干了些什么?怎么编译的?怎么链接的?其次,要求对编程非常的热爱,再者就是必备的知识基础! 知识基础就必须的包括以下: 1.计算机语言基础(C、C++等语言) 计算机知识 -> 推荐平台linux 新手推荐就使用Ubuntu 特别说 阅读全文
posted @ 2017-10-19 22:44 Kernel001 阅读(130) 评论(0) 推荐(0) 编辑
摘要:Oracle sql: 4天 plsql: 2天 proc: 2天 1. 数据库介绍 1.1 数据库简介 1.1.1 数据管理技术的发展 人工管理阶段:20世纪50年代中期之前 文件管理阶段:20世纪的50年代末期到60年代中期 缺点:数据冗余 数据的不准确 数据之间的联系弱 数据库管理阶段: 数据 阅读全文
posted @ 2017-10-17 23:19 Kernel001 阅读(304) 评论(0) 推荐(0) 编辑
摘要:回顾: 1.数据库介绍 sql: dql: select dml: insert delete update ddl: create drop alter tcl: commit rollback savepoint dcl: create user、grant、revoke desc s_dept 阅读全文
posted @ 2017-10-17 23:14 Kernel001 阅读(192) 评论(0) 推荐(0) 编辑
摘要:回顾: 1.单行函数 2.表连接 oracle中的表连接 内连接 等值连接 select e.id,e.first_name,d.name from s_emp e,s_dept d where e.dept_id = d.id; select d.id,d.name dname,r.name rn 阅读全文
posted @ 2017-10-17 23:12 Kernel001 阅读(170) 评论(0) 推荐(0) 编辑
摘要:回顾: 1.sql99中的表连接 select 字段列表 from 左表 {[inner]|{left|right|full} [outer]} join 右表 on 关联条件; 2. 集合操作 union union all intersect minus 3. 组函数和分组 3.1 组函数 co 阅读全文
posted @ 2017-10-17 23:09 Kernel001 阅读(264) 评论(0) 推荐(0) 编辑
摘要:PLSQL 1.常用的访问数据库的相关技术 1) plsql 过程化的sql 2) proc/c++ 在c/c++语言中访问oracle数据库的技术 3) ado/odbc vc中访问数据库的技术 4) oci oracle底层提供的客户端的连接接口 5) sql j/jdbc java访问数据库的 阅读全文
posted @ 2017-10-17 23:06 Kernel001 阅读(280) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示