-
sqlserverexists,notexists的用法
学生表:createtablestudent( idnumber(8)primarykey, namevarchar2(10),deptmentnumber(8))选课表:createtableselect_course( ID NUMBER(8)primarykey, STUDENT_IDNUMBER(8)foreignkey(COURSE_ID)referencescourse(ID), COURSE_ID NUMBER(8)foreignkey(STUDENT_ID)referencesstudent(ID))课程表:createtableCOURSE( ID NUMBER(8)notnull, C_NAMEVARCHAR2(20), C_NO VARCHAR2(10))student表的数据: &...
数据库操作教程 2022-09-23 16:52:55 -
几个简单的基本的sql语句
说明:几个简单的基本的sql语句 选择:select*fromtable1where范围 插入:insertintotable1(field1,field2)values(value1,value2) 删除:deletefromtable1where范围 更新:updatetable1setfield1=value1where范围 查找:select*fromtable1wherefield1like'%value1%'---like的语法很精妙,查资料! 排序:select*fromtable1orderbyfield1,field2[desc] 总数:selectcount*astotalcountfromtable1 求和:selectsum(field1)assumvaluefromtable1 平均:selectavg(field1)asavgvaluefromtable1 最大:selectmax(field1)asmaxvaluefromtable1 最小:selectmin(field1)asminvaluefromtable1...
数据库操作教程 2022-09-23 16:52:50 -
SQLServer服务器优化技巧浅谈
1.数据和日志文件分开存放在不同磁盘上 数据文件和日志文件的操作会产生大量的I/O。在可能的条件下,日志文件应该存放在一个与数据和索引所在的数据文件不同的硬盘上以分散I/O,同时还有利于数据库的灾难恢复...
数据库操作教程 2022-09-23 16:52:42 -
sqlserver自动备份所有数据库的SQL
复制代码代码如下:usemasterdeclare@DbNamevarchar(60)declare@BackSqlvarchar(1000)declaremyCursorcursorforSELECT[name]FROMSYSDATABASESwhere[name]notin('master','model','msdb','tempdb')orderby[name]openmyCursorfetchnextfrommyCursorinto@DbNamewhile(@@FETCH_STATUS=0)beginifdatename(weekday,getdate())='星期三'--每周三覆盖上周三的beginselect@BackSql='BackupDATABASE['+@DbName+']todisk=''E:DbBackUp'+@DbName+'星期三.bak''withformat'endelse--每天覆盖上一天的beginselect@BackSql='BackupDATABASE['+@DbName+']todisk=''E:DbBackUp'+@DbName+'Aut...
数据库操作教程 2022-09-23 16:52:39 -
sql分组查询问题
情景一:表中数据namescoreaaa11aaa19bbb12bbb18ccc19ddd21期望查询结果如下namescoreaaa30bbb30ccc19ddd21复制代码代码如下:---检查表是否存在ifexists(select*fromsysobjectswherename='testSum')droptabletestSumgo---创建表createtabletestSum(tidintprimarykeyidentity(1,1),tnamevarchar(30)null,tscorintnull)goinsertintotestSum(tname,tscor)select'aaa',11unionallselect'aaa',19unionallselect'bbb',12unionallselect'bbb',18unionallselect'ccc',19unionallselect'ddd',21---查询语句selecttname,sum(tscor)fromtestSumgroupbytname---只查询tscor总和为30的selecttname,sum...
数据库操作教程 2022-09-23 16:52:32 -
SQL批量插入数据几种方案的性能详细对比
公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问。技术方案一:压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入...
数据库操作教程 2022-09-23 16:52:31 -
SQL2000全文索引完全图解
全文检索可以对varchar,text,image型字段进行检索,但一个表最多只能建一个全文索引SQLServer2000引入了对存储在image列中的这些类型的数据执行全文检索的能力。如果没有全文索引,对字符的模糊查询只能对基表进行全表扫描(或索引扫描),执行模糊查询都需要对全表扫描或索引扫描意味着消耗大量IO...
数据库操作教程 2022-09-23 16:52:19 -
mssqlinsertinto和insertintoselect性能比较
使用insertintotable(field,...)values(value,...),insertintotable(field,...)values(value,...)...的情况 使用insertintotable(field,...)select(value,...)unionallselect(value,...)unionallselect(value,...)...的情况我一次插入的数据是:1190条。用insertinto所用的时间在510毫秒上下徘徊,而用insertintoselect所用的时间在16毫秒上下徘徊...
数据库操作教程 2022-09-23 16:52:19 -
mysql数据库中索引原理分析说明
下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部...
数据库操作教程 2022-09-23 16:52:12 -
sql2005存储过程分页示例代码
复制代码代码如下:--分页存储过程示例AlterPROCEDURE[dbo].[JH_PageDemo]@pageSizeint=9000000000,@pageIndexint=1,@orderByNvarchar(200)=''--不加orderByASSETNOCOUNTON--声明变量DECLARE@selectVARCHAR(3048);DECLARE@fromVARCHAR(512);DECLARE@RowNumberVARCHAR(256);DECLARE@conditionnVARCHAR(3990);DECLARE@groupByvarchar(50);DECLARE@sqlVARCHAR(3998);DECLARE@RowStartIndexINT;DECLARE@RowEndIndexINT;BEGINSETNOCOUNTonIF@orderBy<>''Set@orderBy='ORDERBY'+@orderBy;elseSet@orderBy='ORDERBYUserid';SET@select='selectuserid,username,';--...
数据库操作教程 2022-09-23 16:52:11 -
教你几种在SQLServer中删除重复数据方法
方法一复制代码代码如下:declare@maxinteger,@idintegerdeclarecur_rowscursorlocalforselect主字段,count(*)from表名groupby主字段havingcount(*)>1opencur_rowsfetchcur_rowsinto@id,@maxwhile@@fetch_status=0beginselect@max=@max-1setrowcount@maxdeletefrom表名where主字段=@idfetchcur_rowsinto@id,@maxendclosecur_rowssetrowcount0方法二有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。1、对于第一种重复,比较容易解决,使用复制代码代码如下:selectdistinct*fromtableName就可以得到无重复记录的结果集...
数据库操作教程 2022-09-23 16:52:07