目录

1)了解oracle背景,概念和特点

2)掌握oracleSQL对单表各种查询操作

3)掌握oracleSQL中函数的使用

4)掌握数值型number,字符串型varchar2,日期型date,条件判断函数的用法

一、oracle概述

 (1)了解一些关于数据库的概念

数据:在数据库领域看来,数据是存储的基本单位,包含文本,图片,视频,音频

数据库:就是数据仓库,存储数据的地方,特指计算机设备中的硬盘,以二进制压缩文本的形式存放,该文件不能直接操作,必须由各数据库公司提供的工具方可操作,该文件的格式是每个数据库公司内部定义的,不是统一规则。

数据库对象:在Oracle中,例如:表,视图,索引,函数,过程,触发器。。。

关系型数据库:(对应高级的对象型数据库)简单的说,以行列结构的形式,将数据库中的信息表示出来的对象,即二维表,常见流行的关系型数据库:Oracle&MySQL/Oracle-->DB2/IBM--->SQLServer/Microsoft-->。。。

(2)了解oracle11g背景

(3)oracle数据库服务器由二部份组成

(A)实例:理解为对象,看不见的

(B)数据库:理解为类,看得见的,E:\app\Administrator\oradata\orcl\*.DBF

(4)oracle服务器与orcl数据库的关系

一个oracle数据库服务器中包括多个数据库,例如:orcl,orm,oa,bbs,tax,erp等等

在E:\oracleDB\oradata\目录下,有多少个文件夹,就有多少个数据库,例如:orcl文件夹=orcl数据库

我们向数据库中存储的所有数据库,最终都会存放在对应库的*.DBF文件中,以二进制压缩形式存放

在oracle服务器中创建数据库:参见《在oracle服务器中创建数据库.JPG》

注意:我们在安装oracle时,已经创建好了一个数据库,默认名叫orcl,除非你当时改了数据库名字

(5)sqlplus和sqldeveloper,orcl实例,orcl数据库之间的关系

sqlplus是oracle11g自带的一个客户端黑屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库

sqldeveloper是oracle11g自带的一个客户端彩屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库

如果你觉得这二款客户端工具不喜欢,可以上网下载第三方的客户端工具

(6)理解失败转移和负载平衡概念【今天最后再看】

失败转移:一个群集中的某个oracle服务器坏掉,应该让该台oracle服务器上的用户转移到其它的几台oracle服务器上

这个过程对用户来说,无需知道

负载平衡:多个用户来并发访问时,集群内的oracle服务器共同承担用户并发访问的压力,但不一定是平均分配

上述二个概念,不光出现在数据库领域,也能出现在WEB服务器领域

(7)以sys超级用户名,dba角色,即超级管理员身份解锁scott方案/用户,并为scott设置一个密码为tiger

解锁用户:alter user scott/hr account unlock;

设置密码:alter user scott/hr identified by tiger/lion;

普通用户scott(12c以后没有了)

密码tiger

(8)使用客户端sqlplus工具进入与退出orcl数据库

------以超级管管理员角色进入

c:/>sqlplus / as sysdba

sql>exit

------以普通用户进入

c:/>sqlplus scott/tiger

sql>exit

声明:我们以普通用户的身份进入

二、JavaEE工程师,oracleSQL和oracle的关系

(1)第四代语言:SQL【结构化查询语言,面向关系的】

第一代:机器语言

第二代:汇编

第三代:C/C++/C#/Java/VB/...

第四代:SQL

将来。。。

(2)SQL92/【99】标准的四大分类

(A)DML(数据操纵语言):select,insert,update,delete

(B) DDL(数据定义语言):create table,alter table,drop table,truncate table  。。。

(C)DCL(数据控制语言):grant 权限 to scott,revoke 权限 from scott  。。。

(D)TCL(事务控制语言):commit,rollback,rollback to savepoint 。。。

(3)oracleSQL与SQL92/99的关系   

SQL92/99标准,访问任何关系型数据库的标准

oracleSQL语言,只访问Oracle数据库服务器的专用语言

(4)Java技术和oracleSQL的关系

JDBC-->使用OracleSQL语法-->Oracle服务器--->orcl数据库-->表-->记录

Hibernate-->使用OracleSQL语法-->Oracle服务器

MyBatis-->使用OracleSQL语法-->Oracle服务器

(5)声明:我们这四天时间,主要以在工作中【JavaEE工程师】角度,操作数据库【常用】功能

准备篇--------------------------------------------------

