sql数据库

mybatis动态SQL与批量插入

别来无恙 提交于 2020-02-04 16:16:14
一 前言 本篇文章需要有一定得mybatis入门基础才能学习;如果是初学者请参考以下链接进行系统学习 mybatis入门 https://blog.csdn.net/youku1327/article/details/103339617 mybatis初级映射 https://blog.csdn.net/youku1327/article/details/103411829 mybatis配置 https://blog.csdn.net/youku1327/article/details/103604724 当然如果是资深读者,又没有经过系统得学习,可以直接入主本篇,带你一览动态标签使用方式; 动态SQL可以通过给定不同得条件,执行不同得SQL语句,实现动态SQL得方式就是通过mybatis提供得标签语法进行配置; 二 动态SQL标签 2.1 if 标签 if 标签表示条件判断 customer_name 不为空时会执行当前if标签的内容;此时的sql 语句 就是 select * from customer where and customer_name = #{customer_name} gender不为空时会执行if语句;此时执行的sql语句就是 select * from customer where 1 = 1 and gender = #{gender}

SpringBoot 集成 JPA

不羁岁月 提交于 2020-02-04 14:32:54
一、简介: Java Persistence API:用于对象持久化的 API。Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层。JPA 是 hibernate 的一个抽象,将Java应用与数据库解耦,开发者不用关心Sql的编写,和底层数据库的种类。 二、示例: 引入相应依赖 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-data-jpa </ artifactId > </ dependency > 数据源相关配置 spring.datasource.url = jdbc:mysql://106.13.181.6:3306/FA?useUnicode=true&characterEncoding=UTF-8 spring.datasource.username = root spring.datasource.password= Wanghaiyun@12345 spring.datasource.driver-class-name = com.mysql.jdbc.Driver spring.jpa.hibernate.naming.physical-strategy=org

sql server存储过程学习

蹲街弑〆低调 提交于 2020-02-04 12:58:23
一、新建并进入数据库 create database Lambor use Lambor 二、新建数据表并插入数据 create table People( id int primary key, name nvarchar(20), age int, birthday datetime ) insert into People(id,name,age,birthday) values(1,'Amanda',1,GETDATE()) insert into People(id,name,age,birthday) values(2,'Balea',18,GETDATE()) select * from People 三、编写存储过程 (1)建立名为GetPeopleName的无参存储过程 create procedure GetPeopleName as begin select name from People end --执行 execute GetPeopleName View Code 运行结束: (2)有返回值的存储过程 create procedure AddPeople as begin insert into People(id,name,age,birthday) values(6,'Buffer',22,GETDATE()); return 1; end -

SQL Server常用的SQL语句<转>

蹲街弑〆低调 提交于 2020-02-04 08:29:56
1.按姓氏笔画排序: Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.数据库加密: select encrypt('原始密码') select pwdencrypt('原始密码') select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码') select pwdencrypt('原始密码') select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 3.取回表中字段: declare @list varchar(1000),@sql nvarchar(1000) select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name='表A' set @sql='select '+right(@list,len(@list)-1)+' from 表A' exec (@sql) 4.查看硬盘分区: EXEC master..xp_fixeddrives 5.比较A,B表是否相等: if (select checksum_agg(binary_checksum(*))

关于Oracle RMAN 自动恢复

限于喜欢 提交于 2020-02-04 03:59:32
在日常工作中,有时会需要进行Oracle数据库恢复,比如搭建测试环境、查找历史数据、恢复测试等。可以通过计划任务或nohup等方式来执行恢复脚本从而提高整个操作的效率,特此记录. 这里使用的测试环境如下: OS Platform Red Hat Enterprise Linux Server release 5.4 (Tikanga)- 64bit Database Oracle Database 11g Enterprise Edition Release 11.2.0.1.0- 64bit 1. 在需要恢复数据库的机子(本文中为testsvr01)上安装Oracle软件 2. 将Oracle数据库的RMAN备份文件及相应的归档日志传输到目标机子(testsvr01), 并确保oracle用户有权限访问,可以通过 chown-R oracle:oinstall /backup_dir 命令 改变备份文件的属主 3. 在$ORACLE_HOME/dbs目录下编辑参数文件pfile以便于启动Oracle实例, 本文的pfile为initmydb.ora 可以在源库中通过create pfile 命令来创建pfile, 然后传到目标机子,修改相应的参数值 在pfile中, 注意以下几个参数的值 *.control_files='/data1/oradata/mydb/control01

