![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 57
查理001
这个作者很懒,什么都没留下…
展开
-
在命令提示符窗口下访问sql server数据库
-osql ?可获得操作信息-osql -U 用户名---接下来会提示输入密码 编写完sql 语句之后输入GO,即可执行之前编写的语句原创 2012-08-09 11:50:32 · 445 阅读 · 0 评论 -
公用表表达式CTE
先看下面一个嵌套的查询语句:select * from person.StateProvince where CountryRegionCode in (select CountryRegionCode from person.CountryRegion where Name like 'C%') 上面的查询语句使用了一个子查询。虽然这条SQ转载 2012-11-21 13:46:34 · 430 阅读 · 0 评论 -
SQL SERVER中partition的用法
有这样一批数据:groupid ModifyDate groupTypeID----------- ----------------------- -----------125 2010-12-10 11:51:51.000 1 120 2010-08-27 14:24:49.000 1 120 2010-08-27 14:23:12.000 1 120 2010-08-2转载 2012-11-21 16:57:16 · 2368 阅读 · 0 评论 -
只有mdf文件和ldf文件,怎么恢复数据库。
原来刚学数据库的时候,不知道数据库的备份和还原,就直接去拷贝数据库mdf和ldf文件,后来会了数据库的备份和还原,一直也就没有注意拷贝mdf和ldf带来的问题。现在需要参考原来拷贝的代码和数据库(拷贝的mdf和ldf文件),结果发现数据库还原不上了。我就在百度搜索,出来了不少相关网页,打开后发现基本都是一个相同解决方案,列出ABCDEFG或者12345几项去解决,可惜,不成功。那就继续搜索,幸转载 2012-12-18 10:13:23 · 3017 阅读 · 0 评论 -
sql server行转列问题总结
行转列问题总结1、行转列---1、最简单的行转列/* 问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 李四 74 84 94张三 74 83 93*/--转载 2013-01-05 09:26:45 · 486 阅读 · 0 评论 -
表连接的三种方式
表的连接方式:NESTED LOOP、HASH JOIN、SORT MERGE JOIN表连接方式及使用场合NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nested loops。一般在nested loop中,转载 2013-01-07 16:31:10 · 554 阅读 · 0 评论 -
RE:DBA三十问
1. char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;答:char是定长的字符类型,若长度不够自动在后面补足够的空格;varchar是可变长度的字符类型,具长度体根据存入的数据而定;nvarchar可理解为unicode的可变长度字符类型;xml类型转载 2013-01-07 16:42:25 · 465 阅读 · 0 评论 -
游标
一:什么是游标游标是可以在结果集中上下游动的指针二:创建一个简单的游标use xlandgo --声明变量以后有用declare @id intdeclare @title varchar(max)declare @username varchar(50)--定义一个游标并打开它declare tablecursor cursor for s转载 2013-01-08 14:21:54 · 449 阅读 · 0 评论 -
sql server数据库备份
1.全量数据备份 备份整个数据库,恢复时恢复所有。优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用。在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋。使用这种类型的备份带来的问题是非常缺乏灵活性,而且当数据库被冲掉后,你面临丢失大量数据的潜在威胁。例如,假设你每天在午夜备份数据库。如果服务器在晚上11点崩溃了,你将丢失前面23转载 2013-01-23 21:15:58 · 570 阅读 · 0 评论 -
sql server 学习资源
sql server2008学习资源转载 2013-01-11 11:05:23 · 375 阅读 · 0 评论 -
使用PowerDesigner创建数据库表图文并茂版
使用PowerDesigner 建数据库表。一直很忙,没有时间写东西。这次搞点会声会色的,嘿嘿此技能为项目经理必备技能。本次主角:1.在workspace下建立一项目:physical data model类型的在DBMS处选择mysql5.02.建立表UML图:在工具条上选择表格工具,创建出一个表来。然后双击转载 2013-01-11 15:04:42 · 417 阅读 · 0 评论 -
sql server waitfor
在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当。但使用更加简捷。看MSDN:http://msdn.microsoft.com/zh-cn/library/ms187331.aspx语法为:WAITFOR { DELAY 'time_to_pass' | TIME 'time_to_execute' |转载 2013-02-07 11:17:15 · 493 阅读 · 0 评论 -
ORACLE内部函数大全以及与SQLSERVER的区别
下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。函数 Oracle Microsoft SQL Server 把字符转换为ASCII :ASCII ASCII 字串连接: CONCAT --------------(expression + expression) 把ASCII转换为字符 CHR, CHAR 返回字符串中的开始字符(左起转载 2013-02-20 20:27:38 · 578 阅读 · 0 评论 -
获取某月第一天,最后一天的sql server脚本
这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天SELECT DATEADD(mm, DATEDIFF(mm,0,getdate())-1, 0) --上个月的第一天SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate(转载 2013-06-25 10:44:04 · 7946 阅读 · 1 评论 -
ms sql server exec sp_executesql的区别
摘要1,EXEC的使用2,sp_executesql的使用 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详转载 2013-11-06 17:14:01 · 709 阅读 · 0 评论 -
Oracle存储过程如何返回结果集
Oracle存储过程:CREATE OR REPLACE PROCEDURE getcity ( citycode IN VARCHAR2, ref_cursor OUT sys_refcursor /* 这个sys_refcursor类型在SYS.STANDARD包中 */)ASBEGIN OPEN ref_cursor F转载 2014-03-11 10:47:07 · 2237 阅读 · 0 评论 -
Oracle package 包详解
包是一组相关过程、函数、变量、常量#SinaEditor_Temp_FontName、类型和游标等PL/SQL程序设计元素的组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。一个包由两个分开的部分组成:(1)包package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型、变量、常量、游标等元素。这部分也是为使用者提供了透明的转载 2014-03-11 10:59:15 · 1213 阅读 · 0 评论 -
MYSQL基本操作
开启服务:命令行,net start mysql(服务名)关闭服务:命令行,net stop mysql原创 2014-03-10 14:39:07 · 85 阅读 · 0 评论 -
sql server分页语句整理
第一种方式:SELECT B.*FROM (SELECT ROW_NUMBER() OVER(ORDER BY part_no) AS ROW_NUMBER, A.* FROM Part AS A) AS B WHERE B.ROW_NUMBER 如果写成下面这种形式是会报错的:原因应该是与SELECT语句的执行顺序有关的,处理where子句在处理select列表原创 2012-11-09 08:48:32 · 530 阅读 · 0 评论 -
MS SQL SERVER动态SQL
CREATE PROCEDURE TESTASBEGIN SET NOCOUNT ON; DECLARE @T AS TABLE (m INT NOT NULL PRIMARY KEY); DECLARE @cols AS NVARCHAR(MAX), @cols2 AS NVARCHAR(MAX), @转载 2012-11-16 17:05:33 · 777 阅读 · 0 评论 -
sql语句,怎么查看一个表中的所有约束
select * from sysobjects where parent_obj in(select id from sysobjects where name='Cost')转载 2012-11-16 08:29:35 · 14644 阅读 · 1 评论 -
sql中group知识点总结
group子句中若是加两个字段,查询出来的结果是什么呢?有这样一张表:TIMER现在按照NAME和AGE进行分组SELECT NAME,AGE FROM TIMER GROUP BY NAME,AGE;结果如下: 这样跟不分组好像没有什么差别,但是我们加上聚合函数之后会不会有什么不同呢?原创 2012-08-30 14:51:43 · 307 阅读 · 0 评论 -
DB2中对日期时间的操作
1 基础知识2 日期函数3 修改日期格式4 客户化日期/时间格式5 小节这篇文章目的是让DB2的初学者了解DB2中的日期和时间的应用,相信使用过其它数据库的大部分人都会很惊喜地发现在DB2中操作日期和时间是多么简单。本文适用于 IBM DB2 Universal Database for Linux、UNIX 和 Windows。 1 基础知识为了用SQL语句得转载 2012-10-10 13:13:23 · 1448 阅读 · 0 评论 -
DB2常用函数总结
一、字符转换函数 1、ASCII() 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2、CHAR() 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。 3、LOWER()和UPPER() LOWER()将转载 2012-10-16 21:28:38 · 563 阅读 · 0 评论 -
oracle基本数据类型
oracle基本数据类型 数据类型参数描述char(n)n=1 to 2000字节定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)varchar2(n)n=1 to 4000字节可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者转载 2012-10-18 15:36:35 · 386 阅读 · 0 评论 -
SQL常用函数总结
一、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。2、CHAR()将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。3、LOWER()和UPPER()LOWER()将字符转载 2012-10-19 08:18:05 · 1341 阅读 · 0 评论 -
SQL SERVER中动态执行SQL 以及调用存储过程的问题
话不多说,先贴上代码DROP PROCEDURE TEST;CREATE PROCEDURE TEST@p NVARCHAR(10)ASBEGIN DECLARE @sql NVARCHAR(200) SET @sql='SELECT * FROM CUSTOMERS WHERE customerid='+@p PRINT @sql EXEC (@sql)E原创 2012-10-29 13:26:22 · 239 阅读 · 0 评论 -
SQL SERVER中动态执行SQL
SQL Server执行动态SQL的话,应该如何实现呢?下面就为您介绍SQL Server执行动态SQL两种正确方式,希望可以让您对SQL Server执行动态SQL有更深的了解。 动态SQL:code that is executed dynamically。它一般是根据用户输入或外部条件动态组合的SQL语句块。动态SQL能灵活的发挥SQL强大的功能、方便的解决一些其它方法难以解决的问转载 2012-10-29 09:45:14 · 592 阅读 · 0 评论 -
SQL三值逻辑
原创 2012-10-20 11:11:36 · 583 阅读 · 0 评论 -
在sql server2005中如何查看一条sql执行了多长时间,CPU运行情况
set statistics time on select * from dbo.Customers; set statistics time off转载 2012-10-31 11:45:36 · 456 阅读 · 0 评论 -
SQL SERVER SELECT语句中加锁选项的详细说明
SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能。用户既能使用SQL Server的缺省设置也可以在select 语句中使用“加锁选项”来实现预期的效果。 本文介绍了SELECT语句中的各项“加锁选项”以及相应的功能说明。 功能说明: NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下转载 2012-10-31 13:12:43 · 4513 阅读 · 0 评论 -
SQL SERVER 事务相关
1.set XACT_ABORT ON 出错自动回滚,默认是ON 当是ON状态时,设置保存点来rollback是不起作用的,会全部回滚。当时OFF状态时,rollback到保存点就管用了SET XACT_ABORT ONBEGIN TRANSACTION TINSERT INTO Customers( customerid, city)VAL原创 2012-10-31 14:27:24 · 475 阅读 · 0 评论 -
SQL EXSITS的用法
exists做为where条件时,是先对where前的主查询询进行查询,然后用主查询的结果一个一个的代入exists的查询进行判断,如果为真则输出当前这一条主查询的结果,否则不输出。理解了sql select语句的执行流程,其实这个EXISTS语句和他的执行顺序就很好理解了。下面这个例子中,到该执行where 条件的exists时,就会拿A中的数据当做exists中的查询的where条件进行筛原创 2012-10-23 09:50:53 · 876 阅读 · 0 评论 -
DB2中的DECIML类型
创建表的时用的是DECIMAL(13,2),我认为它为13个整数位数+2为有效数字,因为在打印银行交易的FORM时遇到了难题。输出和建表的长度不一样,我们以为它会打印出15为长度(13位整数+2位有效数字),但是却遇到了难题。 经过我们的近一个小时的讨论与时间,可以看出,在DECIMAL(13,2)的数据库的插入时,我们首先输入的数据为1234567890123.99,数据库报转载 2012-10-24 08:30:26 · 779 阅读 · 0 评论 -
SQL SERVER中如何使用输出参数
话不多说,直接贴上代码DROP PROCEDURE TEST;CREATE PROCEDURE TEST( @param VARCHAR(10), @output VARCHAR(10) OUTPUT)ASBEGIN SET NOCOUNT ON; SELECT * FROM Customers WHERE customerid=@param; SET @o原创 2012-10-26 11:03:11 · 821 阅读 · 0 评论 -
SQL SERVER添加删除修改字段的SQL
1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型 ALTER TABLE table_name ALTER COLUMNcolumn_name new_data_t转载 2012-11-06 10:31:00 · 403 阅读 · 0 评论 -
SQL server添加主外键约束
---添加主键约束 alter table 表名 add constraint 约束名 primary key (主键) ---添加唯一约束 alter table 表名 add constraint 约束名 unique (字段)转载 2012-11-12 15:41:51 · 6832 阅读 · 0 评论 -
SQL SERVER中的sysobjects
关于SQL Server数据库的一切信息都保存在它的系统表格里。我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格。但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器。你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工。这就让Sysobjects表格有了用武之地。虽然我不建议你更新这个表格,但是你当然有权对其进行审查。转载 2012-11-14 16:52:56 · 527 阅读 · 0 评论 -
Java调用Oracle存储过程传入数组参数的方法
Java调用Oracle存储过程传入数组参数的方法周四的时候,修改我们系统的代码,应另外一个公司的要求,要修改我们系统调用他们公司的提供的存储过程的调用方式。修改前,是通过配置的数据库用户名和密码直接访问到他们的数据库,再调用存储过程;现在要修改成从我们的数据库中直接访问他们授权的存储过程。以前之所以通过用户名密码访问他们的数据库后再调用,是因为储过程的一个输入参数是数组类型的,传递数组参转载 2014-05-20 22:15:47 · 3396 阅读 · 0 评论