/*--以下代码是对emp表进行显示做设置col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
set pagesize 20;
col tname for a20;
set pagesize 80;--创建新表new_emp,复制emp表中的结构和数据到new_emp表中create table copy_emp
as
select * from emp;create table copy_copy_emp
as
select * from emp;*/

启动如下二个服务:【OracleServiceORCL(设置为手动启动)和OracleOraDb11g_home1TNSListener(设置为自动启动端口1521)】

类似于MySQL中的:use 数据库名,即use orcl;

即启动当前数据库名:orcl

select ------------------------------------------------------

使用password命令,为scott用户名修改新密码,以字母开头:

旧口令:tiger

新口令:abc123

再次输入新口令:abc123

退出sqlplus工具: exit

查询当前用户是谁:  show user;

查询scott用户下的所有对象,使用tab表,tab表每个用户都有: select * from tab;

设置显示的列宽(字符型varchar2、日期型date),10个宽度位,a表示字符型,大小写均可

column ename format a12;

column hiredate format a10;

设置显示的列宽(数值型number),9表示数字型,一个9表示一个数字位,四个9表示四个数字位,只能用9

column empno format 9999;

column mgr format 9999;

column sal format 9999;

column comm format 9999;

column deptno format 9999;

设置一页显示80个条记录的高度

set pagesize 80;

执行最近一次的SQL语句:注意不是命令

/

清屏,属于SQL*PLUS工具中的命令

host  cls;

查询emp表的结构

desc emp;

查询emp表的所有内容,*号表示通配符,表示该表中的所有字段,但*号不能和具体字段一起使用:    或 select empno,ename,sal,deptno from emp;

查询emp表的员工编号,姓名,工资,部门号,列名,大小写不敏感,但提倡大写

select empno "编号",ename "姓名",sal "工资",deptNO "部门号" FROM Emp;

查询emp表的不重复的工作

select distinct job from emp;

查询员工的编号,姓名,月薪,年薪(月薪*12)

select empno,ename,sal,sal*12 "年薪" from emp;

查询员工的编号,姓名,入职时间,月薪,年薪,年收入(年薪+奖金)

select empno "编号",ename"姓名",hiredate "入职时间",sal "月薪",sal*12 "年薪",sal*12+comm "年收入" from emp;

如果结果为null,在sqlplus客户端工具中,是不显示null这个值的

解决null的问题,使用NVL()函数,NVL(a,b)

如果a是NULL,用b替代;如果a是非NULL,就不用b替代,直接返回a的值\

select NVL(null,10) from emp;结果有14行记录

select NVL(null,10) from dual;结果有1行记录

select empno "编号",ename"姓名",hiredate "入职时间",sal "月薪",

sal*12 "年薪",sal*12+NVL(comm,0) "年收入" from emp;

注意:null与具体数字运算时,结果为null

使用列别名,查询员工的编号,姓名,月薪,年薪,年收入(年薪+奖金),AS大小写都可且可以省略AS,别名用双引号

select empno AS "编号",ename as "姓名",sal "月薪" from emp;

select empno AS 编号,ename as 姓名,sal 月薪 from emp;

区别

select empno AS "编号",ename as 姓名,sal "月    薪"  from emp;

不加双引号的别名不能有空格;加了双引号的别名可以有空格

要加只能加双引号,列名不能使用单引号, 因为oracle认为单引号是字符串型或日期型

使用dual哑表或者伪表,使用字符串连接符号||,输出"hello world",在oracle中from是必须写的。因此,select 'hello' || ' world' "结果" from dual;

使用sysdate,显示系统当前时间,在默认情况下,oracle只显示日期,而不显示时间,格式:26-4月-15,使用:select sysdate from dual;

使用字符串连接符号||,显示如下格式信息:****的薪水是****美元

select ename || '的薪水是' || sal || '美元'  from emp;

使用spool命令,保存SQL语句到硬盘文件e:/oracle-day01.sql,并创建sql文件

spool e:/oracle-day01.sql;

使用spool off命令,保存SQL语句到硬盘文件e:/oracle-day01.sql,并创建sql文件,结束语句: spool off;

使用@命令,将硬盘文件e:/crm.sql,读到orcl实例中,并执行文件中的sql语句

@ e:/crm.sql;

使用--符号,设置单行注释

--select * from emp;

使用/* */符号,设置多行注释

/*

select

*

from

emp;

*/

SQL语句的特点

1)是SQL92/99的ANSI官方标准,只要按照该标准来写,在任何的关系型数据库中都可以直接执行

