Sql Server 课堂笔记】的更多相关文章

创建表 --创建学生表 create table student (sno char(8) primary key, sname char(8) not null unique, ssex char(2) default'男' check(ssex='男' or ssex='女'), sage tinyint check(sage>=14 and sage<=50), sdept char(40)) --创建课程表 create table course (cno char(2) primar…
SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器 1. T-SQL编程 (1)声明变量 declare @age int (2)为变量赋值 (3)while循环 begin print @i end (4)if  else begin print '大于10' end begin print '大于5' end else begin print '小于等于5' end (5)系统变量 @@version: 返回  SQL Server的当前安装的系统和生成…
原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.objects --1.当delete语句要关联其他表时与update语句类似,可参考上面update语句的写法 --2.truncate table语句删除行比delete快很多,不过必须一次删除所有的行(没有where子句) --之所以快是因为记录的日志很少,采用表级别锁. --如果表中有IDENTI…
1.关于复制类型 快照发布:发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照. 事务发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器. 对等发布:对等发布支持多主复制.发布服务器将事务流式传输到拓扑中的所有对等方.所有对等节点可以读取和写入更改,且所有更改将传播到拓扑中的所有节点. 合并发布:在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据.更改会定期合并.Microsoft SQL Server Compact E…
sql server 2008开启远程访问数据库 1.以windows验证模式进入数据库管理器. 第二步:右击sa,选择属性: 在常规选项卡中,重新填写密码和确认密码(改成个好记的).把强制实施密码策略去掉. 第三步:点击状态选项卡:勾选授予和启用.然后确定 第四步:右击实例名称(就是下图画红线的部分),选择属性. 第五步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式. 第六步:重启SQLSERVER服务(重要). sql server 2008 服务启动不了 关闭 V…
1.查询安装的排序规则选项喝当前的排序规则服务器属性 select * from fn_helpcollations(); 2.查看当前服务器的排序规则 select serverproperty('Collation') as ServerCollation; 3.修改数据库DB1的排序规则,使他区分大小写 create database DB1 go alter database DB1 collate SQL_Latin1_General_CP1_CS_AS; go select data…
--★★★SQL语句本身区分大小写吗 --SQLServer 不区分大小写 --Oracle 默认是区分大小写的 --datetime的输入格式,2008-01-07输入进去后显示为1905-06-24 00:00:00.000 查查为什么会出现这样的错误???需要完全输入,例如'2014.11.12 11:00:12',由年到秒都要输全 -------------------------------------------- go语句的作用: 向 SQL Server 实用工具发出一批 Tra…
SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程 1. CASE函数(相当于C#中的Switch) then '未成年人' else '成年人' end from tbUsers 2. 索引 index 聚集索引(物理):一个表只能有一个.创建一个表时,如果有主键,主键会自动创建聚集索引. 非聚集索引(逻辑):一个表可以有多个. 增加索引后,会增加额外的存储空间开销,降低了增加新纪录.修改.删除的效率. 建索引:索引应该建在经常查询时用到的列上,查询时…
SQL Server知识点回忆篇(三):ADO.NET之C#操作数据库 1.连接数据库 (1)创建连接字符串: 使用windows身份验证时的连接字符串: private string conStr="Data Source=MyTestDB;Initial Catalog=tbUsers;Integrated Security=True"; 使用用户名和密码时的连接字符串: private string conStr="Data Source=MyTestDB;Initia…
SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, 为了防止乱码问题 ,) 2. update 语法格式: update  表名  set  列名=值  where 条件 3. delete 语法格式: delete from 表名 where 条件 使用delete时需谨慎,注意Where条件的控制,避免多删除数据.如果不加where条件,会将表…
SQL Server知识点回忆篇(一):初见数据库 1.  主键 primary key    唯一标识, 不会重复的值才会用来当做主键使用. 表可以没有主键,但建议每张表都有主键. 2.  数据冗余 一般情况下,尽量避免表中数据冗余的情况. 解决方法:把原来表中的数据拆分成多个表来存储. 3.  多张表关联起来 使用主键和外键(一张表中增加一列,这一列引用另一张表的主键). 4.  数据库的磁盘文件 磁盘文件至少两个:后缀.mdf的是主数据文件,后缀.ldf的是日志文件,配置时可设置最大文件大…
1.连接字符串 SQL Server 身份验证,如:"server=yqzhu-peter;database=WindWMNew1_DB;uid=sa;pwd=ABcd1234;Connect Timeout=1000" 2.sa(system administrator),dbo(database owner) 3.SQL 不区分大小写,包括sql语句,数据库名,表名,字段名,变量名,函数名,以及字段中实际值的比较 use wfc_db go create table TestCas…
做个记入就好 USE [master] SELECT bs.database_name AS 'Database Name', bs.backup_start_date AS 'Backup Start', bs.backup_finish_date AS 'Backup Finished', DATEDIFF(MINUTE, bs.backup_start_date, bs.backup_finish_date) AS 'Duration (min)', bmf.physical_device…
http://blog.csdn.net/sqlserverdiscovery/article/details/7712068 Column name Data type Description       blocked smallint ID of the session that is blocking the request. If this column is NULL, the request is not blocked, or the session information of…
本文主要摘自徐海蔚的<Microsoft SQL SERVER企业级平台管理实践> 表变量可以作为存储过程的返回参数,而临时表不行.(存疑?表值参数只在SQL SERVER2008才开始支持,并且限制很多,要首先定义表类型) use [test] go create type [user] as table(id int,name varchar(50)); go create procedure test_prd @u [user] readonly as begin select * fr…
系统先操作地址空间,真正要用的时候才申请物理内存,进行使用. Reserved Memory  保留内存,虚拟内存 Commited Memory 提交内存,物理内存 [如何判断SQL SERVER 内存不足?] 如果进程的用户态CPU时间比较高,一般说明它没有遇到其他瓶颈,正全力运行.如果内存有瓶颈,一般用户态的CPU时间不会很高,但核心态的CPU时间反而升高,因为系统要做的paging动作(pages/sec计数器).同时磁盘也会比较繁忙.但磁盘繁忙,而paging不忙,却不能说明内存不足.…
阻塞是事务隔离带来的副作用,而并不是SQL SERVER的错. 死锁则是互相争用资源而引发.由于死锁会选择牺牲者,所以死锁的危害没有阻塞大.但有时为了解决死锁,会采取对资源加锁,导致阻塞的方式来避免.…
每次SQL SERVER启动的时候,会重新创建. 用于 0.临时表 1.排序 2.连接(merge join,hash join) 3.行版本控制 临时表与表变量的区别: 1)表变量是存储在内存中的,当用户在访问表变量的时候,SQL Server是不产生日志的,而在临时表中是产生日志的; 2)在表变量中,是不允许有非聚集索引的; 3)表变量是不允许有DEFAULT默认值,也不允许有约束; 4)临时表上的统计信息是健全而可靠的,但是表变量上的统计信息是不可靠的; 5)临时表中是有锁的机制,而表变量…
本文转自http://543925535.blog.51cto.com/639838/1427529 在日常的SQL维护中,有很多需要重复周期性去做的工作我们不太可能去手动操作完成,比如备份作业.重建维护索引.数据库整理等. 以备份为例,一般我们会把数据库备份的时间段放在夜间,那么我们可以通过创建备份的相关维护计划来让备份作业在夜间重复周期性的执行. 整个过程并不是特别复杂,下面我们来看看整个实现的过程. =============================================…
什么时候会用到嵌套事务 ? 为了代码复用,我们会写许多的储蓄过程,而中间如果需要使用到 transaction 难免就会发生嵌套了. sql server 并不直接支持嵌套事务. 但它可以用一些招式来实现嵌套效果. 虽然这些招式并不优雅,也容易让了陷入迷雾. 这篇收集了一些资料来说说 sql server 中的嵌套事务. 这篇写了基本的 sql server 对 transaction 的处理方式 https://www.cnblogs.com/kymo/archive/2008/05/14/1…
refer : https://blog.csdn.net/winer2008/article/details/4283539 https://www.cnblogs.com/linJie1930906722/p/6036053.html https://www.c-sharpcorner.com/blogs/rownumber-function-with-partition-by-clause-in-sql-server1 https://stackoverflow.com/questions…
执行计划对性能影响甚大. 系统是怎么得出一个号的执行计划的?主要是依赖于准确的统计信息.统计信息准确的前提下,执行语句重用性高,可避免频繁编译,这也有助于提高性能. 但如果怀疑统计信息不够准确,可以强制待执行的SQL语句编译.主要方法为清除内存中的执行计划,运用编译语句等. 为何索引重建后查询速度变快? 1.消除了数据碎片 2.更新了统计信息.…
查询数据库是否存在: if DB_ID("testDB")is not null; 检查表是否存在: if OBJECT_ID(“textDB”,“U”) is not null ;其中U代表用户表 创建数据库: create database+数据名 删除数据库: drop database 数据库名 --删除数据库的 drop table 表名--删除表的 delete from 表名 where 条件 --删除数据的 查询语句: use  数据库名称 --修改的数据库 selec…
1.指定路径创建数据库 create database student on--创建库的时候必须写 ( name=student, filename='E:\database\student.mdf'--关于存放路径问题与本计算机的系统有关,最好创建在文件夹下 ) 2.彻底删除数据库 drop database student 3.创建表 --identity 自动增长列 --primary key 主建 use student go create table stuinfo ( stuId i…
数据库 数据量DataBase,不同类型的数据应该放到不同的数据库中, .便于对各个数据类别进行个性管理 .避免命名冲突 .安全性更高; table(表):数据库中的关系指的就是表; 一张表就是一个类,列就是类的字段,行就是一个类的对象 数据库的主键(Primary key); 主键就是数据行的唯一标识.不会重复的列才能当主键.一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键 主键有两种选用策略:业务主键和逻辑主键.业务主键是使用有业务意义的字段做主键,比如身份证号.银行账…
1. 修改student表中sdept字段改为varchar类型,长度为30,并且不为空 ) not null 2. 删除student表中的address列 alter table student drop column address 3. 向student表中添加一个列 code 和 address ) not ) not null…
(1)更改字段类型 (2)添加字段 alter table class add InKinDate intEXECUTE sp_addextendedproperty N'MS_Description', N'新建班级年份,只存年', N'user', N'dbo', N'table', N'class', N'column', N'InKinDate' (3)查看当日[dd].当月[mm].当年[yy]的数据 (4)删除字段 ALTER TABLE [表名] DROP COLUMN [字段名]…
DECLARE @ProName NVARCHAR(50)DECLARE @CityName NVARCHAR(50)DECLARE @ProId INT DECLARE @CityId INT DECLARE Test_Cursor CURSOR LOCAL READ_ONLY STATIC FORWARD_ONLY FORSELECT a.AreaId,a.AreaName,b.AreaName FROM AreaFull AS a RIGHT JOIN AreaFull AS b ON a…
排序显示行号 select Row_Number() over(order by Code) as RowNumber,ID,Code,Name from CBO_ItemMaster 不排序显示行号 select Row_Number() over(order by (select 0)) as RowNumber,ID,Code,Name from CBO_ItemMaster…
nested loop join:适用于小数据集,有索引的情况.不占用内存,不用tempdb. merge join:大数据,要排序,多对多,用tempdb: hash join:对大数据集,少用户使用,尤其是数据仓库最为适用.消耗资源厉害,占用大量内存,使用tempdb.…