sql server 常用语法 --1 创建数据库 --2 自定义函数 --3 创建表的同时指定所有的约束 --4 删除某个约束的方法 --5 添加主键 --6 查询语法 --7 创建视图语法 --8 创建存储过程语法 --9 创建触发器 --10 事务

1 DROP DATABASE  mydb1
2 CREATE     DATABASE mydb1 ON ( NAME ='mydb1',FILENAME='D:mydb1.mdf')
3 LOG ON (NAME='mydb1_log' ,FILENAME='D:mydb1_log.ldf')
View Code

--示例

1 CREATE     DATABASE 高校管理系统数据库 ON ( NAME ='mydb1',FILENAME='D:高校管理系统数据库.mdf',SIZE=5MB,
2 MAXSIZE =UNLIMITED,FILEGROWTH=1MB)
3 LOG ON (NAME='mydb1_log' ,FILENAME='D:高校管理系统数据库_log.ldf',SIZE=1MB,MAXSIZE=2GB,FILEGROWTH=10%)
View Code

--2 自定义函数

1 create function 函数名(形参名 as 数据类型)
2 returns 返回类型
3 as
4 begin
5 --函数体
6 return 表达式
7 end
View Code

--示例

1 CREATE     DATABASE Demo数据库 ON ( NAME ='mydb1',FILENAME='D:Demo数据库.mdf',SIZE=5MB,
2 MAXSIZE =UNLIMITED,FILEGROWTH=1MB)
3 LOG ON (NAME='mydb1_log' ,FILENAME='D:Demo数据库_log.ldf',SIZE=1MB,MAXSIZE=2GB,FILEGROWTH=10%)
View Code 

--3 创建表的同时指定所有的约束

1 CREATE TABLE TestTable
2 (
3 id INT PRIMARY KEY NOT NULL,--主键
4 id_identity INT IDENTITY(1,1) NOT NULL,--自增长列 
5 id_GUID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL DEFAULT (NEWID()) ,--全球唯一标识符
6 id_unquel INT UNIQUE,--唯一约束
7 stuid INT  NOT NULL FOREIGN KEY REFERENCES stu(id),--外键
8 CHECK(id >=18 AND id<=50) --约束检查
9 )
View Code

--4 删除某个约束的方法

1 ALTER TABLE 表名 DROP CONSTRAINT 约束名 
View Code

--5 添加主键

ALTER TABLE  表名 ADD  CONSTRAINT 主键名 primary key(列名)
View Code

--6 查询语法

SELECT[ALL | DISTINCT ]  [TOP n [PERCENT] ] select_list 

FROM{<表资源>}[,…n]             

[WHERE]<搜索条件>

[GROUP BY]{<分组表达式>}[,…n][HAVING]<搜索条件>

[ORDER BY]{<字段名[ASC|DESC]>}[,…n]

--7 创建视图语法

CREATE VIEW 视图名
AS
 SELECT 语句
GO
View Code
 1 --创建
 2 CREATE VIEW TestView
 3 AS
 4  SELECT *  FROM dbo.test
 5 GO
 6 --调用(像查询表一样)
 7 SELECT * FROM TestView
 8 --修改
 9 ALTER VIEW TestView
10 AS 
11    SELECT * FROM dbo.test
12 GO 
13 --删除
14 DROP VIEW TestView
View Code

--8 创建存储过程语法

1 CREATE PROC 储存过程名
2 @参数in  数据类型=默认值,
3 @参数out 数据类型 OUT 
4 AS
5     SQL 语句 
6 GO
View Code
 1 --创建
 2 CREATE PROC TestProc
 3 @stuId INT,--输入参数
 4 @count INT OUT ,--输出参数
 5 @name NVARCHAR(20)='zhangsan' --输入参数带默认值
 6 AS
 7 BEGIN
 8    SELECT * FROM dbo.Students WHERE stuid =@stuId AND name=@name
 9    SELECT @count =COUNT(@stuId) FROM Students
10    END
11 GO
12 
13 --调用
14 DECLARE @cou INT 
15 EXEC TestProc @stuid=2,@count=@cou OUTPUT,@name='zhangsan'
16 PRINT @cou
17 GO
18 --修改删除同试图
View Code

--9 创建触发器

1 CREATE TRIGGER 触发器名 ON {TABLE|view} [WITH <dml_trigger_option>[,....n]] 
2 {for|after|INSTEAD of}[delete,insert,update]
3 AS 
4    SQL 语句
5 GO
View Code

--10 事务

       --T-SQL 定义事务的语句有
       --开始事务 Begin Tran
       --提交事务 Commit Tran
       --回滚事务 Rollback Tran

--示例

 1  --开始事务
 2  BEGIN TRANSACTION
 3  PRINT '转账事务前的余额:'
 4  SELECT * FROM back
 5  GO 
 6  --定义变量,用于累计事务执行过程中的错误
 7  DECLARE @errors INT
 8  SET @errors=0
 9  --转账
10  UPDATE back SET currentMoney=currentMoney-1000 WHERE currentName='张三'
11  --累计错误
12  SET @errors=@errors+@@ERROR
13  PRINT '转账事务过程中的余额'
14  SELECT * FROM back
15 
16 --判断是否有错误
17 IF @errors <>0--有错误
18 BEGIN PRINT '交易失败'
19 ROLLBACK TRANSACTION
20 END
21 ELSE
22 BEGIN
23 PRINT'交易成功'
24 COMMIT TRANSACTION
25 END
26 GO
View Code