当前位置:  数据库>sqlserver
本页文章导读:
    ▪SQL知识点(一)      --1.SQL由什么文件和什么文件组成?  /* 答:SQL由数据文件和日志文件组成 */--2.SQL的数据文件分哪两类?扩展名分别是什么?分别可以有多少个?  /* 答:SQL的数据文件分主数据文件和二.........
    ▪使用SQL Server Profiler分析器进行数据库的跟踪      在开发的很多时候,尤其是使用一些ORM框架做开发的时候,想要知道是那条SQL语句是怎么拼装执行的,我们只能是一步一步的去跟踪代码。现在有了SQL Server Profiler就方便很多,直接跟踪到执.........
    ▪Sql学习第六天——SQL 巩固练习(用到了前几天几个知识点)      SQL 巩固练习——用到了前几天几个知识点  在查看SQL Server 2005的帮助文档中的cross apply 运算符时发现了一个个人感觉用到的知识点儿比较多,比较经典的例子。在此写下来,也是为了.........

[1]SQL知识点(一)
    来源:    发布时间: 2013-10-29

--1.SQL由什么文件和什么文件组成?

  /* 答:SQL由数据文件和日志文件组成 */

--2.SQL的数据文件分哪两类?扩展名分别是什么?分别可以有多少个?

  /* 答:SQL的数据文件分主数据文件和二级数据文件。    

    主数据文件有且只有一个,二级数据文件0-N个     扩展名:主数据文件:MDF             二级数据文件:NDF */

--3.SQL文件组和文件的关系?

  /* 答:文件存放在文件组中,一个文件只能属于一个文件组;     一个文件组可以有多个文件。 */

--4.用代码创建多个数据文件的数据库?

  /* 答:

  CREATE DATABASE DatabaseName primary ON  

  (  name=逻辑名,  filename=物理名, --扩展名是mdf  size=初始大小,  maxsize=最大值,  filegrowth=增长  ),              

  --多个文件组之间用逗号分隔 filegroup 文件组名  

  (  name=逻辑名,  filename=物理名, --扩展名是ndf  size=初始大小,  maxsize=最大值,  filegrowth=增长  )

  log ON  

  (  name=逻辑名,  filename=物理名, --扩展名是ldf  size=初始大小,  maxsize=最大值,  filegrowth=增长  ) */

--5.用代码创建表?

  CREATE TABLE TABLE_NAME                --创建表的表名

  (  [ID] int IDENTITY(1,1) PRIMARY KEY, --设置ID为自增长的主键  

  [NAME] varchar(20) NOT NULL ,       --设置名字不为空   

  [AGE] tinyint CHECK([AGE]<120)      --设置年龄小于120  )

--6.用代码实现修改数据库,添加文件组?

  ALTER DATABASE DATABASENAME              --要修改的数据库名

  ADD FILEGROUP FILEGROUPNAME              --要添加的文件组名

--7.用代码实现修改文件,文件组?

  /* 答: --修改文件示例

  ALTER DATABASE DATABASENAME

  modify file (  

    [name]='原逻辑名',        

    [NEWNAME] = '新逻辑名',        

    [FILENAME] = '新文件名',        

    [SIZE] = '文件大小',        

    [MAXSIZE] = '文件的最大值',        

    [FILEGROWTH] = '文件增长值或增长百分比'  )  

  */  --修改文件组

   ALTER DATABASE Demo_20091230NEW

  MODIFY FILEGROUP filegroup2 name = Newfilegroup_name

-- 8.用代码修改表实现添加列、修改列、删除列?

  -- 添加列  示例代码  ALTER TABLE Student  ADD [S_Number] Varchar(20)    

  -- 删除列  示例代码  ALTER TABLE Student  DROP COLUMN [S_Number]    

  -- 修改列  示例代码  ALTER TABLE Student  ALTER COLUMN [S_Name] varchar(8)    

  --修改列名  通过系统存储过程  SP_RENAME 'Student.S_Name' ,'S_NAME_NEW'  

-- 9.用代码实现查看表、数据库的信息?

  /* 答:查看表:sp_help 表名     查看数据库:sp_helpDB 数据库名

  */ --示例代码: --查看表:   sp_help class

    --查看表:   sp_helpdb Demo_20091230NEW  

-- 10.重命名数据库和表的SQL语句?

  --重命名表的SQL语句(调用存储过程) SP_RENAME class,classNew 

  --不添加引号 SP_RENAME 'class','classNew' 

  --添加引号 --重命名表的SQL语句(ALTER DATABASE) ALTER DATABASE Demo_20091230NEW Modify name = Demo_20091230

  --重命名数据库的SQL语句 SP_RENAMEDB Demo_20091230NEW,Demo_20091230 

  --不添加引号 SP_RENAMEDB 'Demo_20091230','Demo_20091230NEW'  --添加引号

-- 11.什么是数据库的完整性?

  /*答:确保数据库的一致性和精确性,       可以用约束和触发器来实现。 */

