数据库

SQL语句行列转换(附带数据库、表、视图操作)

人走茶凉 提交于 2020-03-20 06:52:57
本来只是想解决怎么把数据的行和列进行转换的,但最近觉得一些数据库SQL语句的操作,很久没用了,有点陌生。所以也就随笔记录一些简单但很基本的操作。 我的数据库是MSSQL2005. 第一部分主要的操作包含:数据库的创建、删除,表的增、删、改,表中数据的增、删、改、查,视图的操作。 1 --查询数据库是否存在 2 if exists ( select * from sysdatabases where [name]='TestDB') 3 print 'Yes, the DB exists' 4 else 5 print 'No, need a new one?' 6 7 --新建一个数据库 8 create database TestDB on 9 ( 10 name = 'TestData', 11 filename = 'G:\DBS\KeyTest.mdf', 12 size = 3, 13 filegrowth = 2 14 ) 15 log on 16 ( 17 name = 'TestLog', 18 filename = 'G:\DBS\KeyTest.ldf', 19 size = 3, 20 filegrowth = 10 21 ) 22 23 --drop database TestDB 24 25 use TestDB 26 go 27 28 --新建一个表

Git基础

青春壹個敷衍的年華 提交于 2020-03-20 05:03:19
   Git 是神Linus Torvalds使用c开发的一个版本控制系统,该系统的开发基于以下目标: 速度 简单的设计 对非线性开发模式的强力支持(允许成千上万个并行开发的分支) 完全分布式 有能力高效管理类似Linux内核一样的超大规模项目(速度和数据量)   那么,Git究竟是怎样一个系统呢?若你理解Git的思想和基本工作原理,用起来会知其所以然、游刃有余。尽管操作起来的命令形式与其他版本控制系统非常相似,但Git在保存和对待各种信息的时候与其他版本控制系统有很大差异,理解这些差异将便于高效使用Git。 1. 直接记录快照,而非差异比较    Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 理念上看,其他大部分系统以文件变更列表的方式存储信息,这类系统(CVS、Subversion、Perforce、Bazaar等)将它们保存的信息看做一组基本文件和每个文件随时间逐步累积的差异。   Git 则把数据看作是对小型文件系统的一组快照。 每次提交更新,或在Git中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。如果没有修改文件,Git不再重新存储文件,而只保留一个链接指向之前存储的文件。Git对待数据更像是一个 快照流。 2. 近乎所有操作都是本地执行    在 Git

查看sqlserver数据库的端口号

你离开我真会死。 提交于 2020-03-19 21:44:39
最近正在用sqlserver作为java的数据库进行开发,在写连接字符串的时候,想起一个问题,怎么查找sqlserver的端口号呢?有两种方法 1,用存储过程 --查询端口号 exec sys.sp_readerrorlog 0, 1, 'listening' 得到的结果如下图所示 那么选用哪一个呢?这里用的是127.0.0.1:1433 2,使用SSCM进行管理(sqlserver配置管理器) 然后右键点击tcp/ip,然后选择属性 修改后,保存,然后重启sqlserver服务器即可 来源: https://www.cnblogs.com/ningheshutong/p/6262500.html

www.pojo.com

偶尔善良 提交于 2020-03-19 19:59:00
POJO是Plain Old Java Objects的缩写不错,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。 POJO实质上可以理解为简单的实体类,顾名思义POJO类的作用是方便程序员使用数据库中的数据表,对于广大的程 序员,可以很方便的将POJO类当做对象来进行使用,当然也是可以方便的调用其get,set方法。POJO类也给我们在struts框架中的配置带来了 很大的方便。 POJO有一些private的 参数 作为对象的属性。然后针对每个 参数 定义了get和set方法作为访问的接口。例如: public class User { private long id; private String name; public void setId(long id) { this. id = id; } public void setName(String name) { this. name=name; } public long getId() { return id; } public String getName() { return name; } } POJO对象有时也被称为 Data 对象,大量应用于表现现实中的对象。如果项目中使用了Hibernate 框架 ,有一个关联的xml文件,使对象与数据库中的表对应

