- 博客(104)
- 资源 (6)
- 收藏
- 关注
原创 DML
INSERT INTO table [(column [, column...])]VALUES (value [, value...]);1.向emp表中插入一行数据 //字符和日期需要使用单引号insert into emp(empno,ename,sal) values(7380,'allen_walker',3500);UPDATE ...
2019-03-28 17:22:29 608
原创 sql 单行函数
函数可以没有参数,但是必须要有返回值。单行函数的特点:只对一行进行变换每行只返回一个结果单行函数种类:字符函数、数值函数、日期函数、转换函数、通用函数字符函数:大小写控制函数:LOWER UPPER INITCAP字符控制函数:CONCAT SUBSTR LENGTH INSTR LPAD RPAD TRIM REPLACE数字函数:...
2019-03-28 15:32:02 347
原创 sql select
SELECT *|{[DISTINCT] column|expression [alias],...} FROM table[WHERE condition(s)][ORDER BY {column, expr, alias} [ASC|DESC]];1.查询emp表的所有列select * from emp;2.查看员工工资+300,列名仍然用...
2019-03-28 11:25:40 234
原创 Oracle数据类型
Oracle提供了22中不同的SQL数据类型:char:定长字符串,会用空格填充来达到最大长度。非null的CHAR(10)包含10个字节信息。CHAR字段最多可以存储2000个字节信息。nchar:包含unicode格式数据的定长字符串。NCHAR字段最多可存储2000字节的信息。varchar2:是VARCHAR的同义词。这是一个变长字符串,与CHAR类型不同,它不会用空格将字段或...
2019-03-22 14:39:31 1007
原创 shared pool
shared pool分为三个部分:free、library cache、row cacheshared pool的作用是缓存sql语句以及sql语句所对应的执行计划。在library cache中。一条sql语句的执行分为三个阶段:解析、执行、获取数据解析:把sql语句解析成执行计划sql的解析分为两种:硬解析、软解析当客户端将sql传入服务器进程,服务器进程查看shared...
2019-03-19 21:21:47 445
原创 locale设置语言环境
在Linux中通过locale来设置程序运行的不同语言环境,locale由 ANSI C提供支持。locale的命名规则为语言_地域.字符集,如zh_CN.GBK,zh代表中文, CN代表大陆地区,GBK表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:CODE:LC_CTYPE,用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节...
2019-03-16 18:16:55 4121
原创 Oracle exp imp
数据库导入导出命令:exp bird/bird1234@orcl file=/home/bird/bird.dmp log=/home/bird/bird-exp.log owner=bird //导出用户bird的所有数据对象imp bird/bird1234@orcl file=/home/bird/bird.dmp log=/home/bird/bird-imp.log ...
2019-03-16 10:08:55 138
原创 Oracle用户管理
Oracle中的用户名是方案的名称。方案是指特定用户拥有的数据库对象的集合,是一个包含多个对象集合的名称。用户的特性:唯一的用户名、验证方法、默认表空间、临时表空间、用户概要文件、使用者组、锁定状态SYS和SYSTEM账户都具有DBA的角色,要用SYS用户进行登陆必须使用AS SYSDBA身份登陆,无论如何,任何用AS SYSDBA身份登陆的账户,其内部都是在使用SYS方案。...
2019-03-14 23:02:27 113
原创 Oracle存储结构
Oracle使用了一组逻辑结构作为存储的基础,这些逻辑结构包含了数据块、区、段和表空间。其中最小的数据存储单位是数据块。Oracle的逻辑存储体系结构:从存储架构上来看,一个数据库就是由多个表空间来存储数据,而一个或多个数据库文件组成了表空间。查看表空间:表空间主要用来存储数据,表空间有永久表空间和临时表空间,当执行数据排序ORDER BY、汇总GROUP BY或创建和重...
2019-03-14 21:45:43 618
原创 数组
数组的初始化:要使用java数组,必须经过声明数组和分配内存给数组两个步骤。数据类型 数组名[] = null; //声明一维数组 数据类型[] 数组名 = null; //第二种声明方式数组名 = new 数据类型[长度]; //分配内存给数组数据类型[] 数组名 = new 数据类型[个数]; //声明数组的同时分配内存数组类型[] 数组名 = ...
2019-03-12 22:17:33 165
原创 docker-ce 安装
1. 更新apt库 apt-get update 2. 安装以下软件包,使apt可以通过https使用存储库apt-get install apt-transport-https ca-certificates url software-properties-common 3. 添加docker官方的软件包密钥(GPG)curl -fsSL https://downl...
2018-11-29 10:01:09 210 1
原创 输入输出流
C++的输入输出流是指由若干个字节组成的字节序列,这些字节中的数据按顺序从一个对象传送到另一个对象。流表示了信息从源到目的的流动。在输入操作时,字节流从输入设备流向内存,在输出操作时,字节流从内存流向输出设备。流中的内容可以是ASCII字符、二进制形式的数据、图形图像、数字音频视频或其他形式的信息。流提取运算符从流中提取数据时通常跳过输入流中的空格、tab、换行等空白字符。...
2018-11-02 22:55:50 161
原创 C++强制类型转换
C++的强制类型转换具有如下形式:cast-name <type>(expression);cast-name是static_cast dynamic_cast const_cast reinterpret_cast 中的一种。 static_cast:基本的数据类型转换(类似于C中的自动类型转换)例:将double型强转成int型double a = ...
2018-10-29 22:40:41 227
原创 二叉树链式存储-二叉链表
二叉树的链式存储有:二叉链表 三叉链表 双亲链表 线索链表 二叉链表容易找到孩子,但是不易找到双亲,三叉链表则弥补这一缺点#include <stdio.h>#include <stdlib.h>#include <string.h>#pragma warning (disable:4996)#define OK 0#def...
2018-10-15 16:32:07 454
原创 二叉树顺序存储
该存储结构适用于 完全二叉树,非完全二叉树会造成空间浪费#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#pragma warning (disable:4996)#define MAX_TREE_SIZE 100#define OK...
2018-10-15 16:28:28 878
原创 循环队列
循环队列:空出一个元素的大小来判断是否队列满#include <stdio.h>#include <stdlib.h>#include <string.h>#pragma warning (disable:4996)#define OK 0#define ERROR -1#define M 10typedef int elemtype;...
2018-10-11 15:52:15 127
原创 顺序队列-一维数组实现和堆空间实现
一维数组实现:#include <stdio.h>#include <stdlib.h>#include <string.h>#pragma warning (disable:4996)#define OK 0#define ERROR -1#define MAXLEN 10typedef int elemtype;typedef in...
2018-10-11 15:28:42 256
原创 链栈的基本操作
栈是一种特殊的线性表,LIFO。数据类型:typedef int elemtype;typedef int status;typedef struct snode { elemtype data; struct lnode *next;}snode,*linkstack;链栈初始化: 同线性表status initstack(linkstack *s) { if ...
2018-10-01 20:56:22 354
原创 C实现C++中的多态
C是通过函数指针做函数参数来实现类似C++多态的效果。程序:#include <stdio.h>void test(int a, int b) { //模块 if (a > b)printf("%d", a); else printf("%d", b);}typedef void(*f)(int, int);void test1(f p) { //...
2018-09-17 21:51:33 279
原创 typedef 与函数类型 函数指针类型
typedef void (f)(int, int); //定义一个函数类型typedef void(*f1)(int, int); //定义一个函数指针类型void(*f2)(int, int); //定义一个函数指针变量测试:#include <stdio.h>typedef void (f)(int, int);typedef void(*f1)(i...
2018-09-17 21:21:24 242
原创 typedef与数组类型、数组指针
typedef int num[5]; //定义数组类型typedef char *num1[5]; //定义指针数组类型typedef int(*num2)[5]; //定义指向多维数组的指针类型int (*num3)[5]; //定义指向多维数组的指针变量 测试程序:#include <stdio.h>#include <stdlib.h>...
2018-09-17 21:01:18 3495
原创 类模板
有时,有两个或多个类,其功能相同,仅仅数据类型不同,可以采用类模板来避免重复工作。template <class numtype>class Compare {public: Compare(numtype a, numtype b) { x = a; y = b; } numtype max() { return (x > y) ? x : y; ...
2018-09-12 21:16:51 223
原创 重载 重写 重定义
重载发生在一个类里面或者同一个作用域中 (函数名相同,参数不同)子类无法重载父类的函数,子类中的同名函数会覆盖父类的函数 重写包括虚函数重写和非虚函数重写(重定义)虚函数重写就是基类和派生类中的虚函数的函数类型、函数名、函数参数类型完全一样;使用virtual关键字重定义就是基类中的函数名和派生类中的函数名一样 //函数的返回类型和参数可以不一样;不使用virtual关...
2018-09-10 22:28:54 174
原创 多继承
虚基类:如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多分同名成员。在一个类中保留间接共同基类的多份同名成员,这种现象是人们不希望出现的,C++提供虚基类的方法,使得在继承间接基类时只保留一份成员。 虚基类并不是在声明基类时声明的,而是在声明派生类时,指定继承方式时声明的。声明虚基类的一般形式:class 派生类...
2018-09-10 16:34:41 210
原创 结构体和共用体的内存对齐
编译器按照成员列表的顺序一个接一个地给每个成员分配内存。只有当存储成员时需要满足正确的边界对齐要求时,成员时间才可能出现用于填充的额外内存空间。系统禁止编译器在一个结构的起始位置跳过几个字节来满足边界对齐要求,因此所有结构的起始位置必须是结构中边界要求最严格的数据所要求的位置。这段话来自 C和指针,意思是存储结构体变量的地址必须是结构体最长元素的整数倍。结构体嵌套结构体时的...
2018-09-09 11:07:50 844
原创 C++面向对象模型
在C++类中有两种数据成员,三种成员函数C++中的数据成员和成员函数是分开存储的。普通的成员变量存储在对象中,与struct变量的对齐方式相同。静态的成员变量存储在全局数据区。成员函数存储在代码段。 编译器添加数据的情况:为了支持各种virtual特性 //虚基类 虚函数 边界对齐要求 //#include <iostream>u...
2018-09-06 22:44:04 154
原创 ftell与fseek
fseek原型: int fseek(FILE *stream,long int offset,int whence);成功返回0,出错返回非0whence有三个值可以选择:SEEK_SET:文件开头SEEK_CUR:当前位置SEEK_END:文件结尾fseek(fp,0,SEEK_END) 将文件指针移动到文件结尾,然后再调用ftell可以求得文件的长度。 ft...
2018-09-03 22:16:07 944
原创 一段代码
#include <stdio.h>#include <stdlib.h>#include <string.h>#pragma warning (disable:4996)typedef struct teacher { char name[20]; int age; char **student;}teacher;void teache...
2018-08-21 20:55:44 933
原创 纯虚函数和抽象类
纯虚函数的作用是在基类中为其派生类保留一个函数的名字,以便派生类根据需要对它进行定义。纯虚函数的一般形式:virtual 函数类型 函数名 (参数表列)=0;如果在一个类中声明了纯虚函数,而在其派生类中没有对该函数定义,则该虚函数在派生类中仍然为纯虚函数。 不用来定义对象而只作为一种基类类型用作继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。如果在派生类中没有对所...
2018-08-13 09:29:13 309
原创 虚函数
由虚函数实现的动态多态性就是:同一类族中不同类的对象,对同一函数调用作出不同的响应。虚函数的使用方法:在基类中用virtual声明成员函数为虚函数。 //在类外定义虚函数时,不必再加virtual 在派生类中重新定义此函数,要求函数名、函数类型、函数参数个数和类型全部与基类的虚函数相同,并根据派生类的需要重新定义函数体。 //C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名...
2018-07-27 14:33:23 161
原创 多态
在C++中,多态性是指具有不同功能的函数可以用同一个函数名,这样就可以用一个函数名调用不同内容的函数。面向对象的方法中这样表述多态性:向不同对象发送同一个消息,不同的对象在接收时会产生不同的方法。#include <iostream>using namespace std;class point {public: virtual void print() { c...
2018-07-26 17:30:02 150
原创 派生类的构造和析构
派生类构造函数名(总参数表列) :基类构造函数名(参数表列){派生类中新增数据成员初始化语句}先调用基类的构造函数,再调用派生类的构造函数。析构顺序与构造顺序相反。在类中对派生类的构造函数作声明时,不包括基类构造函数名及其参数表列,只有在定义的时候给出。#include <iostream>using namespace std;class parent {pub...
2018-07-25 10:38:33 401
原创 类的继承
在C++中,所谓继承是在一个已存在的类的基础上新建一个新的类。已存在的类称为 基类 或 父类。新建的类称为 派生类 或 子类。 一个基类可以派生出多个派生类,每一个派生类又可以作为基类再派生出新的派生类,因此基类和派生类是相对而言的。一个派生类只从一个基类派生,这称为单继承。一个派生类有两个或多个基类的称为多重继承。派生类是基类的具体化,而基类是派生类的抽象。 ...
2018-07-24 10:11:46 245
原创 图
图是由顶点和连接顶点的边构成的离散结构。每条边都连接两个不同的顶点且没有两条不同的边连接一对相同顶点的图称为简单图。有多重边连接同一对顶点的图称为多重图。一个顶点连接到它自身的边。这样的边称为环。包含环或存在多边连接同一对顶点或同一个顶点的图,称为伪图。当对一个无向图的每一条边都赋予方向,就得到了一个有向图,当一个有向图不包含环或多重有向边时,就称为简单有向图。包含从一个顶点指...
2018-07-23 17:29:06 297
原创 求值顺序
几乎所有的C++运算符的求值顺序都是未指定的。C/C++中有4种运算符明确规定了运算对象的求值顺序。&&||?:, 运算符优先级的高低,等同于用括号括起来高的,但是求值顺序是不一定的,只有上述四种运算符指定了求值顺序。...
2018-07-23 15:57:42 207
原创 函数的递归调用
C允许一个函数调用其本身。这种调用过程被称作递归。递归一般可以代替循环语句使用。递归虽然使程序结构优美,但其执行效率却没有循环语句高。递归函数中必须包含可以终止递归调用的语句。//防止出现无限调用最简单的递归形式是把递归调用语句放在函数结尾,这中形式被称作尾递归。尾递归的作用相当于一条循环语句。 递归的优缺点:优点是为某些编程问题提供了最简单的解决办法缺点是递归算法会很快耗...
2018-07-20 15:14:19 980
原创 运算符重载
运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算,也就是说,运算符重载是通过定义函数实现的。运算符重载实质上是函数的重载。 运算符重载的函数一般格式如下:函数类型 operator 运算符名称 (形参表列){对运算符的重载处理} C++不允许用于自己定义新的运算符,只能对已有的C++运算符进行重载C+...
2018-07-18 15:33:37 198
原创 友元
友元可以访问与其有好友关系的类中的私有成员。友元包括友元函数和友元类。友元函数如果在本类以外的其他地方定义了一个函数,在类体中用friend对其进行声明,此函数就是友元函数。(声明可以放到private或public后)一个友元函数的例子:#include <iostream>#include <math.h>using namespace std;...
2018-07-18 10:00:41 215
原创 类的静态成员
静态数据成员在内存中只占一份空间。每个对象都可以引用这个静态数据成员。静态数据成员的值对所有对象都是一样的。如果改变它的值,则在各对象中这个数据成员的值都同时改变了。//静态数据成员存储在全局数据区在为对象所分配的空间中不包括静态数据成员所占的空间。静态数据成员不随对象的建立而分配空间。(也就是就算没有创建对象,这个静态数据成员也存在) 静态数据成员只能在类体外进行初始...
2018-07-17 11:07:52 322
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人