--1 创建数据库
DROP DATABASE mydb1 CREATE DATABASE mydb1 ON ( NAME ='mydb1',FILENAME='D:\mydb1.mdf') LOG ON (NAME='mydb1_log' ,FILENAME='D:\mydb1_log.ldf')
--示例
CREATE DATABASE 高校管理系统数据库 ON ( NAME ='mydb1',FILENAME='D:\高校管理系统数据库.mdf',SIZE=5MB, MAXSIZE =UNLIMITED,FILEGROWTH=1MB) %)
--2 自定义函数
create function 函数名(形参名 as 数据类型) returns 返回类型 as begin --函数体 return 表达式 end
--示例
CREATE DATABASE Demo数据库 ON ( NAME ='mydb1',FILENAME='D:\Demo数据库.mdf',SIZE=5MB, MAXSIZE =UNLIMITED,FILEGROWTH=1MB) %)
--3 创建表的同时指定所有的约束
CREATE TABLE TestTable ( id INT PRIMARY KEY NOT NULL,--主键 id_identity ,) NOT NULL,--自增长列 id_GUID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL DEFAULT (NEWID()) ,--全球唯一标识符 id_unquel INT UNIQUE,--唯一约束 stuid INT NOT NULL FOREIGN KEY REFERENCES stu(id),--外键 ) --约束检查 )
--4 删除某个约束的方法
ALTER TABLE 表名 DROP CONSTRAINT 约束名
--5 添加主键
ALTER TABLE 表名 ADD CONSTRAINT 主键名 primary key(列名)
--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
--创建 CREATE VIEW TestView AS SELECT * FROM dbo.test GO --调用(像查询表一样) SELECT * FROM TestView --修改 ALTER VIEW TestView AS SELECT * FROM dbo.test GO --删除 DROP VIEW TestView
--8 创建存储过程语法
CREATE PROC 储存过程名 @参数in 数据类型=默认值, @参数out 数据类型 OUT AS SQL 语句 GO
--创建 CREATE PROC TestProc @stuId INT,--输入参数 @count INT OUT ,--输出参数 )='zhangsan' --输入参数带默认值 AS BEGIN SELECT * FROM dbo.Students WHERE stuid =@stuId AND name=@name SELECT @count =COUNT(@stuId) FROM Students END GO --调用 DECLARE @cou INT ,@count=@cou OUTPUT,@name='zhangsan' PRINT @cou GO --修改删除同试图
--9 创建触发器
CREATE TRIGGER 触发器名 ON {TABLE|view} [WITH <dml_trigger_option>[,....n]] {for|after|INSTEAD of}[delete,insert,update] AS SQL 语句 GO
--10 事务
--T-SQL 定义事务的语句有
--开始事务 Begin Tran
--提交事务 Commit Tran
--回滚事务 Rollback Tran
--示例
--开始事务 BEGIN TRANSACTION PRINT '转账事务前的余额:' SELECT * FROM back GO --定义变量,用于累计事务执行过程中的错误 DECLARE @errors INT --转账 WHERE currentName='张三' --累计错误 SET @errors=@errors+@@ERROR PRINT '转账事务过程中的余额' SELECT * FROM back --判断是否有错误 --有错误 BEGIN PRINT '交易失败' ROLLBACK TRANSACTION END ELSE BEGIN PRINT'交易成功' COMMIT TRANSACTION END GO