Hibernate Session总结

China☆狼群 提交于 2020-03-19 18:17:13
现在我们可以在 IDEA 下 新建一个 Hibernate 项目 ,接着上次内容这次主要总结一下 Hibernate 的 Session,及其核心方法。 Session 概述 Session 接口是 Hibernate 向应用程序提供的操纵数据库的主要接口,提供了基本的 保存、更新、删除和加载 java 对象的方法 Session 具有一个缓存,位于 缓存中的对象称为持久化对象 ,和数据库中的相关记录对应 Hibernate 将对象分为 4 种状态,持久化状态,临时状态,游离状态,删除状态, Session 特定的方法可以使对象从一个状态到另一个状态。 Session 缓存 Session 接口实现中包含一系列 java 集合,这些 java 集合构成了 Session 缓存,只要 Session 实例没有结束生命周期,且没有清理缓存,则存放在他缓存中的对象也不会结束生命周期 Session 缓存可以减少 Hibernate 访问数据库的频率 操作 Session 缓存 reflush(): 会强制发送 sql查询(select)语句 ,使缓存中的数据和数据库中的数据保持一致, 数据由数据库到缓存 flush(): 会强制发送 sql更新(update)语句 ,使数据库中的数据和缓存中的数据保持一致, 数据由缓存到数据库 当程序执行 Transaction 的 commit()

Hibernate的Session介绍[转 adoocoke]

微笑、不失礼 提交于 2020-03-19 18:16:53
Session Session是Hibernate向应用程序提供操作数据的主要接口, 他提供了保存、更新、删除、加载Java对象的方法。 Session的缓存 Session有一个缓存,用来缓存Java对象。 一般的数据库操作,都要从先从Session的缓存中获取,如果缓存中获取不到,hibernate才会去数据库中获取。 缓存的作用 缓存的作用不言而喻。 1、减少数据访问的频率。2、保持保证数据相关记录与缓存中的同步。 清理缓存 Session的save、update、delete方法, 只有在清理缓存的时候才向数据库中执行一条Sql语句。 所以, Session清理缓存的时间点,是个关键概念。 Session会在一下几个时间点清理缓存,并执行相关语句: a、当应用程序调用 org.hibernate.Transaction 的 commit() 方法的时候, commit() 方法先 清理缓存,然后再向数据库提交事务。 b、当应用程序通过 Hibernate 的 Query查询接口等执行查询操作 时,如果缓存中持久化对象的属性发生了变化,就会先清理缓存,以保证查询结果能反映持久化对象的最新状态。 c、当应用程序显式调用 Session 的 flush() 方法的时候。 Java对象在Hibernate中的状态 介绍缓存的方法之前,先介绍一下java对象在缓存中的几种状态

hibernate在持久对象的生命周期(三州:自由状态,持久状态,自由状态 之间的转换)

落花浮王杯 提交于 2020-03-19 18:16:33
三种状态的基本概念: 1。 临时身份(Transient):也被称为自由状态,它只存在于内存中,并且在数据库中没有相应的数据。 使用new创建的对象,久化,没有处于Session中,处于此状态的对象叫暂时对象; 2, 持久化状态(Persistent):与session关联而且在数据库中有对应数据。 已经持久化。增加到了Session缓存中。如通过hibernate语句保存的对象。处于此状态的对象叫持久对象; 3, 游离状态(Detached):持久化对象脱离了Session的对象。如Session缓存被清空的对象。 特点:已经持久化,但不在Session缓存中。 处于此状态的对象叫游离对象; ×√ 暂时状态 (Transient) 持久化状态 (Persistent) 游离状态 (Detached) 是否处于Session缓存中 × √ × 数据库中是否有相应记录 × √ √ 游离对象和暂时对象异同: 两者都不会被Session关联,对象属性和数据库可能不一致; 游离对象有持久化对象关闭Session而转化而来,在内存中还有对象所以此时就变成游离状态了; Hibernate和SQL的关系: 在操作了hibernate的方法如save()等后。并没有直接生成sql语句,去操作数据库。而是把这些更新存入Session中。仅仅有Session缓存要被更新时,底层的sql语句才干运行

