This repository was archived by the owner on Sep 26, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathJavaSE总结与 select 语句.sql
94 lines (70 loc) · 5.57 KB
/
JavaSE总结与 select 语句.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Java 和算法汇总:
1.基本语法;
2.面向对象:类、对象、属性、方法、构造方法、封装、继承、多态、重写、重载、final、static、abstract、接口、抽象类;
3.常见的工具类:Object、String、StringBuilder、Date、BigDecimal
4.集合:Arrays、List、Set、Map、Queue、Deque、各种子类、Collections
数据结构:数组、队列、堆栈、链表、二叉树(平衡二叉树)、哈希表
平衡二叉树:从任意节点看,左子树和右子树的层数差的绝对值不大于1
5.网络、线程和 I/O 流:TCP/UDP 网络编程代码、线程的实现方法(Runnable、Callable、Thread)、线程同步(同步关键字 synchronized 和 java.util.concurrent.locks 包)、互斥锁和读写锁、I/O 和 NIO、
互斥锁:所有线程都排斥,互相锁定,只能同时执行一个线程;
读写锁:目前主流,分两把锁,读锁和写锁,只读线程使用读锁,写线程使用写锁。读锁是共享锁,就是所有的读线程不受影响,都可以一起读数据,而锁定了写线程;写锁就是互斥锁,其他线程被锁定。
6.了解反射,能动态编程。设计原则和设计模式。开闭原则(OCP)最重要。设计模式就是对特定问题的固定解决方案。必定要会的设计模式:单例模式、工厂模式、抽象工厂等。
UML — 统一建模语言,用于 OOAD(面向对象的分析和设计)
7.算法:
排序五种 —— 冒泡、选择、插入、快排、归并
二分查找 —— 必须有序,才能二分查找
归并排序 —— 两个或者多个有序的数组合并成一个大数组,要求大数组有序
数据库
数据的存储是程序猿必须面对的问题,在程序中,数据以变量的形式存入内存。内存中的数据没有持久性,关机后就消失了。数据需要持久化(永久保存),解决方案: 文件和数据库。数据库是更专业的数据存储方案。文件中的数据处理需要程序员从头开始写代码,各种处理都要自己写。数据库是更好的,因为数据库除了能存取数据之外,还提供了很多额外的数据处理功能。
目前数据基本都存在数据库中。
常见的数据库:
Oracle Oracle 公司(甲骨文)
DB2 IBM 公司
SQL Server 微软公司
MySql Oracle 公司
数据库的基本概念:
表、记录、字段
表示关系型数据库中数据存储的单位,数据必须放入表中。建表时必须指定字段。
数据库的操作常见的方式就是:s(结构)q(查询)l(语言)语句(结构化查询语言),数据库本身与编程语言无关,是通用型的技术。sqllite 是嵌入式开发的数据库语言
sql语句分为五大类
1.select 查询语句 --查询数据
2.DML 数据操作语句 --增删改数据(也包括Merge)
3.事务处理语句 --DML默认不生效,只有事务处理以后才能真正生效。
4.DDL 数据定义语句 -- 建表/修改表结构/删除表,建其它数据库对象。
5.DCL 数据控制语句 -- 控制各种权限,Oracle各种操作都有权限。DBA 管理员的事情。
DBA 数据库管理员, 负责整个数据库的管理,很多事情程序员交给DBA管理
服务器 是运维管理
Oracle的特色:Oracle可以有多用户,每个用户都有自己的数据空间,叫用户方案。每个方案中表名不可以重复,但不同的方案可以用相同的表名。理论上,表名应该是 方案名.表名,但一般都是单用户,所以可以省略用户名。
sql语句就是一堆命令,是行业的标准。所有数据库都支持sql语句(有细微的差别)。
SQL语句 不区分大小写,除了''和 ""中。
表中字段常见的数据类型三种:
1.数值型(包括整数和小数)
number(n) 最多n位整数
number(n,m)最多n位小数,包括小数点后面的m位
2.文本型(字符窜)
char(n) --定场字符窜(n位),不足的部分不空格 。效率高
varchar2(n)--变长字符窜,最多n位,不足部分就没有
3.日期型
date --包括7部分 :世纪/年/月/日/时/分/秒
Select语句:
SQL最复杂的语句 ,各种子句、多表连接、各种函数、分组查询、子查询。
select 字段名 form 表名; -- -查询指定表的指定字段
select empno,ename,'&'||sal*12 yearsal from emp; --分号代表sql语句结束,不是sql的组成部分。
select * from emp; --*代表所有的字段。
desc emp;
select sal "yearsal" from emp; 别名可以改变现实效果 sal后面直接加英文或者其他的
SQL语句中,字符窜的字面值用''括起来。 字符窜的链接||符号。
'的特殊性
'''
select 'number'empno,ename||'''','&'||sal*12 yearsal from emp;
空值的处理(nvl函数)
空值就是数据为空,空值可以对应多种类型,因此,空值不是0,也不是'',也不是空日期。
文本连接时,空值等同于没有做链接(||'')。
算数运算时,含有空值就不用算,结果为空值。
select ename,sal,comm from emp;
select ename,sal+comm from emp; --月收入,包括提成
nvl 函数专业解决空值问题,nvl(可能为空的字段,如果为空的默认值)
select ename,sal+nvl(comm,0) from emp; nvl函数就可以解决空值全部没有参数的问题
过滤重复数据
select distinct deptno from emp; 查看有员工的部门编号
distinct(过滤重复的数据)