• sql server 常用语法


    --1 创建数据库

    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
  • 相关阅读:
    js 学习的地址;
    HTML onmousedown 事件属性 关于鼠标按键的问题;
    contextmenu="supermenu" 属性的应用 右键菜单打开和保存功能
    gulp自动化ES6转ES5
    angularjs获取元素以及angular.element()用法
    gulp学习总结
    Git 代码管理常用命令
    SpringMVC基于代码的配置方式(零配置,无web.xml)
    [Android Studio 权威教程]AS 中配置强大的版本号管理系统(Git、SVN、等)
    SVM支持向量机
  • 原文地址:https://www.cnblogs.com/saodiseng2015/p/4820885.html
Copyright © 2020-2023  润新知