2)SQL语句的关健字不能简写,例如:select,where,from

3)大小写不敏感,提倡大写

4)能够对表数据进行增删改查操作

5)必须以分号结束

6)通常称做语句

SQLPLUS命令的特点

1)是oracle自带的一款工具,在该工具中执行的命令叫SQLPLUS命令

2)SQLPLUS工具的命令中的关健字可以简写,也可以不简写,例如:col ename for a10;

3)大小写不敏感,提倡大写

4)不能够对表数据进行增删改查操作,只能完成显示格式控制,例如:设置显示列宽,清屏,记录执行结果

5)可以不用分号结束,也可以用分号结束,个人提倡不管SQL或SQLPLUS,都以分号结束

6)通常称做命令,是SQLPLUS工具中的命令

注意:SQLPLUS命令是SQLPLUS工具中特有的语句

单引号出现的地方如下:

1)字符串型,例如:'hello' || ' world'

2)日期型,例如'25-4月-15'

双引号出现的地方如下:

1)列别名,例如:sal*12 "年 薪",或 sal*12 年薪,个人提倡用""双引号作列别名

where -------------------------------------------------------

查询emp表中20号部门的员工信息

select * from emp where deptno = 20;

查询姓名是SMITH的员工,字符串使用'',内容大小写敏感

select * from emp where ename = 'SMITH';

总结:你所学过的技术中,哪些是大小写敏感,哪些是大小写不敏感

查询1980年12月17日入职的员工,注意oracle默认日期格式(DD-MON-RR表示2位的年份)

select * from emp where hiredate = '17-12月-80';

查询工资大于1500的员工

select * from emp where sal > 1500;

查询工资不等于1500的员工【!=或<>】

select * from emp where sal <> 1500;

查询薪水在1300到1600之间的员工,包括1300和1600

select * from emp where (sal>=1300) and (sal<=1600);

或 select * from emp where sal between 1300 and 1600;

查询薪水不在1300到1600之间的员工,不包括1300和1600

select * from emp where sal NOT between 1300 and 1600;

查询入职时间在"1981-2月-20"到"1982-1月-23"之间的员工

select * from emp where hiredate between '20-2月-81' and '23-1月-82';

注意:

1)对于数值型,小数值在前,大数值在后

2)对于日期型,小数值在前,大数值在后,即,年长值在前,年小值在后

查询20号或30号部门的员工,例如:根据ID号,选中的员工,批量删除

select * from emp where (deptno=20) or (deptno=30);

或 select * from emp where deptno in (30,20); 可倒序,可多个

查询不是20号或30号部门的员工

select * from emp where deptno NOT in (30,20);

查询姓名以大写字母S开头的员工,使用%表示0个,1个或多个字符

select * from emp where ename like 'S';等价 select * from emp where ename = 'S';  行不通

select * from emp where ename like 'S%';

注意:

凡是精确查询用=符号

凡是不精确查询用like符号,我们通常叫模糊查询

查询姓名以大写字母N结束的员工

select * from emp where ename like '%N';

查询姓名第一个字母是T,最后一个字母是R的员工

select * from emp where ename like 'T%R';

查询姓名是4个字符的员工,且第二个字符是I,使用_只能表示1个字符,不能表示0个或多个字符

select * from emp where ename like '_I__';

插入一条姓名为'T_IM'的员工,薪水1200

insert into emp(empno,ename) values(1111,'T_IM');

查询员工姓名中含有'_'的员工,使用\转义符,让其后的字符回归本来意思

【like '%\_%' escape '\'】,转移字符可设置可谓字幕或数字。

select * from emp where ename like '%\_%' escape '\';

插入一个姓名叫'的员工

