自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (13)
  • 收藏
  • 关注

原创 JAVA并发编程基础-重排序

重排序在执行程序时为了提高性能,编译器和处理器常常会对指令做重排序。这些重排序都可能导致多线程程序出现内存可见性问题。重排序类型 编译器优化的重排序:编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 指令级并行的重排序:现代处理器采用了指令级并行技术(ILP)来将多条指令重叠执行。如果不存在数据依赖性,处理器可以改变语句对应及其执行的执行顺序。 内存系统的重排序:由于处理器使用缓存使用缓存和读/写缓冲区,这使得夹杂和存储操作看上去可能实在乱序执行。 J

2021-04-13 15:12:42 156 1

原创 JAVA并发编程基础

并发编程中的关键问题 线程之间如何通信 共享内存的并发模型中:线程之间通过读写内存中的公共状态来隐式进行通信 信息传递的并发模型中:线程之间没有公共状态,线程间通过明确的发送信息方式来显性进行通信 线程之间如何同步 共享内存的并发模型中:同步是显性进行的,程序员通过显式指定某个方法或代码在线程之间互斥执行 信息传递的并发模型中:由于信息的阿松必须在消息的接收之前,因此同步是隐式进行的 线程: 并发执行的活动实体通信:

2021-04-13 11:25:48 126

原创 MySql常用日期的加减

MySql常用日期的加减简单的日期加减法SELECT '2017-01-01'+ INTERVAL '1' YEAR SELECT '2017-01-01'+ INTERVAL '1' MONTH SELECT '2017-01-01'+ INTERVAL '1' DAY SELECT '2017-01-01'+ INTERVAL '-1' YEAR SELECT '2017-...

2018-10-24 14:11:16 309

原创 JAVA 基本数据类型

    java是一种强类型的编程语言,也就是说我们需要为每一个变量都声明一种类型。java为我们的提供了8种基本数据类型(primitive type);包含四种整形(byte,short,int,long)、两种浮点型(float,double)、一种用于表示Unicode 编码的字符单元的字符类型 char 和 一 种用于表示真值的 boolean 类型。整形:    整形用以表达没...

2018-09-06 18:01:44 301

原创 Stream 的常用操作

Intermediate :一个流可以后面跟随零个或多个 intermediate 操作。其目的主要是打开流,做出某种程度的数据映射/过滤,然后返回一个新的流,交给下一个操作使用。这类操作都是惰性化的(lazy),就是说,仅仅调用到这类方法,并没有真正开始流的遍历。 map (mapToInt, flatMap 等)、 filter、 distinct、 sorted、 peek、 l...

2018-09-05 15:30:48 633

原创 Stream转为其他数据结构

Stream<String> stream = Stream.of("a","b", "c");//转为数组String[] strArray1 = stream.toArray(String[]::new);// 转为 Collection 的实现类List<String> list1 = stream.collect(Collectors.toList(...

2018-09-05 15:29:14 1000

原创 Stream 的常用构建方式

1 、通过其本身的静态方法构建//01 通过Stream 自身的静态方法 of 构建Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5); 2 、通过数组进行构建//02 通过数组进行构建//本质通过Stream 自身的静态方法 of 构建String [] strArray = new S...

2018-09-05 15:28:10 444

原创 lambda的递归