集群应用系统

坚强是说给别人听的谎言 提交于 2020-03-19 18:05:17
集群应用系统 使用 Mycat读写分离数据库作为应用系统的数据库后端,使用 ZooKeeper集群, Kafka集群提供应用系统调度服务,使用 Reids提供应用系统消息队列服务 节点分配 192.168.37.14 mycat,zookeeper1 192.168.37.12 db1,zookeeper2 192.168.37.13 db2,zookeeper3 192.168.37.15 redis,nginx 192.168.37.16 jar1 192.168.37.17 jar2 修改各个节点名称 # hostnamectl set-hostname jar1 # hostnamectl set-hostname jar2 # hostnamectl set-hostname redis 构建集群应用系统环境 修改数据库配置 新建gpmall数据库(db1 ) 将提供的 gpmall.sql数据库文件上传到 db1的 /root目录下 # mysql -uroot -p123456 创建库 gpmall,将提供的 gpmall.sql文件导入到 gpmall库中 > create database gpmall; > use gpmall > source /root/gpmall.sql > quit 退出数据库 修改mycat配置(mycat) 修改配置文件 # vi

HTML5 客户端数据库简易使用:IndexedDB

狂风中的少年 提交于 2020-03-19 14:18:35
IndexedDB介绍 IndexedDB是一种能在浏览器中持久的存储结构化数据的对象数据库,并且为web应用提供了丰富的查询能力。 相比于Web SQL数据库它更加简单,而且官方标准中关于Web SQL的工作已经停止。 相比于Web Storage,IndexedDB存储空间是无上限且永久的。 创建数据库 IndexedDB是按域名分配独立空间,一个独立域名下可以创建多个数据库,每个数据库可以创建多个对象存储空间(表/对象仓库),一个对象存储空间可以存储多个对象数据(索引的字段)。 1 2 3 4 5 6 7 8 9 10 11 function openDB(){ var request = indexedDB.open(dbName,dbVer);//如果数据库存在就打开,如果数据库不存在就去新建 request.onsuccess = function(e){ } request.onerror = function(e){ } //创建新数据库,或者数据库版本号被更改的时候出发onupgradeneeded事件,并执行回调函数 request.onupgradeneeded = function(e){ } } indexedDB.open方法用于创建数据库,里面传两个参数(数据库名,数据库版本),request.onupgradeneeded方法在创建新数据库

Mac中遇到的Eclipse连接不上mySql的问题

戏子无情 提交于 2020-03-19 09:11:35
1.首先我们在eclipse中连接数据库的过程中,遇到的问题就是如上图。开始百度Communications link failure 这几个关键字。得到的结果基本上就是基本配置参数wait_timeout,interactive_timeout,bind-address等这几个参数有问题,因此我们的第一反应是找到配置文件进行配置。 2.要配置就要找到配置文件,我们发现在mysql的安装目录里没有找到配置文件。百度以后发现Mac下的mysql没有配置文件,要自己到/etc的目录下自己创建,这是奇葩的第一个地方。 3.在历尽磨难创建了配置文件以后,然并卵,并没有什么反应。这我们就很为难了。增加时间值,我们也增加了。为什么一点反应都没有呢?其中还有个插曲,我们在终端里进行对参数进行配置,然后发现重新启动下mysql就返回默认值,也是一个奇葩的地方。 4.挠头中 5.继续百度,发现有的需要在URL中添加参数,又如获至宝,发现还是没用。 6.Mac下奇特的地方之二,因为下载了一个数据库管理软件Sequel Pro,在这个的第二种连接方式Socket连接是可以访问数据库内容的。这个软件还有Standard连接,这个连接是不能访问数据库的。Standard和Socket连接的区别就是需要配置host和port,其实在此我们就应该想到是这两个参数存在问题,当时也确实验证了下。mysqld -