insert into emp(empno,ename) values(2222,'''');  4个单引,其中2个转义成一个单引

插入一个姓名叫''的员工

insert into emp(empno,ename) values(2222,'''''');  6个单引,其中4个转义成2个单引

查询所有员工信息,使用%或%%

select * from emp;

select * from emp where ename like '% ';

select * from emp where ename like '%_%';

查询佣金为null的员工

select * from emp where comm is null;

注意:null不能参数精确=运算

null能参数number/date/varchar2类型运算

查询佣金为非null的员工

select * from emp where comm is not null;

查询无佣金且工资大于1500的员工

select *  from emp  where (comm is null) and (sal>1500);

查询工资是1500或3000或5000的员工 //扯犊子,能达到要求,但是不精确

select *  from emp  where sal in (4000,10000,1500,3,300,3000,5000);

查询职位是"MANAGER"或职位不是"ANALYST"的员工(方式一,使用!=或<>)

select * from emp where (job='MANAGER') or (job<>'ANALYST'); //性能较好点

查询职位是"MANAGER"或职位不是"ANALYST"的员工(方式二,使用not)

select * from emp where (job='MANAGER') or (not(job='ANALYST'));  //算两次

order by -------------------------------------------------------

查询员工信息(编号,姓名,月薪,年薪),按月薪升序排序,默认升序,如果月薪相同,按oracle内置的校验规则排序,如果没有order是按录入的顺序。

select empno,ename,sal,sal*12  from emp order by sal asc;  可省

查询员工信息(编号,姓名,月薪,年薪),按月薪降序排序

select empno,ename,sal,sal*12  from emp order by sal desc;

查询员工信息,按入职日期降序排序,使用列名

select empno,ename,sal,hiredate,sal*12 "年薪"  from emp order by hiredate desc;

order by后面可以跟列名、别名、表达式、列号(从1开始,在select子句中的列号)

列名:

select empno,ename,sal,hiredate,sal*12 "年薪"  from emp order by hiredate desc;

别名:

select empno,ename,sal,hiredate,sal*12 "年薪"  from emp order by "年薪" desc;

表达式:

select empno,ename,sal,hiredate,sal*12 "年薪"  from emp order by sal*12 desc;

列号,从1开始:

select empno,ename,sal,hiredate,sal*12 "年薪"  from emp  order by 5 desc;

查询员工信息,按佣金升序或降序排列,null值看成最大值

select * from emp order by comm desc;

查询员工信息,对有佣金的员工,按佣金降序排列,当order by 和 where 同时出现时,order by 在最后

select * from emp  where comm is not null  order by comm desc;

查询员工信息,先按工资降序排列,相同工资的员工再按入职时间降序排列

select * from emp order by sal desc,hiredate desc;

select * from emp order by sal desc,hiredate asc;

注意:只有当sal相同的情况下,hiredate排序才有作用

查询20号部门,且工资大于1500,按入职时间降序排列

select * from emp where (deptno=20) and (sal>1500) order by hiredate desc;

select * from emp where deptno in (10,20,50,’30’,'a'); // 只有‘30’可以隐式转换成数字

单行函数------------------------------------------------------

单行函数:只有一个参数输入,只有一个结果输出

多行函数或分组函数:可有多个参数输入,只有一个结果输出

测试lower/upper/initcap函数,使用dual哑表

select lower('www.BAIdu.COM') from dual;

select upper('www.BAIdu.COM') from dual;

select initcap('www.BAIdu.COM') from dual;

测试concat/substr函数,从1开始,表示字符,不论中英文

select concat('hello','你好') from dual;正确

select concat('hello','你好','世界') from dual;错误

select 'hello' || '你好' || '世界' from dual;正确

select concat('hello',concat('你好','世界')) from dual;正确

select substr('hello你好',5,3) from dual;

5表示从第几个字符开始算,第一个字符为1,中英文统一处理

3表示连续取几个字符

测试length/lengthb函数,编码方式为UTF8/GBK(赵君),一个中文占3/2个字节长度,一个英文一个字节

select length('hello你好') from dual;

select lengthb('hello你好') from dual;

测试instr/lpad/rpad函数,从左向右找第一次出现的位置,从1开始

select instr('helloworld','o') from dual;

注意:找不到返回0

大小写敏感

select LPAD('hello',10,'#') from dual;

select RPAD('hello',10,'#') from dual;

测试trim/replace函数

select trim(' ' from '  he  ll                ') from dual;

select replace('hello','l','L') from dual;

测试round/trunc/mod函数作用于数值型

select round(3.1415,3) from dual;

select trunc(3.1415,3) from dual;

select mod(10,3) from dual;

当前日期:sysdate = 26-4月-15

测试round作用于日期型(month)

select round(sysdate,'month') from dual;

测试round作用于日期型(year)

select round(sysdate,'year') from dual;

测试trunc作用于日期型(month)

select trunc(sysdate,'month') from dual;

测试trunc作用于日期型(year)

select trunc(sysdate,'year') from dual;

显示昨天,今天,明天的日期,日期类型 +- 数值 = 日期类型

select sysdate-1 "昨天",sysdate "今天",sysdate+1 "明天" from dual;

以年和月形式显示员工近似工龄,日期-日期=数值,假设:一年以365天计算,一月以30天计算

select ename "姓名",round(sysdate-hiredate,0)/365 "天数" from emp;

使用months_between函数,精确计算到年底还有多少个月

select months_between('31-12月-15',sysdate) from dual;

使用months_between函数,以精确月形式显示员工工龄

select ename "姓名",months_between(sysdate,hiredate) "精确月工龄" from emp;

测试add_months函数,下个月今天是多少号//30,31号没有的取最后一天

select add_months(sysdate,1) from dual;

测试add_months函数,上个月今天是多少号

select add_months(sysdate,-1) from dual;

测试next_day函数,从今天开始算,下一个星期三是多少号【中文平台】

select next_day(sysdate,'星期三') from dual;

测试next_day函数,从今天开始算,下下一个星期三是多少号【中文平台】

select next_day(next_day(sysdate,'星期三'),'星期三') from dual;

测试next_day函数,从今天开始算,下一个星期三的下一个星期日是多少号【中文平台】

select next_day(next_day(sysdate,'星期三'),'星期日') from dual;

测试last_day函数,本月最后一天是多少号

select last_day(sysdate) from dual;

测试last_day函数,本月倒数第二天是多少号

select last_day(sysdate)-1 from dual;

测试last_day函数,下一个月最后一天是多少号

select last_day(add_months(sysdate,1)) from dual;

测试last_day函数,上一个月最后一天是多少号

select last_day(add_months(sysdate,-1)) from dual;

注意:

1)日期-日期=天数

2)日期+-天数=日期

三大类型转换-----------------------------------------------

oracle中三大类型(数字、日期、字符串)与隐式数据类型转换

(1)varchar2变长(only长变短)/char定长<-->number,例如:'123'->123

(2)varchar2/char<-->date,例如:'25-4月-15'->'25-4月-15'

(3)number---->varchar2/char,例如:123->'123'

(4)date------>varchar2/char,例如:'25-4月-15'->'25-4月-15'

oracle如何隐式转换:

1)=号二边的类型是否相同

2)如果=号二边的类型不同,尝试的去做转换

3)在转换时,要确保合法合理,否则转换会失败,例如:12月不会有32天,一年中不会有13月

查询1980年12月17日入职的员工(方式一:日期隐示式转换varchar2/char-->date)

select * from emp where hiredate = '17-12月-80';

使用to_char(日期,'格 "常量" 式')函数将日期转成字符串,显示如下格式:

2015 年 04 月 25 日 星期六

select to_char(sysdate,'yyyy" 年 "mm" 月 "dd" 日 "day') from dual;

使用to_char(日期,'格式')函数将日期转成字符串,显示如格式:

2015-04-25今天是星期六 15:15:15

select to_char(sysdate,'yyyy-mm-dd"今天是"day hh24:mi:ss') from dual;

或 select to_char(sysdate,'yyyy-mm-dd"今天是"day HH12:MI:SS AM') from dual;

使用to_char(数值,'格式')函数将数值转成字符串,显示如下格式:$1,234

select to_char(1234,'$9,999') from dual; //必须是9

使用to_char(数值,'格式')函数将数值转成字符串,显示如下格式:¥1,234

select to_char(1234,'L9,999') from dual;

使用to_date('字符串','格式')函数,查询1980年12月17日入职的员工

(方式二:日期显式转换)

select * from emp where hiredate = to_date('1980年12月17日','yyyy"年"mm"月"dd"日"');

或select * from emp where hiredate = to_date('1980#12#17','yyyy"#"mm"#"dd');

或select * from emp where hiredate = to_date('1980-12-17','yyyy-mm-dd');

使用to_number('字符串')函数将字符串‘123’转成数字123

select to_number('123') from dual;

注意:

select '123' + 123 from dual; 246(varchar2/char ----> number)

select '123' || 123 from dual; 123123 (number---->varchar2/char)

使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date)

通用函数:参数类型可以是number或varchar2或date类型

使用NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,统计员工年收入

使用NULLIF(a,b)通用函数,在类型一致的情况下,如果a与b相同,返回NULL,否则返回a,比较10和10.0是否相同

使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

case 字段

when 条件 then 表达式1

when 条件 then 表达式2

else 表达式n

end

使用oracle专用语法中的decode()函数,职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

decode(字段,条件1,表达式1,条件2,表达式2,...表达式n)

单引号出现的地方如下:

1)字符串,例如:'hello'

2)日期型,例如:'17-12月-80'

3)to_char/to_date(日期,'YYYY-MM-DD HH24:MI:SS')

双引号出现的地方如下:

1)列别名,例如:select ename "姓 名" from emp

2)to_char/to_date(日期,'YYYY"年"MM"月"DD"日" HH24:MI:SS')

Oracle知识点总结(一)相关推荐

  1. oracle(知识点速查)

    Oracle数据库速查知识文档 项目介绍 该项目记录了Oracle相关的速查知识汇总,主要涉及了oracle基础使用.SQL基础.oracle函数.oracle触发器.oracle高级查询.PL/SQ ...

  2. oracle知识点总结

    Oracle 9i  internet Oracle 10g  grid(网格存储) Oracle 11g 一.SQL语言的分类 SQL语言共分为四大类:数据查询语言DQL(SELECT),数据操纵语 ...

  3. mysql、oracle知识点总结

    下面是以前上学那会儿做的笔记,没有好好的整理,凑合着看吧,对新手还是挺有用的 select 标识 选择哪些列. from  标识从哪个表中选择. as 列的别名可以省略,别名使用双引号,可以在别名中包 ...

  4. oracle数据库基础知识总结,oracle知识点总结(一)

    关键字: oracle,database Oracle SQL(Oracle 9i 9.2.0.1.0) 一.DataBase 保存数据,以表的形式表现数据 二.SQL SQL(structure q ...

  5. oracle 知识点

    select * from dual; create tablespace test_sapce datafile 'E:\YC59\space\AAAA' size 10M; alter table ...

  6. Oracle知识点总结(三)

    目录 1)掌握增.删.改数据和事务操作 2)掌握[视图]和同义词 3)掌握[序列]和索引 4)了解有关用户和权限的控制 ---------准备篇------ col ename for a10; co ...

  7. Oracle知识点整理

    一.oracle数据库安装 (一)如何搭建Oracle使用环境 1.vmware安装 利用keygen.exe获取激活码 2.在vmware安装系统 (1)使用Pe系统ISO文件启动,制作PE系统访问 ...

  8. Oracle知识点笔记

    一.入门基础 1.1需要启动的服务: OracleServiceORCL oracle数据库服务 OracleOraDb11g_home1TNSListener //oracle监听服务 1.2关于O ...

  9. Oracle知识点(一)--创建表

    一.创建一张表 创表语句: create table 表名( 列名1 数据类型[长度] [列名2 数据类型[长度] ] [列名3 数据类型[长度] ] - ) 例:创建一个学生表Stu,要求有id.n ...

最新文章

  1. 注意设置httpclient连接数
  2. BC:带你温习并解读《中国区块链技术和应用发展白皮书》—区块链典型应用场景
  3. 洛谷 P1202 模拟 - 黑色星期五 Friday the Thirteenth
  4. windows 改变文件大小 函数_手写 bind call apply 方法 与 实现节流防抖函数
  5. Java虚拟机和Dalvik(android)虚拟机的区别
  6. think php 3.3.3看云,入口文件 · ThinkPHP3.2.3完全开发手册 · 看云
  7. Android-01:扫描SD卡以.xxx结尾的文件
  8. BZOJ 1041 圆上的整点 数学
  9. samba - 为 UNIX 实现的 Windows SMB/CIFS 文件服务器
  10. iOS底层探索之KVO(四)—自定义KVO
  11. C程序设计--排序(冒泡、选择、插入)--冒泡
  12. Word表格中的文字垂直、纵向居中
  13. 基于Paragraph-BERT-CRF的科技论文摘要语步功能信息识别方法研究
  14. @Inherited
  15. ROS入门、ROS完整教程
  16. 口红会染唇是什么意思_唇釉染唇是什么意思
  17. Spring Boot配置Quartz定时任务
  18. Java 去掉字符串中的换行符回车符等
  19. “智能”人工 身高计算器
  20. sudo or gosu

热门文章

  1. Go 基于原生的HTTP请求封装
  2. 【JMeter】总结 jmeter 中各种函数
  3. 大数据项目(BP神经网络)
  4. 美标 三段式、四段式 耳机头 以旧换新
  5. 中科大科学岛计算机复试,2020年中国科学技术大学研究生院科学岛分院复试办法及复试内容...
  6. 计算2个拼音的相似度 PHP版本
  7. leetcode(7): easy2
  8. 2019-1-5-问答-产品经理有哪些细分领域,对应特点是什么?
  9. linux 五种 IO 模型
  10. linux之if [ $? -ne 0 ];