50个常用sql语句 网上流行的学生选课表的例子

白昼怎懂夜的黑 提交于 2020-02-04 03:29:54
这篇文字在网上被转载烂了,里面有些sql适合用在应用系统里,有些“报表”的感 觉更重些,主要是想复习前者 50个常用sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select Student.S#,Student.Sname,count(SC.C#),sum(score) from Student left Outer join SC on Student.S#=SC.S# group by Student.S#,Sname 4、查询姓“李”的老师的个数

50个常用sql语句 网上流行的学生选课表的例子

故事扮演 提交于 2020-02-04 03:29:30
50 个常用 sql 语句 建表: -- 学生表 tblStudent (编号 StuId 、姓名 StuName 、年龄 StuAge 、性别 StuSex ) -- 课程表 tblCourse (课程编号 CourseId 、课程名称 CourseName 、教师编号 TeaId ) -- 成绩表 tblScore (学生编号 StuId 、课程编号 CourseId 、成绩 Score ) -- 教师表 tblTeacher (教师编号 TeaId 、姓名 TeaName ) 问题: 1 、查询“ 001 ”课程比“ 002 ”课程成绩高的所有学生的学号 ; select a.StuId from (select StuId,Score from tblScore where CourseId='001') a,(select StuId,Score from tblScore where CourseId='002') b where a.Score>b.Score and a.StuId=b.StuId; 2 、查询平均成绩大于 60 分的同学的学号和平均成绩 ; select StuId,avg(Score) from tblScore group by StuId having avg(Score) >60; 3 、查询所有同学的学号、姓名、选课数、总成绩 ;

JDBC连接步骤

↘锁芯ラ 提交于 2020-02-04 02:04:55
JDBC连接数据库的快速入门 快速入门步骤: 1.导入包 2.注册驱动 3.创建连接对象 Connection 4.定义sql 5.创建执行sql对象 Statement 6.执行sql 7.处理结果 8.释放资源 package Test ; import java . sql . Connection ; import java . sql . DriverManager ; import java . sql . SQLException ; import java . sql . Statement ; public class JdbcDemo { public static void main ( String [ ] args ) { //提升作用域 Connection conn = null ; Statement stmt = null ; try { //1.导入包 //2.注册驱动 Class . forName ( "com.mysql.jdbc.Driver" ) ; //3.创建连接对象 Connection conn = DriverManager . getConnection ( "jdbc:mysql://localhost:3306/库名" , "数据库用户名" , "数据库密码" ) ; //4.定义sql String sql =

Django中执行原生SQL语句【新编辑】

[亡魂溺海] 提交于 2020-02-04 01:57:56
参考我的个人博客 这部分迁移到了个人博客中: Django中执行原生SQL语句 这里需要补充一下,还有一个 extra 方法: ret = models.Student.objects.all().extra(where=['id > %s'], params=['1'], order_by=['-id']) # print(ret) # for i in ret: # print(i) 小结 extra Entry.objects.extra(select={'new_id': "select col from sometable where othercol > %s"}, select_params=(1,)) Entry.objects.extra(where=['headline=%s'], params=['Lennon']) Entry.objects.extra(where=["foo='a' OR bar = 'a'", "baz = 'a'"]) Entry.objects.extra(select={'new_id': "select id from tb where id > %s"}, select_params=(1,), order_by=['-nid']) raw # 执行原生SQL models.UserInfo.objects.raw(

【故障公告】SQL语句执行超时引发网站首页访问故障

杀马特。学长 韩版系。学妹 提交于 2020-02-04 00:50:17
非常抱歉,今天早上 6:37~8:15 期间,由于获取网站首页博文列表的 SQL 语句出现突发的查询超时问题,造成访问网站首页时出现 500 错误,由此给您带来麻烦,请您谅解。 故障的情况是这样的。 故障期间日志中记录了大量下面的错误。 2020-02-03 06:37:24.635 [Error] An unhandled exception has occurred while executing the request. / Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (258): Unknown error 258 at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__126_0(Task`1 result)