-- 12.数据库完整性的分类?

  /*答:实体完整性:规定表的每一行在表中是唯一的实体。(主键)      

      域完整性:是指表中列满足特定的数据类型和约束。      

     引用完整性:两个表的主键和外键的关键字一致。      

    自定义完整性:用户自己定义的数据类型的约束。 */  

-- 13.约束分为哪两个级别,它和完整性的关系?

  /*   答:约束分表级别和列级别,可以相互转换,只是写法不同。      

       创建联合主键的时候一定要用表级约束  

       PRIMARY KEY约束 (实现实体完整性)  

      UNIQUE KEY约束 (实现域完整性)  

      NOT NULL约束 (实现域完整性)  

      CHECK约束 (实现域完整性)  

      FOREIGN KEY约束 (实现引用完整性)   自定义数据类型(实现自定义完整性)   其中PRIMARY KEY、UNIQUE KEY、FOREIGN KEY   可以新建表级别和列级别约束。 */

-- 14.用代码创建NOT NULL 约束?  

  /*   答:直接在创建表的时候添加。  

    */ --代码示例: CREATE TABLE Student (  [ID] int NOT NULL  )

-- 15.用代码创建primary key 约束(两种方式)?  

  /*   答:primary key 约束可以用列级和表级两种方式创建。       创建联合主键的时候,必须用表级的方式创建。  

  */ --示例代码(列级) CREATE TABLE Student (  [ID] int PRIMARY KEY,  [NAME] varchar(20) )

    --示例代码(表级) CREATE TABLE Student (  [ID] int ,  [NAME] varchar(20)  CONSTRAINT PK_STUDENT PRIMARY KEY ([ID],[NAME]) )

-- 16.用代码创建foreign key 约束(两种方式)?  

  /*   答:foreign key 约束可以用列级和表级两种方式创建。  

  */ --示例代码(列级) CREATE TABLE Student (  [ID] int PRIMARY KEY,  [C_NAME] varchar(20) REFERENCES CLASS([C_NAME])

  --学生表中的课程名引用课程表中的课程名 )

  --示例代码(表级) CREATE TABLE Student } (  [ID] int PRIMARY KEY,  [C_NAME] varchar(20),  CONSTRAINT FK_C_NAME FOREIGN KEY ([C_NAME])  REFERENCES CLASS([C_NAME]) --学生表中的课程名引用课程表中的课程名 )

-- 17.用代码创建unique key 约束(两种方式)?  

  /*   答:unique key 约束可以用列级和表级两种方式创建。       在创建约束的列上添加唯一约束。  

  */ --示例代码(列级) CREATE TABLE Student (  [ID] int PRIMARY KEY,  [C_NAME] varchar(20) REFERENCES CLASS([C_NAME]), --学生表中的课程名引用课程表中的课程名  [S_NUM] varchar(20) UNIQUE  --学号必须唯一 )

  --示例代码(表级)

  CREATE TABLE Student (  [ID] int PRIMARY KEY,  [C_NAME] varchar(20) REFERENCES CLASS([C_NAME]), --学生表中的课程名引用课程表中的课程名  [S_NUM] varchar(20),  CONSTRAINT UN_S_NUM UNIQUE([S_NUM]) --学号必须唯一 )

-- 18.用代码创建check 约束(两种方式)?  

  /*   答:check 约束可以用列级和表级两种方式创建。  

  */ --示例代码(列级) CREATE TABLE Student (  [ID] int PRIMARY KEY,  [C_NAME] varchar(20) REFERENCES CLASS([C_NAME]), --学生表中的课程名引用课程表中的课程名  [S_NUM] varchar(20) UNIQUE,  --学号必须唯一  [S_AGE] tinyint CHECK([S_AGE]<60) --年龄必须小于60岁 ) --示例代码(表级) CREATE TABLE Student (  [ID] int PRIMARY KEY,  [C_NAME] varchar(20) REFERENCES CLASS([C_NAME]), --学生表中的课程名引用课程表中的课程名  [S_NUM] varchar(20),  [S_AGE] tinyint ,  CONSTRAINT CK_S_AGE CHECK([S_AGE]<60) --学号必须唯一 )

-- 19.用代码实现修改、删除约束?

  /*答:修改约束:只有NOT NULL能通过修改列的方式修改约束。      

     删除约束:DROP CONSTRAINT 关键字,后面跟约束名称。

    */ --示例代码(通过修改列的方式修改NOT NULL约束。): ALTER TABLE class ALTER COLUMN [NAME] varchar(20) NOT NULL

    --删除代码: DROP CONSTRAINT CK_S_AGE --删除学号唯一约束

-- 20.用代码实现查看约束的信息?

  /*答:查看约束SP_HELPCONSTRAINT 约束名称 */

  --代码示例: SP_HELPCONSTRAINT CK_S_AGE 

   --查看学号唯一约束 sp_helpconstraint CK_S_AGE

