Other

知识点复习 (14)—— 内存分区模型

C++程序在执行时,将内存大致分为4个区域。 代码区:存放函数体的二进制代码,由操作系统进行管理 全局区:存放全局变量和静态变量以及常量 栈区 :由编译器自动分配释放,存放函数的参数值,局部变量等 堆区 :由程序员分配和释放,若程序员不释放,程序结束时由操作系统释放回收  

oracle-scott-建表建数据

REM Script: EMP and DEPT-- oracle 部门表和员工表 -- Create DEPT table which will be the parent table of the EMP table. create table dept( deptno number(2,0), dname varchar2(14), loc varchar2(13), constraint pk_dept primary key (deptno) ); -- Create the EMP table which has a foreign key reference to the DEPT table. The foreign key will require that the DEPTNO in the EMP table exist in the DEPTNO column in the DEPT table.

oracle-scott-练习题(2)

--用SQL完成以下问题列表:--1.列出至少有一个员工的所有部门。 select * from dept d where exists(select * from emp where deptno =d.deptno); select distinct d.* from dept d,emp e where d.deptno=e.deptno; --2.列出薪金比“SMITH”多的所有员工。select * from emp where sal >(select sal from emp where ename='SMITH'); --3.列出所有员工的姓名及其直接上级的姓名。select ename,(select ename from emp where empno =e.mgr) from emp e ; select e.ename,m.ename from emp e,emp mwhere e.mgr=m.empno; --4.列出受雇日期早于其直接上级的所有员工。select * from emp e,emp mwhere e.mgr=m.empnoand e.hiredate<m.hiredate; select * from emp e where hiredate < ( select hiredate from emp where empno =e.

oracle-scott-练习题(3)

1.查询所有的部门编号: select DEPTNO from DEPT ; 2.查询所有有人的部门编号: select DEPTNO from EMP ; 3.查询所有岗位名称: select DISTINCT “JOB” from EMP ; 4.查询所有薪水超过两千的员工信息 select * from EMP where SAL>2000; 5.查询所有20部门的员工姓名,编号及薪水 select ENAME,EMPNO,SAL from EMP where DEPTNO=20; 6.查询所有没有奖金的员工信息 select * from EMP where (COMM is NULL OR COMM = 0); 7.查询所有有奖金的员工信息 select * from EMP where (COMM is NOT NULL ); 8.查询最高领导的员工信息 select * from EMP where MGR is NULL; 9.查询所有81年之后入职的员工信息 select * from EMP where HIREDATE >= “TO_DATE”(‘1981-01-01’,’yyyy-mm-dd’); select * from EMP where HIREDATE >= ‘1-1月-81’;

powerdesigner 连接oracle

1、新建model点击File--》New Model...,出现如图(1)的页面,点击“ok”出现如图(2)的页面    2、选中刚创建的model,点击Database--》Configure Connections,出现如图(3):    3、点击如图(3)中的Connection Profiles,在点击数据库的小标(图3中标2的地方),出现如图(4)的页面:   4、图(4)中,connection type选择JDBC,DBMS type选择Oracle,输入链接信息,如图(5),   5、输入完后,点击右下角的“Test Connection...”按钮,出现如图(6)的页面,看见弹出“Connection test successful”的弹出框,就可以了。 注意:图(5)中的JDBC driver jar files 一定要配置环境变量如图(7)     6、点击“ok”进入如下页如图(8),点击“ok”即可。   7、选中刚创建的model,选择Database--》Update Model from Database如图(9),出现如图(10)的页面     8、在图(10)的页面中,选择刚连接的数据库信息,点击确定,输入密码后,点击确定,出现如图(11)的页面,选择要导出的表,如果是全部导出可以直接点击“ok”按钮。   9、导入成功后,导入成功后即可看如图(12)的页面,至此导入成功。   可以看到上图中没有显示标的注释和字段的注释,请看https://blog.csdn.net/qq_33157666/article/details/82187548

linux中如何统计文本字符的总个数

1、测试数据 [root@centos7 test3]# ls test.txt [root@centos7 test3]# cat test.txt deet dggh df  2、awk实现 [root@centos7 test3]# ls test.txt [root@centos7 test3]# cat test.txt deet dggh df [root@centos7 test3]# awk '{print length}' test.txt 4 4 2 [root@centos7 test3]# awk '{print length}' test.txt | awk 'BEGIN{sum = 0} {sum += $1} END {print sum}' 10  或者: [root@centos7 test3]# ls test.txt [root@centos7 test3]# cat test.txt deet dggh df [root@centos7 test3]# paste -d -s test.

22-4-14 express连接数据库+操作数据库

报错记录 报错: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 这个报错是由于客户端不支持认证协议, ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password' 然后需要修改root用户名,以及数据库地址还有密码; mysql查看当前用户信息: select user();

oracle实现自增的方法和碰到的问题

众所周知,Oracle是没有办法像Mysql里用AUTO_INCREMENT实现自增的。 但是Oracle可以通过序列实现自增。 --以下是oracle 12c的方法 create sequence temp_seq increment by 1 start with 1001; --创建一个简单的序列 create table temp( id number default temp_seq.nextval primary key, name varchar2(20)); --创建一个表 insert into temp(name) values('测试'); insert into temp(name) values('测试'); select * from temp; 但是这里有一个小问题,就是如果已存在该id,插入会报错,因为序列是一个跟表无关的对象。不会检查id,当id存在时,序列不会继续自动跳到下一个值。 如上图,当表已存在行id = 1005时,序列增加到1005时会违反主键约束,那么有没有一种可能,可以让这个序列跳到1006呢? 还得是触发器啊。 create sequence test_seqincrement by 1start with 1001;--用触发器获取此序列的值create table test( id number default '0' primary key, name varchar2(20) ); --这里默认值设为0是判断使不使用序列--当不使用序列时的插入是Insert into test (id,name) values('1234','测试');--当使用序列时的插入是insert into test (name) values('测试'); create or replace trigger test_tri before insert on test for each row declare v_val number; --定义v_val,当使用序列插入时,将序列值放到将变量中。 v_num number; --定义v_num,判断插入时使不使用序列。 begin if :new.

redis实例

1 <?php 2 $redis=new Redis(); 3 $redis->connect('127.0.0.1',6379); 4 $redis->auth('123456'); 5 6 // string 7 8 $redis->set('test','helloworld'); 9 $get = $redis->get('test'); 10 //helloworld 11 $tt = $redis->del('test'); 12 //int(1) 返回成功的个数 13 14 15 //list 16 $redis->delete('list-key'); 17 $redis->rPush('list-key','item');//从右端推入 18 $redis->rPush('list-key','item2'); 19 $redis->rPush('list-key','item'); 20 $redis->rPush('list-key','item3'); 21 $lRange = $redis->lRange('list-key', 0, -1); //取出指定范围 22 23 //array(4) { [0]=> string(4) item [1]=> string(5) item2 [2]=> string(4) item [3]=> string(5) item3 } 24 25 $lIndex = $redis->lIndex('list-key', 1);//取出指定元素 26 //string(4) item2 27 28 $lPop = $redis->lPop('list-key');//从左端弹出 弹出后不存在于列表 29 //string(4) item 30 $lRange2 = $redis->lRange('list-key', 0, -1); //取出指定范围 31 //array(2) { [0]=> string(5) item2 [1]=> string(5) item3 } 32 33 //sadd 34 35 $redis->sAdd('set-key','item'); 36 $redis->sAdd('set-key','item2'); 37 $redis->sAdd('set-key','item3'); 38 $redis->sAdd('set-key','item');//集合不允许 有同一个元素 否则会覆盖 39 $smembers = $redis->smembers('set-key');//获取所有元素 40 //array(3) { [0]=> string(5) item2 [1]=> string(5) item3 [2]=> string(4) item } 41 42 $sismember = $redis->sismember('set-key','item4');//检查一个元素是否存在集合中 43 //bool(false) 44 45 $srem = $redis->srem('set-key','item2');//移除集合中的元素 46 //int(1) 返回成功的个数 47 48 49 //hash 50 51 $redis->hset('hash-key','sub-key1','value1');//int(1) 返回成功的个数 52 $redis->hset('hash-key','sub-key2','value1');//int(1) 返回成功的个数 53 $redis->hset('hash-key','sub-key1','value1');//int(0) 已存在 54 $hgetall = $redis->hgetall('hash-key'); 55 //array(2) { [sub-key1]=> string(6) value2 [sub-key2]=> string(6) value1 } 56 57 $redis->hdel('hash-key','sub-key2');//int(1) 返回成功的个数 58 $redis->hdel('hash-key','sub-key2');//int(0) 不存在返回0 59 60 $hget = $redis->hget('hash-key','sub-key1'); 61 //string(6) value1 62 $hgetall2 = $redis->hgetall('hash-key'); 63 //array(1) { [sub-key1]=> string(6) value1 } 64 65 66 67 //zset 68 69 $redis->zadd('zset-key',728,'member1');//int(1) 返回成功的个数 70 $redis->zadd('zset-key',982,'member0');//int(1) 返回成功的个数 71 $redis->zadd('zset-key',982,'member0');//int(0) 已存在 72 $zrange = $redis->zrange('zset-key',0,1,'withscores'); 73 //array(2) { [member1]=> float(728) [member0]=> float(982) } 74 75 ?