最近在操作表中数据时,删除了表中数据,但是又想恢复,后来查到了官方的一篇文档,发现还蛮有用的,如下: 在pl/sql中运行,select * from A as of TIMESTAMP to_timestamp('','yyyymmdd'); 此原理是利用Flashback Query这一特性,最常被应用的就是修复误操作的数据了.注意,这并不是说Flashback Query能够恢复数据.Flashback Query本身不会恢复任何操作或修改,也不能告诉你做过什么操作或修改,实际上Flash…
在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(select top 2 * from NumberLog where UserName = '管理员' order by dateTime desc ) [table] order by dateTime asc…
快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) ) GO INSERT #T EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #T O…
在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select结果查询语句即可将数据写入.通过Insert Into和Select语句连用可以很快的将一个表的数据写入到另一个数据表中. 例如我们需要将订单表Order_2中的type=1的数据写入到订单表Order_1表中的语句如下: Insert Into Order_1 (OrderNo,Name,Crea…
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF Core是怎么获取数据库的默认值的.首先我们建立一个.NET Core控制台项目,然后引入EF Core所需的NuGet包. 获取自增列值 我们在SQL Server数据库中建立一个表Person,该表有一个自增列ID为主键: CREATE TABLE [dbo].[Person]( ,) NOT…
sql之将一个表中的数据注入另一个表中 需求:现有两张表t1,t2,现需要将t2的数据通过XZQHBM相同对应放入t1表中 t1: t2: 思路:left join 语句: select * from t1 left join t2 on t2.XZQHBM=t1.XZQHBM order by t1.XZQHBM 返回: 查询结果中会将两个表的XZQHBM都查出来,在*处过滤即可 研究不易,转载请标明出处.…
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key-Value Storage 原文链接:https://www.cockroachlabs.com/blog/sql-in-cockroachdb-mapping-table-data-to-key-value-storage/ 原作者:Peter Mattis , Tamir Duberstein…
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tablespaceinfo ( nameinfo ) , rowsinfo BIGINT , reserved ) , datainfo ) , index_size ) , unused ) ) ); DECLARE Info_cursor CURSOR FOR SELECT '[' + [name]…
sql某一表中重复某一字段重复记录查询与处理   1.查询出重复记录  select 重复记录字段 form  数据表 group by houseno having count(重复记录字段)>1 2.重复记录只显示一条ID值最小或最大的记录 select   id,* from   数据表 where houseno (select 重复记录字段 form 数据表 group by 重复记录 字段 having count(重复记录字段)>1 ) 这样把houseno重复的的ID值全部显示…
今早同事跟进客户反馈的问题时,提了个要求,要求清空数据库中所有表的数据. 记得之前用游标遍历所有的表名 + exec 动态语句 truncate table 表名 实现过这个功能. 网上搜了下,有更简单的方法: CREATE PROCEDURE sp_DeleteAllData AS --禁用约束和触发器 EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEachTable 'ALTER TABL…
sql server 关于表中只增标识问题   由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错误,不能修改 set identity_insert test on  关闭标识 在添加时候 提示成功 set identity_insert 表名  on  关闭 set identity_insert 表名 off   开启 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文…
原文:监控SQL:执行表中所有sql语句.记录每个语句运行时间(3) 通过执行一个 带参数的存储过程  exec  OpreateTB('OpreateUser','IsRun')  更新表的数据 表结构:(RunTime,RunStatus,BetweenTime,RunLog,IsRun). 字段解释: 1.RunTime 这条语句的执行时间   2.RunStatus 为执行语句是否成功  1表示执行成功   0 表示异常  NULL 就是还未执行 -1表示回滚 3.BetweenTime…
SQL语句 在一个表中插入新字段: alter table 表名 add 字段名 字段类型 例: alter table OpenCourses add Audio varchar(50)alter table ListenCourses add Audio varchar(50)…
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR(500) , rowsinfo BIGINT , reserved VARCHAR(20) , datainfo VARCHAR(20) , index_size VARCHAR(20) , unused VARCHAR(20) ) DE…
查看hive中action_data_myisam表中的数据.表结构及所在路径 1.客户端进入hive环境:hive 2.查看表数据,鉴于数据量大,这里只显示前五条:select * from action_data_myisam limit 5; 3.查看表结构:desc action_data_myisam; 4.查看此表所在路径:describe extended action_data_myisam; 图1针对1.2.3步 图2 针对第4步 end!…
向oracle中的表插入数据的方法有以下几种: 假设表名为User 第一种方法:select t.*,rowid from User t;-->点击钥匙那个标记就可向表中添加数据 第二种方法:select t.*,rowid from User t for update;-->点击钥匙那个标记就可向表中添加数据 第三种方法:在oracle中的table表中选中你要添加数据的那个表-->点击右键-->选中Edit data-->就可向表中添加数据 第四种方法:通过DAO层来添加…
注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先附上存储过程然后解释) /********调用方法********** 作用: 添加列并添加列描述信息 调用: exec [SetColumnInfo] '表名', '列名', N'列说明,描述','列类型{默认:NVARCHAR(50)}','列默认值{默认:NULL}' ************…
oracle通过sql随机取表中的10条记录: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE Rownum <= 10;…
  SQL查询一个表中类别字段中Max()最大值对应的记录 SELECT A.id, A.name, A.version FROM   DOC A, (SELECT id, MAX(version) AS version FROM   DOC GROUP  BY id) AS B WHERE  A.id = B.id AND A.version = B.version…
SQL Server误删表查看 转自:http://blog.51cto.com/aimax/2134572   SQL Server 完全恢复模式 下恢复误删除的表,进行 精准 恢复 1.  找出被删除的表名(无schema,需要从日志中分析进行提取,后续完善).object_id.表所在数据库.删除人.删除时间等 declare @database_name varchar(200),@type varchar(2),@pass_hours int, select @database_nam…
-- MySQL中修改表中某列的数据类型 ALTER TABLE [COLUMN] 表名 MODIFY 列名 列定义; -- 删除外键约束 SHOW CREATE TABLE 表名; -- 复制CONSTRINT后面引号中的内容 ALTER TABLE 表名 DROP FOREIGN KEY 粘贴; -- 删除外键成功…
由于头两天面试时被问了这样一个问题,如果某同事误删了某个表,你该怎么恢复? 当时想了一下,因为博主没有遇到过这个问题,但是也多少了解一些,所以就回答通过mysql的binlog日志进行恢复. 面试官当时问了一下具体的流程.就有些懵逼了.所以就总结了一下,前提一定要做好备份! 数据库误删某表恢复方法,这个前提是针对每天有备份的数据库和开启binlog日志的 ,如果没有备份和binlog日志 恢复起来会非常非常麻烦,所以奉劝大家还是要备份!备份!备份! /*查看数据库是否开启binlog日志*/my…
ERR出现的场景再现: 使用 PL/SQL导出按钮,选择‘CSV文件’,保存为1.csv,后用execl打开,复制到VuGen中作为login脚本的参数化文件username. ERR及发现过程: 在跑login场景时,使用的参数化了用户名与密码,并且使用 random + iteration的组合方式,总会出现2-3个登录事务失败,最后在脚本中增加lr_log_message()函数输出每次的用户名,同时更改方式为 unique + iteration,先跑了10000个用户,来查看究竟是哪些…
从表中选择数据再插入到表中(select XXX into 与insert into XXX select的结合) 在做性能测试时需要大量的业务数据.完全从画面造数据比较费时间,使用SQL文批量插入数据相对来讲就快很多,但是毕竟是手动插入的与实际数据的分布规律有一些差距.可以以表中已经存在的数据为基础造数据插入到原表中. 从表中选择数据再插入到表中有什么好方法呢?使用Select XXX into本来是个好方法.但是由于表中是有主键的,不能直接把检索到的行数据一股脑地插入到表中,需要更改主键的值…
项目需求:将某个表中的多行数据在一个字段显示,如下: 比如表A中有字段 ID,NAME, 表B中有字段ID,PID,DES, 表A,表B中的数据分别如下: ID NAME1 张三2 李四 ID PID DES1 1 语文2 1 数学3 1 外语4 2 历史5 2 地理 最终我想显示的效果为: ID NAME KC1 张三 语文,数学,外语2 李四 历史,地理 方法:使用sql中的STUFF函数与for xml path 1.for xml path是将将查询结果集以XML形式展现 比如对于表B,…
插入: 1. 数据从另一个表中获取 (1)两表结构不一样insert into tb1 需要的列名 select 按照前面写上需要的列名 from tb2(2)两表结构一样insert into tb1 * select * from tb2 2. 数据直接输入 (1) INSERT INTO MyTable(ID,NAME) VALUES(1,'123');INSERT INTO MyTable(ID,NAME) VALUES(2,'456');INSERT INTO MyTable(ID,N…
插入语句的语法: INSERT INTO 表() VALUES(值列表) 注意事项: 1:每次插入一行数据,不能只插入半行或几列数据. 2:每一个数据值的数据类型.精度和小数位数必须与相应的列匹配. 3:不能为标识列指定值. 4:如果在设计表的时候就指定了某列不允许为空,则必须插入数据. 5:插入的数据项,要求符合检查约束的要求. 6:具有缺省值的列,可以使用DEFAULT(缺省)来代表插入的值. 向表中所有的列添加数据,要求值的顺序与列的顺序完全一致,列名可省略: INSERT Userinf…
我们都知道truncate table可以用来删除整个表的内容,它与delete后面不跟where条件的效果是一样.但除此之外,我们还清楚它们之间有其它的区别吗?本章我们将一起讨论truncate与delete区别. 我们先看一下truncate table的说明:删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE在功能上与没有WHERE子句的DELETE语句相同:但是,TRUNCATE TABLE速度更快,使用的系统资源和事务日志资源更少. truncate table的语…
在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select结果查询语句即可将数据写入.通过Insert Into和Select语句连用可以很快的将一个表的数据写入到另一个数据表中. 例如我们需要将订单表Order_2中的type=1的数据写入到订单表Order_1表中的语句如下: Insert Into Order_1  (OrderNo,Name,Cre…
第一种情况:将A数据库.dbo.A表的数据追加到B数据库.dbo.B表中 (条件:此时B数据库中已创建好了B表) insert into B数据库.dbo.B表 select * from A数据库.dbo.A表 [where条件] 此T-SQL语句会有异常    仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'B数据库.dbo.B表'中的标识列指定显式值. 原因:B数据库.dbo.B表中某列别设置成自动增长(一般为主键ID). 解决:把 * 变成 指定 [列名]…