-- 21.SQL有哪些数据类型?

  /*答: 日期类型

    
[2]使用SQL Server Profiler分析器进行数据库的跟踪
    来源:    发布时间: 2013-10-29

在开发的很多时候,尤其是使用一些ORM框架做开发的时候,想要知道是那条SQL语句是怎么拼装执行的,我们只能是一步一步的去跟踪代码。现在有了SQL Server Profiler就方便很多,直接跟踪到执行了哪些语句,再也不用那么痛苦的一步一步的去跟踪代码。

直接上图吧,做个记号

 

这个是网上的教程:http://tech.ddvip.com/2007-01/116783464617313.html

买下广告,凑下字数啊!!!!!!!

 

本文链接


    
[3]Sql学习第六天——SQL 巩固练习(用到了前几天几个知识点)
    来源:    发布时间: 2013-10-29

SQL 巩固练习——用到了前几天几个知识点

  在查看SQL Server 2005的帮助文档中的cross apply 运算符时发现了一个个人感觉用到的知识点儿比较多,比较经典的例子。在此写下来,也是为了巩固一下前几天的知识点。

先建表一员工表(Employees):

CREATE TABLE Employees
(
empid int NOT NULL,
mgrid int NULL,
empname varchar(25) NOT NULL,
salary money NOT NULL,
CONSTRAINT PK_Employees PRIMARY KEY(empid),
)

向Employees表中插入数据:

--插入数据
INSERT INTO Employees VALUES(1 , NULL, 'Nancy' , $10000.00)
INSERT INTO Employees VALUES(2 , 1 , 'Andrew' , $5000.00)
INSERT INTO Employees VALUES(3 , 1 , 'Janet' , $5000.00)
INSERT INTO Employees VALUES(4 , 1 , 'Margaret', $5000.00)
INSERT INTO Employees VALUES(5 , 2 , 'Steven' , $2500.00)
INSERT INTO Employees VALUES(6 , 2 , 'Michael' , $2500.00)
INSERT INTO Employees VALUES(7 , 3 , 'Robert' , $2500.00)
INSERT INTO Employees VALUES(8 , 3 , 'Laura' , $2500.00)
INSERT INTO Employees VALUES(9 , 3 , 'Ann' , $2500.00)
INSERT INTO Employees VALUES(10, 4 , 'Ina' , $2500.00)
INSERT INTO Employees VALUES(11, 7 , 'David' , $2000.00)
INSERT INTO Employees VALUES(12, 7 , 'Ron' , $2000.00)
INSERT INTO Employees VALUES(13, 7 , 'Dan' , $2000.00)
INSERT INTO Employees VALUES(14, 11 , 'James' , $1500.00)

查询向Employees表插入的全部数据SQL语句:

select * from Employees

结果如图:

再建表二部门表(Departments):

CREATE TABLE Departments
(
deptid INT NOT NULL PRIMARY KEY,
deptname VARCHAR(25) NOT NULL,
deptmgrid INT NULL REFERENCES Employees
)


    
最新技术文章:
▪Sql Server里删除数据表中重复记录的例子
▪如何查看SQLSERVER中某个查询用了多少TempDB空间...
▪在SQL Server中使用ISNULL执行空值判断查询
▪揭秘SQL Server 2014有哪些新特性(1)-内存数据库
▪揭秘SQL Server 2014有哪些新特性(2)-固态硬盘 Buff...
▪揭秘SQL Server 2014有哪些新特性(3)-可更新列存...
▪揭秘SQL Server 2014有哪些新特性(4)-原生备份加...
▪解决SqlServer 各版本 sa帐户不能登录问题
▪浅析SQL Server中包含事务的存储过程
▪深入分析MSSQL数据库中事务隔离级别和锁机制
▪SQL优化技巧指南
▪人工智能自动sql优化工具--SQLTuning for SQL Server
▪使用 TOP 子句限制UPDATE 语句更新的数据
▪sql server动态存储过程按日期保存数据示例
▪SQLServer用存储过程实现插入更新数据示例
▪SqlServer中tempdb的日志机制原理解析及示例分享...
▪SqlServer数据库提示 “tempdb” 的日志已满 问题...
▪浅谈tempdb在SqlServer系统中的重要作用
▪SqlServer提示“列前缀tempdb.无效: 未指定表名”...
▪SQL命令优化需要记住的9点事项
▪教你如何看懂SQL Server查询计划
▪sql server 2000数据库备份还原的图文教程
▪SqlServer2012中First_Value函数简单分析
▪sql语句中单引号嵌套问题(一定要避免直接嵌...
▪谈谈sqlserver自定义函数与存储过程的区别
▪SQL SERVER使用REPLACE将某一列字段中的某个值替...
▪总结一周内学习的Sql经验(一)
▪sql存储过程详解
▪SQL Server UPDATE语句的用法详解
▪MSSQL事务的存储过程
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3