随笔分类 - SQL学习实践
摘要:学习SQL SERVER数据库,SQL SERVER字段类型是最基本的知识,以下为SQL SERVER7.0以上版本的字段类型说明,希望可以使您对SQL SERVER字段类型了解的更深入。字段类型描述bit0或1的整型数字int从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字smallint从-2^15(-32,768)到2^15(32,767)的整型数字tinyint从0到255的整型数字decimal从-10^38到10^38-1的定精度与有效位数的数字numericdecimal的同义词money从-2^63(-922,337,203,685
阅读全文
摘要:SQL Server系统数据库。它们分别是master数据库、model数据库、tempdb数据库、msdb数据库和distribute数据库1.master 数据库master数据库是用来记录所有系统级别信息,它记录所有的登陆帐户和系统配置设置,他同时也记录着其他的数据库,包括数据库文件的位置。2 .mode数据库model数据库是建立所有用户数据库时的模板。当你建立一个新数据库时,SQL Server会把model数据库中的所有对象建立一份拷贝并移到新数据库中。在模板对象被拷贝到新的用户数据库中之后,该数据库的所有多余空间都将被空页填满。3.tempdb数据库tempdb数据库是一个非常特
阅读全文
摘要:DBCCHELP('?')--查出DBCC的关键字帮助decleat@dbcc_stmtsysnameset@dbcc_stmt='showcontig'----关键字的语法格式dbcchelp(@dbcc_stmt)go
阅读全文
摘要:在SQL Server中可以通过decimal实现小数的四舍五入计算,例如: SELECT CAST('123.456' as decimal) 将会得到 123(小数点后面的将会被省略掉)。 decimal还可以设定参数。例如如果希望得到小数点后面的两位,则需要把上面的改为:SELECT CAST('89.657' as decimal(38, 2)) 结果为89.67,这样就可以实现SQL的四舍五入了!
阅读全文
摘要:现有三个数据表,分别是学生表,课程表,成绩表。它们的结构与样例数据如下:学生表:xno xname1 小王2 小黑课程表:kno kname1语文2 数学成绩表:cnocknocf1 186.51 2 98.8621 86.722 86.9createtable学生表(xnoint,xnamevarchar(20))goinsertintodbo.学生表select1,'小王'unionallselect2,'小黑'createtable课程表(knoint,knamevarchar(20))goinsertinto课程表select1,'语文'
阅读全文
摘要:1:replace替换函数第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么selectreplace('qingsong','g','8');-----------------------------qin8son8(所影响的行数为1行)=========================================================2:substring截取字符函数第一个参数是字符串,第二个是截取字符串的开始位置,第三个截取结束位置selectsubstring('qingsong',1,
阅读全文
摘要:-------在SQLserver 2000中测试--查询所有用户表所有字段的特征SELECTD.NameasTableName,A.colorderASColOrder,A.nameASName,COLUMNPROPERTY(A.ID,A.Name,'IsIdentity')ASIsIdentity,CASEWHENEXISTS(SELECT1FROMdbo.sysobjectsWHEREXtype='PK'ANDNameIN(SELECTNameFROMsysindexesWHEREindidIN(SELECTindidFROMsysindexkeysWHE
阅读全文
摘要:只要执行下面三行SQL语句:EXECsp_dboption'thus1旧数据库名','SingleUser','TRUE'EXECsp_renamedb'thus1旧数据库名','th_us2020新数据库名'EXECsp_dboption'th_us2020新数据库名','SingleUser','FALSE'
阅读全文
摘要:概述 和其他高级语言一样,T-SQL中也有用于控制流程的语句。T-SQL中的流程控制语句进一步扩展了T-SQL的力量……使得大部分业务逻辑可以在数据库层面进行。但很多人对T-SQL中的流程控制语句并没有系统的了解,本篇文章会系统的对T-SQL语句中的流程控制语句进行系统讲解。基本概念 在没有流程控制语句的情况下,T-SQL语句是按照从上到下的顺序逐个执行: 使用流程控制语句可以让开发人员可以基于某些逻辑进行选择性的跳转,实现了类似高级语言的跳转结构:流程控制语句的使用范围和GO关键字 流程控制语句只能在单个批处理段(Batch),用户自定义函数和存储过程中使用。不能跨多个批处理段或者用户自..
阅读全文
摘要:执行下面格式化时间和日期的T-SQL脚本,在数据库查询分析器中示范了SQL Server中的大多数可用的时间数据格式SELECTconvert(varchar,getdate(),100)--monddyyyyhh:mmAM(orPM)--1031201111:33PMSELECTconvert(varchar,getdate(),101)--mm/dd/yyyy-10/31/2011SELECTconvert(varchar,getdate(),102)--yyyy.mm.dd--2011.10.31SELECTconvert(varchar,getdate(),103)--dd/m...
阅读全文
摘要:备份test数据库BackupDatabase[test]Todisk='c:\test.bak'WithPassword='123',init恢复test数据库Restore Database [test] From disk='c:\test.bak'WithPassword='123'
阅读全文
摘要:BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。本文介绍如何利用BCP导入导出数据。 BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。BCP可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出。在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。下面将详细讨论如何利用BCP导入导出数据。1. BCP的主要参...
阅读全文
摘要:数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过
阅读全文
摘要:一、了解你用的工具不要轻视这一点,这是我在这篇文章中讲述的最关键的一条。也许你也看到有很多的SQL Server程序员没有掌握全部的T-SQL命令和SQL Server提供的那些有用的工具。“什么?我要浪费一个月的时间来学习那些我永远也不会用到的SQL命令???”,你也许会这样说。对的,你不需要这样做。但是你应该用一个周末浏览所有的T-SQL命令。在这里,你的任务是了解,将来,当你设计一个查询时,你会记起来:“对了,这里有一个命令可以完全实现我需要的功能”,于是,到MSDN查看这个命令的确切语法。二、不要使用游标让我再重复一遍:不要使用游标。如果你想破坏整个系统的性能的话,它们倒是你最有效..
阅读全文
摘要:在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7.假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。当然,你可以通过@@DATEFIRST函数来检查第一天设置。 一、为了理解这些例子,我们先复习一下DATEDIFF和DATEADD函数。DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。DAT...
阅读全文
摘要:安装SQL SERVER 2000时提示:“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。” 接着按照提示重启计算机,再安装,仍然出现同样的提示。原因是安装程序在先前的安装过程中在系统注册表留下某些信息,导致不能安装。删除掉如下键值信息即可安装: 在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Session Manager中找到PendingFileRenameOperations,删除该键值,关闭注册表编辑器。重新安装SQL Server 2000.
阅读全文
摘要:---分页方法 ------------1.top分页:selecttop10*fromOrdersawherea.orderidnotin(selecttop10orderidfromOrdersorderbyorderid)orderbya.orderid------------2.MAX函数---这种方法的前提是有唯一值的一个列。selecttop10*fromOrdersawherea.orderid>(selectMAX(orderid)from(selecttop10orderidfromOrdersorderbyorderid)asorderid)orderbyorderi
阅读全文
摘要:--启用xp_cmdshellUSEmasterGOEXECsp_configure'showadvancedoptions',1GORECONFIGUREWITHOVERRIDEGOEXECsp_configure'xp_cmdshell',1GORECONFIGUREWITHOVERRIDEGOEXECsp_configure'showadvancedoptions',0GORECONFIGUREWITHOVERRIDEGO--关闭xp_cmdshellUSEmasterGOEXECsp_configure'showadvancedo
阅读全文
摘要:--------------不同服务器数据库之间的数据操作--创建链接服务器exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '--查询示例select*from ITSV.数据库名.dbo.表名--导入示例select*into 表 from ITSV.数据库名.db
阅读全文
摘要:建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。更重要的是,对于非常大的数据模型而言,分页检索时,如果按照传统的每次都加载整个数据源的方法
阅读全文
浙公网安备 33010602011771号