SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database 数据库名称 查询:select name from master..sysdatabases 修改:alter database 数据库名称(在 sql server 中修改与数据库关联的文件和文件组.在数据库中添加或删除文件和文件组.更改数据库或其文件和文件组的属性) (3).管理表 选择数据库:use 数…
Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html…
快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) ) GO INSERT #T EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #T O…
1.SQL Server表名为什么要加方括号? 这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加. 比如,一个表名叫user,user在sqlserver中属于关键字,那么查询的时候必须要这样: select * from [user] 否则就会报错. 同理,如果user属于字段名,也同样要加,如 select * from 表名 where [user]=1 2.SQL中的go,begin,end go 向 S…
1. SQL Server运行在什么端口上? 可以被修改么? 答: 1433端口. 可以修改的, 在SQL Server Configuration Manager的SQL Server Network Configuration的TCP/IP中. Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager) http://msdn.microsoft.com/en-us/librar…
8. 一般什么时候使用update_statistics命令? 答:  这个命令基本上是在很多数据被处理过了之后才使用的. 如果大量的删除, 修改, 或这大量的数据插入已经发生了, 那么index就需要更新来让这些修改生效. UPDATE_STATISTICS命令会为table们更新index.   9. Having子句和Where子句有什么区别? 答: 它们都为group或aggregate指定了搜索条件. 但是区别是Having只能用在select命令中. Having典型地会被用在Gro…
数据库设计简单地来讲,也就是设计表格的过程. 表格存储的数据是可以理解为一个二维表,由行和列组成. 原则上来讲,一个数据库只需要一个字段,一个数据类型就可以解决所有的问题,但是这样做并不明智,所以一般来讲,一个表格都是由多个字段来组成 ,每个字段也可以由不同的数据类型来组成. 常见的数据类型如下: 一.整数 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. i…
15. 存储过程可以调用自己么, 或者说可能有递归的存储过程么? SP nesting最多可以到多少层? 答: 可以的. 因为Transact-SQL 支持递归, 你可以编写可以调用自己的存储过程. 敌对可以被定义为一种解决问题的方法, 其中问题的解决是通过不断的对问题的子集调用自己而达成的. 当一个存储过程调用另一个存储过程或执行CLR的routine, type, 或aggregate时, 就会形成嵌套(nest). 你最多可以嵌套存储过程或托管代码的层级为32层.   16. 什么是log…
五.表连接 当数据表中存在许多重复的冗余信息时,就要考虑将这些信息建在另一张新表中,在新表中为原表设置好外键,在进行数据查询的时候,就要使用到连接了,表连接就好像两根线,线的两端分别连接两张表的不同字段上,将两个字段进行关联.表连接分为内连接(inner join).交叉连接.自连接和外连接等. 1.内连接,语法  inner join table_name on condition ,table_name被关联的表名,condition关联条件. 例如:有两张表,T_Customer保存着客户…
我们都知道truncate table可以用来删除整个表的内容,它与delete后面不跟where条件的效果是一样.但除此之外,我们还清楚它们之间有其它的区别吗?本章我们将一起讨论truncate与delete区别. 我们先看一下truncate table的说明:删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE在功能上与没有WHERE子句的DELETE语句相同:但是,TRUNCATE TABLE速度更快,使用的系统资源和事务日志资源更少. truncate table的语…