-
SQL学习笔记二创建表、插入数据的语句
创建一个表T_Employee并插入若干数据复制代码代码如下:createtableT_Employee(FNumberVARCHAR(20),FNameVARCHAR(20),FAgeint,FSalaryNUMERIC(10,2),PRIMARYKEY(FNumber));insertintoT_Employee(FNumber,FName,FAge,FSalary)values('DEV001','Tom',25,8300);insertintoT_Employee(FNumber,FName,FAge,FSalary)values('DEV002','Jerry',28,2300.80);insertintoT_Employee(FNumber,FName,FAge,FSalary)values('SALES001','John',23,5000);insertintoT_Employee(FNumber,FName,FAge,FSalary)values('SALES002','Kerry',28,6200);insertintoT_Employee(FNumber,FNam...
数据库操作教程 2022-09-23 20:25:11 -
MSSQL存储过程学习笔记一关于存储过程
一、存储过程的概念,优点,语法在写笔记之前,首先需要整理好这些概念性的东西,否则的话,就会在概念上产生陌生或者是混淆的感觉。概念:将常用的或者是很复杂的工作,预先利用SQL语句写好并用一个指定的名称存储起来,那么以后要是调用这些SQL语句的时候,只需要利用Execute/Exec执行以下,即可...
数据库操作教程 2022-09-23 20:24:43 -
Sql语句学习指南第1/2页
1.在查询结果中显示列名: a.用as关键字:selectnameas'姓名'fromstudentsorderbyage b.直接表示:selectname'姓名'fromstudentsorderbyage 2.精确查找: a.用in限定范围:select*fromstudentswherenativein('湖南','四川') b.between...and:select*fromstudentswhereagebetween20and30 c.“=”:select*fromstudentswherename='李山' d.like:select*fromstudentswherenamelike'李%'(注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:'%李%';若是第二个字为李,则应为'_李%'或'_李'或'_李_'...
数据库操作教程 2022-09-23 20:24:33 -
实例学习mssql存储过程分析
例1:通过存储过程查询数据库中的student表 我们知道在sql中,我们查询一个表,可以通过 select * from student 进行查询,那在存储过程中该怎么写呢? 解: 首先我们打开查询分析器,(以下举的例子中的存储过程都用查询管理器来创建); 然后我们先来创建一个存储过程以备等会使用,(就好像在编程中我们先来编一个函数一样): create procedure proc_stu as select * from studentgo 这样一个存储过程就创建好了,现在我们来执行一下 我们可以在查询分析器中输入:execute proc_stu 便可以看到效果分析一下上面的例子,proc_stu为存储过程名,select * from student很显然就是SQL语句了,执行的时候我们只需要execute(执行) 存储过程名,就可以了.其中 , procedure ...
数据库操作教程 2022-09-23 20:18:10 -
SQL语句操作全集学习mssql的朋友一定要看
SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:mssql7backupMyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4、说明:创建新表createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..)根据已有的表创建新表:A:createtabletab_newliketab_old(使用旧表创建新表)B:createtabletab_newassele...
数据库操作教程 2022-09-23 20:13:23 -
SQLServer学习笔记之事务、锁定、阻塞、死锁用法详解
本文实例讲述了SQLServer学习笔记之事务、锁定、阻塞、死锁用法。分享给大家供大家参考,具体如下:1、事务隐式事务/*==================================================================当以create,drop,fetch,open,revoke,grand,altertable,select,insert,delete,update,truncatetable语句首先执行的时候,SQLServer会话自动打开一个新的事务,如果在会话中激活了隐式事务模式,那么这个事务会一直保持打开状态,直到rollback或commit语句这个事务才结束,如果忘记提交事务,那么在相应的隔离级别下,事务占用的锁可能不会释放,因此尽量不要用隐式事务...
数据库操作教程 2022-09-23 18:22:17 -
浅析SQLServer的聚焦使用索引和查询执行计划
前言上一篇《浅析SQLServer聚焦索引对非聚集索引的影响》我们讲了聚集索引对非聚集索引的影响,对数据库一直在强调的性能优化,所以这一节我们统筹讲讲利用索引来看看查询执行计划是怎样的,简短的内容,深入的理解。透过索引来看查询执行计划我们首先来看看第一个例子1、默认使用索引USETSQL2012GOSELECTorderidFROMSales.OrdersSELECT*FROMSales.Orders上述我们看到第2个查询的所需要的开销是第1个查询开销的3倍,当然其中也涉及到第1个查询只是返回一列而第2个查询返回所有列,这其中也耗费一小部分性能...
数据库操作教程 2022-09-23 18:08:52 -
SQLServer中参数化SQL写法遇到parametersniff,导致不合理执行计划重用的快速解决方法
parametersniff问题是重用其他参数生成的执行计划,导致当前参数采用该执行计划非最优化的现象。想必熟悉数据的同学都应该知道,产生parametersniff最典型的问题就是使用了参数化的SQL(或者存储过程中使用了参数化)写法,如果存在数据分布不均匀的情况下,正常情况下生成的执行计划,在传入在分布数据较多的参数的情况下,重用了正常参数生成的执行计划,而这种缓存的执行计划并非适合当前参数的一种情况...
数据库操作教程 2022-09-23 17:57:30 -
MSSQLServer游标(CURSOR)的学习使用
说实的,使用MSSQLServer这样久,游标一直没有使用过。以前实现相似的功能,都是使用WHILE循环加临时表来实现...
数据库操作教程 2022-09-23 17:56:55 -
强制SQLServer执行计划使用并行提升在复杂查询语句下的性能
通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了HashJoin,由于涉及的表中数据众多,因此查询优化器选择使用并行执行,速度较快。而我们优化完的执行计划由于索引的存在,且表内数据非常大,过滤条件的值在一个很宽的统计信息步长范围内,导致估计行数出现较大偏差(过滤条件实际为15000行,步长内估计的平均行数为800行左右),因此查询优化器选择了LoopJoin,且没有选择并行执行,因此执行时间不降反升...
数据库操作教程 2022-09-23 17:56:15 -
浅析SQLServer中的执行计划缓存(上)
简介我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径。当我们写的SQL语句传到SQLServer的时候,查询分析器会将语句依次进行解析(Parse)、绑定(Bind)、查询优化(Optimization,有时候也被称为简化)、执行(Execution)...
数据库操作教程 2022-09-23 17:48:06 -
SQLServer中Check约束的学习教程
0.什么是Check约束?CHECK约束指在表的列中增加额外的限制条件。注:CHECK约束不能在VIEW中定义...
数据库操作教程 2022-09-23 17:43:05