package testLambda;import java.util.function.IntUnaryOperator;/** * lambda的递归 * @author P H * @date 2018/8/31 15:48 */public class LambdaRecursion { //IntUnaryOperator 表示对单个int值的操作数的操作...

2018-09-05 15:24:40 1094

原创 常用lamdba函数式接口

/** * Interface ToIntFunction<T> * 计算 int 值的函数可以用来拆包 * ToIntFunction<T> * ToLongFunction<T> * ToDoubleFunction<T> 这三个方法作用类似,不再赘述 */ToIntFunction<Integer> toIntFun...

2018-09-05 15:23:08 261

原创 Java内置的四大核心函数式接口

java提供的函数式接口放置在java.util.function 下  函数式接口 参数类型 返回类型 用途 Consumer<T> 消费型接口 T void 对类型为T的对象应用操作,包含方法 : ...

2018-09-05 15:21:46 713

原创 lambda表达式基本原理

一般来说,任何lambda表达式都可以看做声明在函数式接口中的单个抽象方法的实现1. lambda的使用需要 “函数式接口” 的支持函数式接口:接口中只有一个抽象方法的接口,称为函数式接口,函数式接口(Functional Interface):就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为lambda表达式。函数式接口可以现有的函...

2018-09-05 15:20:47 1291 1

原创 lambda表达式基本语法

1 、无参数,无返回值() -> System.out.println("hello World")Runnable hello_world = () -> System.out.println("hello World");hello_world.run(); //控制台输出hello World2 、有参数,无返回值(x) -> System.out.pr...

2018-09-05 15:18:49 678

原创 jQuery中的层次选择器

用于通过DOM元素之间的层次关系来获取特定元素,如后代元素、子元素、相邻元素和兄弟元素等$("ancestor,descendant")获取ancestor元素中所有descendant(后代)元素,返回一个集合元素。$("div span") //选取里所有元素$("parent,child")获取parent元素下child(子)元素,返回一个集合元素$(

2017-12-12 15:58:23 369

原创 jQuery对象转DOM对象的两种处理方法

1.[index]jQuery对象是一个数组对象,可以通过其[index]来得到相应的DOM对象var $demo=$("#demo"); //jQuery对象var demo=$demo[0]; //DOM对象2.get(index)由jQuery本身提供的方法,通过get(index)方法得到相应DOM对象var $demo=$("#demo");

2017-12-12 15:08:14 536

原创 Oracle 批量插入数据

多表的insert语句语法INSERT [ALL] [conditional_insert_clause][insert_into_clause values_clause] (subquery)conditional_insert_clause [ALL] [FIRST][WHEN condition THEN] [insert_into_clause values_clause

2017-11-17 17:00:09 15717

原创 Oracle 分级查询

树形结构的数据:MGR=EMPNO    树结构的数据存放在表中,数据之间的层次联系即父子联系,通过表中的列与列间的联系来描述,如EMP表中的EMPNO和MGR。EMPNO示意该雇员的编号,MGR示意领导该雇员的人的编号,即子节点的MGR值等于父节点的EMPNO值。在表中的每一行中都有一个示意父节点的MGR(除根节点外),通过每个节点的父节点,就能够确定整个树结构。在Oracle数

2017-11-17 15:27:52 1167

原创 Oracle集合运算

集合运算:组合两个或多个部分查询的结果到一个结果中。包含集合运算的查询称为复合查询。 并集:UNION(联合)SQL> select * from emp where deptno=10 2 union 3 select * from emp where deptno=20; EMPNO ENAME JOB

2017-11-15 13:42:40 293

原创 Oracle常用单行函数

单行函数:每处理一条记录返回一条结果.字符函数LOWER    :    转小写SQL> select lower(ename) from emp;LOWER(ENAME)--------------------smithallenwardUPPER   :    转大写SQL> select upper(ename) from emp;UPPER(ENAM

2017-11-15 11:33:53 1164

原创 Oracle修改表结构

ALERT TABLE 语句的作用追加新的列修改现有的列为新追加的列定义默认值删除一个列语法ALTER TABLE tableADD (column datatype [DEFAULT expr][, column datatype]...);ALTER TABLE tableMODIFY (column datatype [DEFAULT expr][, column

2017-11-14 15:00:11 410

原创 Oracle创建和管理表

表:基本的数据集合,有行和列组成。命名规则表名和列名:必须以字母开头必须在1-30个字符之间必须只能包含A-Z,a-z,0-9,_,$和#必须不能和用户定义的其他对象重名必须不能使Oracle的保留字CREATE TABLE 语句必须具备条件:CREATE TABLE 权限储存空间CREATE TABLE [schema.]table(column datat

2017-11-14 11:54:04 281

原创 日期格式RR和YY的区别

RR日期型格式的算法为:1.如果当前年份的最后两位数(即不包括世纪)为0—49,并且指定的年份的最后两位数也为0—49,则返回的日期在本世纪。2.如果当前年份的最后两位数(即不包括世纪)为0—49,并且指定的年份的最后两位数为50—99,则返回的日期在上一世纪。3.如果当前年份的最后两位数(即不包括世纪)为50—99,并且指定的年份的最后两位数为0—49,则返回的日期在下一世纪。4

2017-11-13 17:32:00 2859

原创 JAVA设计模式-工厂模式

核心本质1. 实例化对象:用工厂方法代替new操作2. 将选择实现类、创建对象统一管理和控制。从而将调用者和我们的实现类解耦。分类:简单工厂模式:用来生产同一等级结构中的任意产品(对于新增加的产品,需要修改已有代码)工厂方法模式:用来生产同一等级结构中的固定产品(支持增加任意产品)抽象工厂模式:用于生产不同产品族的所有产品(支持增加产品族,对于新增加的产品无能为力)

2017-10-10 20:58:44 247

原创 JAVA设计模式-单例模式(Singleton)的五种实现方式

单例(Singleton)模式 也叫单态模式我在另一篇文章中已经介绍过了过关于单例模式的简单描述和优缺点,感兴趣的朋友可以点击下面的连接,在这里我就不在赘述。单例模式(Singleton)应用场景和优缺点本篇文章主要介绍单例模式常见的5种实现方式,分别是:懒汉式、饿汉式、双重检测锁式、静态内部类式和枚举单例。下面我将为大家逐个介绍他们的特点和实现方式。饿汉式(线

2017-10-10 14:42:02 391

原创 改善数据库性能的几点建议

1.提高SQL语句的可读性:虽然这并不能直接影响数据库的性能,数据库并不在意你的SQL语句的外观是否整洁,但当我们用调整的眼光去观察一个SQL语句时,SQL语句的可读性就是我们将要考虑的第一个问题,试问如果我们连语句都很难看清那么我们又该如果判断该语句是否正确甚至是对该语句进行修改和优化呢?所以,为了能让我们的SQL语句能拥有更好的可读性。我有以下几点建议提供给大家。让每个子句都从新的

2017-10-03 15:09:14 829

原创 DQL-数据查询

-- DQL(*****)(Data Query Language):数据查询语言,用来查询记录(数据)-- 查询语句书写顺序:select – from- where- group by- having- order by-limit-- 查询语句执行顺序:from - where -group by - having - select - order by-limit -- 查询所

2017-10-03 14:48:40 288

原创 DDL-操作数据库

-- DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;-- 操作数据库-- 删除数据库drop database mydatabase;-- 创建数据库create database mydatabase;CREATE DATABASE mydatabase1 CHARACTER SET gbk;CREATE D

2017-10-03 14:43:45 396

原创 DDL-操作数据表

-- DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;-- 操作数据表-- 切换数据库use mydatabase;-- 删除数据表drop table t1;create table t1(id int)charset utf8;desc t1;-- 追加主键-- 直接追加alter table t1

2017-10-03 14:42:29 377

原创 MySQL日期的加减

-- MySQL日期的加减-- 简单的日期加减法SELECT '2017-01-01'+ INTERVAL '1' YEAR SELECT '2017-01-01'+ INTERVAL '1' MONTH SELECT '2017-01-01'+ INTERVAL '1' DAY SELECT '2017-01-01'+ INTERVAL '-1' YEAR SELECT '

2017-10-03 11:15:09 479

原创 SQL常用字符函数

-- 字符函数主要用于对字段里的字符串或值进行比较、连接、搜索、提取片段等-- 串接(join+smith=joinsmith)-- concat(colunm_name,[ '', ] column_name[column_name])SELECT CONCAT('join','smith')-- 用逗号隔开(1,二狗蛋)SELECT CONCAT(NO,',',NAME)FROM

2017-10-02 20:51:19 410

原创 DML-数据操作(增删改)

-- DML(**)(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)-- DML是对表中的数据进行增、删、改的操作。-- 插入操作:INSERT(insert into 表名 values(值列表)[,(值列表)] ; )insert into t1 values(01,'二狗');-- 选择插入insert into t1 (uid

2017-10-02 16:10:08 505

原创 SQL完整性约束

完整性约束用于确定关系型数据库中数据的准确性和唯一性,在关系型数据库中,数据的完整性是通过引用完整性的概念实现的,而引用完整性具有如下的类型。一.主键约束主键约束是数据表一个或多个用以实现记录唯一性的字段,虽然使用中通常由一个字段标识,但是也可以使用多个字段组成(联合主键)。 主键的作用在于表中的每条记录都具有一个唯一的值,如一个人的身份证号,具有唯一性。用于作为某人的识别标志。创建主键的三种

2017-10-02 15:55:11 2931

原创 DDL-数据表的创建

-- DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;-- 操作数据表,数据表的创建-- 切换数据库use mydatabase;-- 删除数据表drop table test;-- CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件],-- 属性名 数据类型 [完整性约束条件],--

2017-10-02 14:52:19 593

原创 ArrayList、LinkedList和Vector的异同点

一、相同点首先我们要知道,不管是ArrayList,LinkedList还是Vestor他们都是java.util.List接口的实现类。换而言之他们三个就是具有List特征的集合,List集合的特点就是他们三个的相同点。我们通过查询API可以的到List接口的描述:有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的

2017-09-20 19:23:37 417

原创 单例模式(Singleton)应用场景和优缺点

单例(Singleton)模式 也叫单态模式概述:单例(Singleton)模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从另一个角度来说,Singleton模式其实也是一种职

2017-09-08 19:22:55 18735

计算机程序设计艺术(1-3卷)(PDF版)

本书作者D. E. Knuth是在计算机学界十分著名的学者,在本领域享有很高权威和盛名,他的这部著作是无数计算机专业人员的学习教材和参考读物,也是许多专业研究工作者经常阅读的经典。本书已被翻译为几十种文字在世界各地出版,英文原版书在国外已经是第11次印刷。 该书1999年底被American Scientist列为20世纪最佳12部学术专著之一(与狄拉克的量子力学、爱因斯坦的相对论、曼德布罗特的分形论、鲍林的化学键、罗素和怀特海德的数学原理、冯诺伊曼和摩根斯坦的博弈论、维纳的控制论、伍德沃和霍夫曼的轨道对称性、费曼的量子电动力学等科学史上的经典著作并列)。 本书结合大量数学知识,分析不同应用领域中的各种算法,研究算法的复杂性,即算法的时间、空间效率,探讨各种适用算法等,其理论和实践价值得到了全世界计算机工作者的公认。书中引入的许多术语、得到的许多结论都变成了计算机领域的标准术语和被广泛引用的结果。另外,作者对有关领域的科学发展史也有深入研究,因此本书介绍众多研究成果的同时,也对其历史渊源和发展过程做了很好的介绍,这种特色在全球科学著作中是不多见的。 作者高德纳几十年来对此书倾注的心血难以计量,他力求随着有关领域的最新进展不断更新内容,力求随着原版书的不断重印令其技术的、史实的和出版方面的错误或不当减到极少(他为了能够满意地随时修订自己的著作,发明了计算机排版系统TEX和字形设计系统METAFONT,无偿公诸于世,使全世界的科技文献作者普遍受惠),现在其最新印次已很难找到错误,作者承诺以2.56美元兑奖励来酬谢任何一个错误的头一个发现者。而相关史实的新证据、相关研究的新进展、习题的新解答仍在及时充实到勘误表或新的印次中。

2017-10-05

《算法导论(原书第3版)》(PDF版)

《算法导论》自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了各个层次读者的接受能力。各章内容自成体系,可作为独立单元学习。所有算法都用英文和伪码描述,使具备初步编程经验的人也可读懂。全书讲解通俗易懂,且不失深度和数学上的严谨性。第二版增加了新的章节,如算法作用、概率分析与随机算法、线性编程等,几乎对第一版的各个部分都作了大量修订。 本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。 本书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册

2017-10-05

算法技术手册(PDF版)

算法技术手册(PDF版) 算法技术手册(PDF版) 算法技术手册(PDF版)

2017-10-03

数据结构与算法分析JAVA版(PDF)

数据结构与算法分析JAVA版(PDF) 数据结构与算法分析JAVA版(PDF)

2017-10-03

《Java多线程编程核心技术》(PDF版)

《Java多线程编程核心技术》(PDF版) 《Java多线程编程核心技术》(PDF版)

2017-10-03

深入理解JAVA内存模型(PDF版)

深入理解JAVA内存模型(PDF版) 深入理解JAVA内存模型(PDF版)

2017-10-03

Java 8函数式编程(PDF版)

Java 8函数式编程(PDF版) Java 8函数式编程(PDF版)

2017-10-03

深入浅出Oracle: DBA入门、进阶与诊断案例(PDF版)

深入浅出Oracle: DBA入门、进阶与诊断案例(PDF版) 深入浅出Oracle: DBA入门、进阶与诊断案例(PDF版) 深入浅出Oracle: DBA入门、进阶与诊断案例(PDF版)

2017-10-03

精通Oracle10编程(PDF版)

PL/SQL是Oracle特有的编程语言,它不仅具有过程编程的基本长期特征(循环、条件分支等),而且还个有对象编程语言的高级特征(重载、继承等)。 本书是专为Oracle应用开发人员提供的编程指南,通过学习本书,读者不仅可以掌握PL/SQL的基础编程知识(嵌入SQL语句和编写子程序),而且还可以掌握PL/SQL的所有高级开发特征(使用记录类型、集合类型、对象类型和大对象类型),另外,苯书还为应用开发人员提供了大理Oracle 9i和Oracle 10g新增加的PL/SQL特征。 本书不仅适合于PL/SQL初学者,而且也适合于有经验的PL/SQL编程人员,本书还可以作为Oracle培训班的教材或者辅助材料。

2017-10-03

SQL SERVER2005数据库基础及应用技术教程与实训

SQL SERVER2005数据库基础及应用技术教程与实训 本书是21世纪全国高职高专计算机系列实用规划教材之一,根据高等职业技术教育的教学特点,结合教学改革和应用实践编写而成。该书采用实例方式讲授SQL Server 2005数据库的应用,全书以理论够用,实用,实践为第一的原则,使读者能够快速、轻松地掌握SQL Server数据库技术与应用。通过在线考试系统开发的实例将数据库的基本原理和应用技术整合。内容包括数据库技术基础、SQL Server2005系统概述、数据库及其管理、数据库中表的基本操作、SQL Server的数据查询、索引及其应用、视图及其用途、存储过程与触发器、SQL Server 2005的安全管理、数据复制、SQL Server的程序设计、数据库的日常维护与管理、SQL Server 2005编程接口以及在线考试系开发实例。 本书内容广泛翔实,适用于高等职业技术学院、高等专科学校、成人高校、示范性软件职业技术学院、本科院校及举办的二级职业技术学院、继续教育学院和民办高校使用,可以作为数据库初学者的入门教材,也可以作为培养数据库系统工程师的培训教材,同样适合作为使用SQL Server进行应用开发的人员的参考资料。

2017-10-02

Thinking In Java(第四版)中文版

本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 适合初学者与专业人员的经典的面向对象叙述方式。

2017-10-02

SQL入门经典(第五版)PDF版

本书的作者都是数据库教学与应用的专家,有着丰富的经验。本书详细介绍了SQL语言的基本语法、基本概念,说明了各种SQL实现与ANSI标准之间的差别。书中包含了大量的范例,直观地说明了如何使用SQL对数据进行处理。每章后面还有针对性很强的测验与练习,能够帮助读者更好地理解和掌握学习的内容。在最后的附录里还有关于安装MySQL的详细介绍、书中用到的关键SQL语句、测验和练习的答案。   本书的内容层次清晰,针对性强,非常适合初学者作为入门教材。 图书目录: 第一部分 SQL概念综述  第1章 欢迎来到SQL世界    1.1 SQL定义及历史     1.1.1 什么是SQL     1.1.2 什么是ANSI SQL     1.1.3 新标准:SQL-2008     1.1.4 什么是数据库     1.1.5 关系型数据库     1.1.6 客户端/服务器技术     1.1.7 基于Web的数据库系统     1.1.8 主流数据库厂商    1.2 SQL会话     1.2.1 CONNECT     1.2.2 DISCONNECT和EXIT    1.3 SQL命令的类型     1.3.1 定义数据库结构     1.3.2 操作数据     1.3.3 选择数据     1.3.4 数据控制语言     1.3.5 数据管理命令     1.3.6 事务控制命令    1.4 本书使用的数据库     1.4.1 表命名标准     1.4.2 数据一瞥     1.4.3 表的构成     1.4.4 范例和练习    1.5 小结    1.6 问与答    1.7 实践     1.7.1 测验     1.7.2 练习  第二部分 建立数据库  第2章 定义数据结构    2.1 数据是什么    2.2 基本数据类型     2.2.1 定长字符串     2.2.2 变长字符串     2.2.3 大对象类型     2.2.4 数值类型     2.2.5 小数类型     2.2.6 整数     2.2.7 浮点数     2.2.8 日期和时间类型     2.2.9 直义字符串     2.2.10 NULL数据类型     2.2.11 布尔值     2.2.12 自定义类型     2.2.13 域    2.3 小结    2.4 问与答    2.5 实践     2.5.1 测验     2.5.2 练习   第3章 管理数据库对象    3.1 什么是数据库对象    3.2 什么是规划    3.3 表:数据的主要存储方式     3.3.1 列     3.3.2 行     3.3.3 CREATE TABLE语句     3.3.4 命名规范     3.3.5 ALTER TABLE命令     3.3.6 从现有表新建另一个表     3.3.7 删除表    3.4 完整性约束     3.4.1 主键约束     3.4.2 唯一性约束     3.4.3 外键约束     3.4.4 NOT NULL约束     3.4.5 检查约束     3.4.6 去除约束    3.5 小结    3.6 问与答    3.7 实践     3.7.1 测验     3.7.2 练习   第4章 规格化过程    4.1 规格化数据库     4.1.1 原始数据库     4.1.2 数据库逻辑设计     4.1.3 规格形式     4.1.4 命名规范     4.1.5 规格化的优点     4.1.6 规格化的缺点    4.2 去规格化数据库    4.3 小结    4.4 问与答    4.5 实践     4.5.1 测验     4.5.2 练习   第5章 操作数据    5.1 数据操作概述    5.2 用新数据填充表     5.2.1 把数据插入到表     5.2.2 给表里指定列插入数据     5.2.3 从另一个表插入数据     5.2.4 插入NULL值    5.3 更新现有数据     5.3.1 更新一列的数据     5.3.2 更新一条或多记录里的多个字段    5.4 从表里删除数据    5.5 小结    5.6 问与答    5.7 实践     5.7.1 测验     5.7.2 练习   第6章 管理数据库事务    6.1 什么是事务    6.2 控制事务     6.2.1 COMMIT命令     6.2.2 ROLLBACK命令     6.2.3 SAVEPOINT命令     6.2.4 ROLLBACK TO SAVEPOINT命令     6.2.5 RELEASE SAVEPOINT命令     6.2.6 SET TRANSACTIN命令    6.3 事务控制与数据库性能    6.4 小结    6.5 问与答    6.6 实践     6.6.1 测验     6.6.2 练习  第三部分 从查询中获得有效的结果  第7章 数据库查询    7.1 什么是查询    7.2 SELECT语句     7.2.1 SELECT语句     7.2.2 FROM子句     7.2.3 WHERE子句     7.2.4 ORDER BY子句     7.2.5 大小写敏感性    7.3 简单查询的范例     7.3.1 统计表里的记录数量     7.3.2 从另一个用户表里选择数据     7.3.3 使用字段别名    7.4 小结    7.5 问与答    7.6 实践     7.6.1 测验     7.6.2 练习   第8章 使用操作符对数据进行分类    8.1 什么是SQL里的操作符    8.2 比较操作符     8.2.1 相等     8.2.2 不等于     8.2.3 小于和大于     8.2.4 比较操作符的组合    8.3 逻辑操作符 8.3.1 IS NULL     8.3.2 BETWEEN     8.3.3 IN     8.3.4 LIKE     8.3.5 EXISTS     8.3.6 ALL、SOME和ANY操作符    8.4 连接操作符     8.4.1 AND     8.4.2 OR    8.5 求反操作符     8.5.1 不相等     8.5.2 NOT BETWEEN     8.5.3 NOT IN     8.5.4 NOT LIKE     8.5.5 IS NOT NULL     8.5.6 NOT EXISTS    8.6 算术操作符     8.6.1 加法     8.6.2 减法     8.6.3 乘法     8.6.4 除法     8.6.5 算术操作符的组合    8.7 小结    8.8 问与答    8.9 实践     8.9.1 测验     8.9.2 练习   第9章 汇总查询得到的数据    9.1 什么是汇总函数     9.1.1 COUNT函数     9.1.2 SUM函数     9.1.3 AVG函数     9.1.4 MAX函数     9.1.5 MIN函数    9.2 小结    9.3 问与答    9.4 实践     9.4.1 测验     9.4.2 练习   第10章 数据排序与分组    10.1 为什么要对数据进行分组    10.2 GROUP BY子句     10.2.1 分组函数     10.2.2 对选中的数据进行分组     10.2.3 创建分组和使用汇总函数     10.2.4 以整数代表字段名称    10.3 GROUP BY与ORDER BY    10.4 CUBE和ROLLUP语句    10.5 HAVING子句    10.6 小结    10.7 问与答    10.8 实践     10.8.1 测验     10.8.2 练习   第11章 调整数据的外观    11.1 ANSI字符函数    11.2 常用字符函数     11.2.1 串接函数     11.2.2 TRANSLATE函数     11.2.3 REPLACE     11.2.4 UPPER     11.2.5 LOWER     11.2.6 SUBSTR     11.2.7 INSTR     11.2.8 LTRIM     11.2.9 RTRIM     11.2.10 DECODE    11.3 其他字符函数     11.3.1 LENGTH     11.3.2 IFNULL(检查NULL值)     11.3.3 COALESCE     11.3.4 LPAD     11.3.5 RPAD     11.3.6 ASCII    11.4 算术函数    11.5 转换函数     11.5.1 字符串转换为数字     11.5.2 数字转换为字符串    11.6 字符函数的组合使用    11.7 小结    11.8 问与答    11.9 实践     11.9.1 测验     11.9.2 练习   第12章 日期和时间    12.1 日期是如何存储的     12.1.1 日期和时间的标准数据类型     12.1.2 DATETIME元素     12.1.3 不同实现的日期类型    12.2 日期函数     12.2.1 当前日期     12.2.2 时区     12.2.3 时间与日期相加     12.2.4 其他日期函数    12.3 日期转换     12.3.1 日期描述     12.3.2 日期转换为字符串     12.3.3 字符串转换为日期    12.4 小结    12.5 问与答    12.6 实践     12.6.1 测验     12.6.2 练习  第四部分 建立复杂的数据库查询  第13章 在查询里结合表    13.1 从多个表获取数据    13.2 结合的类型     13.2.1 结合条件的位置     13.2.2 等值结合     13.2.3 使用表的别名     13.2.4 不等值结合     13.2.5 外部结合     13.2.6 自结合     13.2.7 结合多个主键    13.3 需要考虑的事项     13.3.1 使用基表     13.3.2 笛卡尔积    13.4 小结    13.5 问与答    13.6 实践     13.6.1 测验     13.6.2 练习   第14章 使用子查询定义未确定数据    14.1 什么是子查询     14.1.1 子查询与SELECT语句     14.1.2 子查询与INSERT语句     14.1.3 子查询与UPDATE语句     14.1.4 子查询与DELETE语句    14.2 嵌套的子查询    14.3 关联子查询    14.4 子查询的效率    14.5 小结    14.6 问与答    14.7 实践     14.7.1 测验     14.7.2 练习   第15章 组合多个查询    15.1 单查询与组合查询    15.2 组合查询操作符     15.2.1 UNION     15.2.2 UNION ALL     15.2.3 INTERSECT     15.2.4 EXCEPT    15.3 组合查询里使用ORDER BY    15.4 组合查询里使用GROUP BY    15.5 获取准确的数据    15.6 小结    15.7 问与答    15.8 实践     15.8.1 测验     15.8.2 练习  第五部分 SQL性能调整  第16章 利用索引改善性能    16.1 什么是索引    16.2 索引是如何工作的    16.3 CREATE INDEX命令    16.4 索引的类型     16.4.1 单字段索引     16.4.2 唯一索引     16.4.3 组合索引     16.4.4 隐含索引    16.5 何时考虑使用索引    16.6 何时应该避免使用索引    16.7 修改索引    16.8 删除索引    16.9 小结    16.10 问与答    16.11 实践     16.11.1 测验     16.11.2 练习   第17章 改善数据库性能    17.1 什么是SQL语句调整    17.2 数据库调整与SQL语句调整    17.3 格式化SQL语句     17.3.1 为提高可读性格式化SQL语句     17.3.2 FROM子句里的表     17.3.3 结合条件的次序     17.3.4 最严格条件    17.4 全表扫描    17.5 其他性能考虑     17.5.1 使用LIKE操作符和通配符     17.5.2 避免使用OR操作符     17.5.3 避免使用HAVING子句     17.5.4 避免大规模排序操作     17.5.5 使用存储过程     17.5.6 在批加载时关闭索引    17.6 基于成本的优化    17.7 性能工具    17.8 小结    17.9 问与答    17.10 实践     17.10.1 测验     17.10.2 练习  第六部分 使用SQL管理用户和安全  第18章 管理数据库用户    18.1 数据库的用户管理     18.1.1 用户的类型     18.1.2 谁管理用户     18.1.3 用户在数据库里的位置     18.1.4 不同规划里的用户    18.2 管理过程     18.2.1 创建用户     18.2.2 创建规划     18.2.3 删除规划     18.2.4 调整用户     18.2.5 用户会话     18.2.6 禁止用户访问    18.3 数据库用户使用的工具    18.4 小结    18.5 问与答    18.6 实践     18.6.1 测验     18.6.2 练习   第19章 管理数据库安全    19.1 什么是数据库安全    19.2 什么是权限     19.2.1 系统权限     19.2.2 对象权限     19.2.3 谁负责授予和撤销权限    19.3 控制用户访问     19.3.1 GRANT命令     19.3.2 REVOKE命令     19.3.3 控制对单独字段的访问     19.3.4 数据库账户PUBLIC     19.3.5 权限组    19.4 通过角色控制权限     19.4.1 CREATE ROLE语句     19.4.2 DROP ROLE语句     19.4.3 SET ROLE语句    19.5 小结    19.6 问与答    19.7 实践     19.7.1 测验     19.7.2 练习  第七部分 摘要数据结构  第20章 创建和使用视图及异名    20.1 什么是视图     20.1.1 使用视图来简化数据访问     20.1.2 使用视图作为一种安全形式     20.1.3 使用视图维护摘要数据    20.2 创建视图     20.2.1 从一个表创建视图     20.2.2 从多个表创建视图     20.2.3 从视图创建视图    20.3 WITH CHECK OPTION    20.4 从视图创建表    20.5 视图与ORDER BY子句    20.6 通过视图更新数据    20.7 删除视图    20.8 嵌套视图对性能的影响    20.9 什么是异名     20.9.1 创建异名     20.9.2 删除异名    20.10 小结    20.11 问与答    20.12 实践     20.12.1 测验     20.12.2 练习   第21章 使用系统目录    21.1 什么是系统目录    21.2 如何创建系统目录    21.3 系统目录里包含什么内容     21.3.1 用户数据     21.3.2 安全信息     21.3.3 数据库设计信息     21.3.4 性能统计    21.4 不同实现里的系统目录表格    21.5 查询系统目录    21.6 更新系统目录对象    21.7 小结    21.8 问与答    21.9 实践     21.9.1 测验     21.9.2 练习  第八部分 在实际工作中应用SQL知识  第22章 高级SQL主题    22.1 光标     22.1.1 打开光标     22.1.2 从光标获取数据     22.1.3 关闭光标    22.2 存储过程和函数    22.3 触发器     22.3.1 CREATE TRIGGER语句     22.3.2 DROP TRIGGER语句     22.3.3 FOR EACH ROW语句    22.4 动态SQL    22.5 调用级接口    22.6 使用SQL生成SQL    22.7 直接SQL与嵌入SQL    22.8 窗口表格函数    22.9 使用XML    22.10 小结    22.11 问与答    22.12 实践     22.12.1 测验     22.12.2 练习   第23章 SQL扩展到企业、互联网和内部网    23.1 SQL与企业     23.1.1 后台程序     23.1.2 前台程序    23.2 访问远程数据库     23.2.1 ODBC     23.2.2 JDBC     23.2.3 OLE DB     23.2.4 厂商连接产品     23.2.5 通过Web接口访问远程数据库    23.3 SQL与互联网     23.3.1 让数据可以被全世界的顾客使用     23.3.2 向雇员和授权顾客提供数据    23.4 SQL与内部网    23.5 小结    23.6 问与答    23.7 实践     23.7.1 测验     23.7.2 练习   第24章 标准SQL的扩展    24.1 各种实现     24.1.1 不同实现之间的区别     24.1.2 遵循ANSI SQL     24.1.3 SQL的扩展    24.2 扩展范例     24.2.1 Transact-SQL     24.2.2 PL/SQL     24.2.3 MySQL    24.3 交互SQL语句    24.4 小结    24.5 问与答    24.6 实践     24.6.1 测验     24.6.2 练习  第九部分 附录  附录A 常用SQL命令    A.1 SQL语句    A.2 SQL子句   附录B 使用数据库进行练习    B.1 在Windows操作系统中安装MySQL的指令    B.2 在Windows操作系统中安装Oracle的指令    B.3 在Windows操作系统中安装Microsoft SQL Server的指令   附录C 测验和练习的答案   附录D 本书范例的CREATE TABLE语句    D.1 MySQL    D.2 Oracle和SQL Server   附录E 书中范例所涉数据的INSERT语句    E.1 MySQL和SQL Server     E.1.1 EMPLOYEE_TBL     E.1.2 EMPLOYEE_PAY_TBL     E.1.3 CUSTOMER_TBL     E.1.4 ORDERS_TBL     E.1.5 PRODUCTS_TBL    E.2 Oracle     E.2.1 EMPLOYEE_TBL     E.2.2 EMPLOYEE_PAY_TBL     E.2.3 CUSTOMER_TBL     E.2.4 ORDERS_TBL     E.2.5 PRODUCTS_TBL   附录F 额外练习   术语表 

2017-10-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除