事务
1、什么是事务
事务(Transaction)指的是一组SQL语句,且这组SQL语句在执行的时候要么都成功,要么都失败。(类似于Java异常处理中try操作)
即:
如果事务中某条SQL语句执行失败或者产生错误,那么与该事务相关的所有数据都将返回到事务执行前的状态(又称:“回滚”)。
如果事务中的所有SQL语句都执行成功的话,那么该事务执行后的所有数据都将写入数据库表中(又称:“提交”)。
**经典示例:**A给B转账时,A的钱减少与B的钱增加必须同时成功才是成功,否则都是失败。
2、事务的ACID特性
2.1、原子性(Atomicity)
原子性(Atomicity):指事务是一个不可分割的最小工作单位,事务中的操作只有都发生和都不发生两种情况。
2.2、一致性(Consistency)
一致性(Consistency):指在事务开始之前和事务结束以后,数据库的完整性没有被破坏。
**例:**张三给李四转帐事务,不管事务成功还是失败,应该保证事务执行结束后张三和李四的账上总金额保持一致。
2.3、隔离性(Isolation)
隔离性(Isolation):指一个事务的执行不能被其 ...
SQL详解
0、常用的数据库操作方法(都要掌握)
(1)可视化工具
如:SQLyog、Navicat等。
(2)SQL语句
既可以在命令行窗口中运行,也可以在SQLyog的询问窗口中使用运行。
1、基本命令(初识MySQL)
1.1、连接数据库
命令格式:
1mysql -h主机地址 -u用户名 -p密码 --连接数据库
注:
主机地址和用户名前既可以加空格也可以不加空格,但是密码前必须没有空格。
进入到MYSQL中后,命令行的提示符会变为: mysql>
1.2、修改用户密码
(1)**方法一:**使用mysqladmin命令,命令格式:
1mysqladmin -u 用户名 -p 旧密码 password 新密码
(2)**方法二:**使用SQL语句-,命令格式:
1update mysql.user set password=PASSWORD(‘新密码’) where User=’root’ and Host = 'localhost'; --SQL语句
注:
SQL语句可以换行;
SQL语句都以分号结尾。
1.3、刷新权限
命令格式:
1flus ...
青嵩岁月-许嵩博客集(2006-2013)
特别声明
本书为非卖品,切勿商用。
本书电子版初稿由 vae+的松鼠“十一夬决”提供,书本内容由多位勤恳的松鼠整理成册,在此一并表示感谢。
封面图片
正文
青嵩岁月-许嵩博客集(2006-2013)16开双面打印胶装版
关注**“阿汤笔迹”** 微信公众号,获取更多学习笔记。
原文地址:http://www.atangbiji.com/2021/10/03/vaeBlogs2006_2013
博主最新文章在个人博客 http://www.atangbiji.com/ 发布。
武汉-神农架5天自驾游攻略
一、行程安排:
Day1:武汉→木鱼镇
1、武汉→兴山县(古夫河水利风景区)
早上7:00从武汉出发,自驾约5小时后(约12:00)到达水上公路观景平台——古夫河水利风景区,在附近吃午饭;
2、古夫河水利风景区→三堆河休息区
下午(约13:00)从水上公路观景平台附近出发,经南阳镇,往神农架方向行驶,驾车约半小时到达三堆河休息区,游览“野人脚印,卧虎石,昭君、屈原、神农石雕”等(约15分钟);
3、三堆河休息区→神龙洞
下午(约14:00)从三堆河休息区继续出发,沿209国道向木鱼镇方向继续出发,到达神龙洞景区,行程10分钟。
4、神龙洞→木鱼镇
木鱼镇是景区核心住宿区之一。
注意事项:
木鱼镇分为南北两片区域:
南区:即镇政府所在区域(对接下来行程不是特别方便);
北区:香溪源、官门山附近区域(建议预定北区附近的酒店);
若时间允许的话,建议第一天优先把天生桥、神农坛先游览完,第二天再游览官门山,这样少走回头路。
Day2:木鱼镇周边景点
1、木鱼镇酒店→天生桥
2、天生桥→神农坛
Day3:木鱼镇周边景点
1、木鱼镇酒店→香溪源
2、香溪源→官门山
Day4:自驾 ...
SQLyog软件的安装和使用
1、为什么使用SQLyog
使用命令行和SQL语句操作数据库具有命令复杂、不够直观、令人痛苦等缺点;
SQLyog是一款常用的图形化MySQL数据库管理工具,具有简洁高效、功能强大、易于使用等优点。
2、SQLyog的下载与安装
目前SQLyog很难打开,建议通过百度下载破解版。
SQLyog的安装过程非常简单,这里不再赘述。
3、SQLyog的使用
3.1、新建连接
(1)双击打开SQLyog新建一个名称为test的连接。
注:
连接名称可以自定义;
MySQL默认使用的端口为3306,可在配置文件my.ini中配置。
(2)点击“连接”按钮,可以发现它默认连接了4个数据库。它们对应初始化数据库文件时data目录下自动生成的数据库文件(建议不要删除)。
注:
我们可以在查询窗口输入SQL语句,点击“执行查询”按钮,便可在结果窗口查看执行结果。
SQLyog中的每一步操作都有相应的SQL语句与之对应,我们可以在历史记录中查看。
3.2、创建数据库
(1)右键根结点(root@localhost)->创建数据库。
(2)在新建窗口中输入数据库名称,并选择相应的 ...
MySQL的下载与安装
安装建议:
尽量不要使用exe安装(很难卸载干净)。
建议使用压缩包安装。
具体步骤如下:
1、MySQL下载
在MySQL官网下载得到mysql-5.7.19-winx64社区版压缩包。
2、MySQL免安装版配置
2.1、解压安装包
将下载得到的压缩文件解压到安装目录(D:\Environment)下。
2.2、配置环境变量
我的电脑->属性->高级->环境变量。
将Mysql 安装文件下的bin目录(D:\Environment\mysql-5.7.19\bin)添加到系统变量Path中。
2.3、新建 my.ini 文件
在D:\Environment\mysql-5.7.19目录下新建一个my.ini 文件。
**注:**my.ini 文件是MySQL的核心配置文件。由于我们使用的是压缩包(免安装版),默认是没有该配置文件的,因此需要我们手动创建。
2.4、编辑my.ini文件
123456789[mysqld]#基础目录basedir=D:\Environment\mysql-5.7.19\#数据目录datadir=D:\Environment ...
初识数据库
1、什么是数据库
数据库(DB,DataBase)是按照数据结构来组织、存储和管理数据的仓库。
注:数据库是安装在操作系统(如:Windows,Linux,Mac等)上的一个软件。
2、数据库的分类
2.1、关系型数据库
**SQL数据库(**Structured Query Language,结构化查询语言):泛指非关系型的数据库。
关系型数据库类似于我们经常使用的Excel。
它是有行和列的。
通过表与表之间、行和列之间的关系进行数据的存储。
实际使用就是通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。
我们可以用SQL语句操作关系型数据库。
附:常见的关系型数据库
常见的关系型数据库主要包括:MySQL、Oracle、SQL Server 、Access等。
(1)MySQL
MySQL 由瑞典MySQL AB公司开发,属于 Oracle 旗下产品。
是一个非常强大的和完整的SQL数据库系统。
MySQL 成本很低,是昂贵的 Microsoft 和 Oracle 解决方案的廉价替代品。
MySQL 是我们学习的重点。
注:MySQL是一种常用的关系型 ...
Java异常
1、什么是异常
异常(Exception)指程序运行过程中出现的不期而至的各种状况。如:非法传参、内存溢出、文件找不到、网络连接失败等。
(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象。
2、异常的体系结构
Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的父类。
在Java的API中已经定义了许多异常类。这些异常类分为错误(Error)和异常(Exception)两大类。
2.1、错误(Error)
Error类对象由Java虚拟机生成并抛出。
编译时被忽略,运行时可能会报错(抛出Error)。
Error通常是灾难性的致命错误,是程序无法控制和处理的,如
OutOfMemoryError
ThreadDeath
这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。
2.2、异常(Exception)
Exception是程序本身可以处理的异常,这种异常分运行时异常和非运行时异常两大类。
程序书写过程中应当尽可能地去处理这些异常。
(1)运行时异常
RuntimeEx ...
Java面向对象
1、什么是面向对象
1.1、面向过程
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。即:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用即可。
1.2、面向对象
Java的核心思想就是:面向对象编程(OOP,Object Oriented Programming)。
面向对象编程的本质就是:以类的方式组织代码,以对象的方式封装数据。
类是对对象的抽象;
对象是类具体的实例。
2、方法回顾和加深
2.1、方法的定义
(1)修饰符
(2)返回类型
(3)break和return的区别
break用来跳出循环或switch语句。
return用来结束方法。即:退出该函数的执行,返回到函数的调用处。
(4)方法名:驼峰命名、间名知意。
(5)参数列表:固定参数、可变参数。
(6)异常抛出
2.2、方法的调用
(1)静态方法:类名.方法名
(2)非静态方法:对象.方法名
(3)形参和实参:形式参数、实际参数
(4)值传递和引用传递:Java中都是值传递。(注意与C++的区别)
(5)this关键字
3、类与对象的 ...
Java数组详解
1、什么是数组
数组是相同类型数据的有序集合。
数组中的每一个数据称作一个数组元素,我们可以通过下标来访问数组元素。
数组是最简单的数据结构。
2、数组的基本特点
数组的长度是确定的。
数组一旦被创建,它的大小就是不可改变的。
要对数组进行扩容(或缩容),就必须新建一个空间更大(或更小)的数组。【详见动态数组】
同一个数组的元素的数据类型必须相同,不允许出现混合类型。
数组中的元素可以是任何数据类型,包括基本类型和引用类型。
数组属于引用类型,数组本身就是对象(可以被new出来),数组元素相当于对象的成员变量。
3、数组的声明和创建(定义)
数组变量必须先声明后使用。
3.1、数组的声明
方式一:
1数组元素类型[] 数组名;//首选
方式二:
1数组元素类型 数组名[];//(参照C++)效果相同,不首选
3.2、数组的创建
Java语言使用new操作符来创建数组。
1数组元素类型[] 数组名 = new 数组元素类型[数组长度];
3.3、数组初始化
(1)静态初始化
在定义数组的同时就为数组元素分配空间并赋值。如:
1int[] a = {1,2,3, ...