zoukankan      html  css  js  c++  java
  • TSQL

           T---SQL

    SQL: 通用的SQL语言

    T-SQL: 微软对SQL的扩展  (流程控制  存储过程  事物 触发器 错误处理  等)

    注释:-- 单行注释   /**/  多行注释

    数据定义语言(DDL):建立数据库及数据库对象 create

    数据控制语言 (DCL:控制数据库组件的存取许可 权限等命令

    数据操作语言(DML):操作数据库 select update

    流程控制语言 (FCL):控制流程的语句 

    批处理 : GO  SQL批处理是一个或多个 Transact-SQL 语句的集合,由客户端一次性发送到SQL Server实例以完成执行

    定义变量: declare ( 先声明,再赋值 )

    局部变量 标识: @    全局变量:@@

       例: declare @name varchar(10)

            declare @age  int

    变量赋值 :

      set @age=10 只能单个(set @age=10,@name=’张三’ 错 )   

      select @age=10 配合查询 (set @age=10,@name=’张三’ 对 )

    输出方式:

    print: 

    1、以文本形式输出;

    2、输出一个字符串,如果有多个变量或常量要输出,用+连接;

    3、如果类型不一致,用convert函数转换;

    4、输出的结果不易被java等应用程序直接得到

    select: 

    1、以结果集形式输出;

    2、可同时输出多个;

    3、输出的结果可以被java等应用程序直接得到;

    变量

    含义

     

    @@ERROR

        最后一个T-SQL错误的错误号

     

    @@IDENTITY

     

        最后一次插入的标识值

        @@LANGUAGE

         当前使用的语言的名称

     

    @@MAX_CONNECTIONS

     

    可以创建的同时连接的最大数目

        @@ROWCOUNT

        受上一个SQL语句影响的行数

     

        @@SERVERNAME

        本地服务器的名称

     

         @@TRANSCOUNT

        当前连接打开的事务数

     

    @@VERSION

    SQL Server的版本信息

     

    @@ CONNECTION

    连接数

    @@SERVICENAME

    注册表名称

    条件控制语句:

    1) if-else

    if(判断条件)

    begin

                        语句1

                        语句2

    end

    else

    begin

        语句1

                        语句2

    end

            (2) case

    -- 简单格式

    select pcid,

    case PCUse

       when 0 then '空闲'

       when 1 then '忙碌'

                    end as 'pcuse'

                    ,pcnote from pcinfo

    -- 搜索格式

    select pcid,

                    case

       when PCUse = 0 then '空闲'

               when PCUse = 1 then '忙碌'

    end as 'pcuse'

    ,pcnote from PCInfo

     

            (3) while

                             while (循环成立的条件)

    语句xxx

    [break]

    [continue]

     

     

    declare @count int

    while(1=1)

    begin

    select @count = COUNT(*) from cardInfo where cardBalance < 20

    if (@count > 0)

    update cardInfo set cardBalance = cardBalance + 1 where cardBalance < 20

    else

    break

    end

    语句块  begin   开始 end  结束

    查询方式:

    使用比较运算符的子查询、INNOT  IN子查询、EXISTSNOT  EXISTS子查询。子查询若按所处位置划分,可以为子查询在WHERE关键字之后,子查询在FROM关键字之后、子查询在SELECT关键字之后。

    In  查询

       select * from  course where cNO in (select cNO from score where grade is not null)

      连接查询

       select distinct cname,cteacher from course a inner join score b on a.cNo = b.cNO

     

    select a.stuId,a.stumName,b.BID,b.title,c.T_time from student a, book b, borrow c

        where a.stuId=c.stuID and b.BID=c.BID and a.major='计算机

           and c.T_time between '2007-12-15' and '2008-1-8'

      子查询

    select * from student where stuId in(select stuId from borrow where T_time is  not null) 

      

       

  • 相关阅读:
    POJ
    POJ-2253 Frogger(最短路)
    背包问题(转自背包九讲+对应题目)
    POJ-1860 Currency Exchange (最短路)
    Bellman-Ford 最短路径算法
    POJ-3295 Tautology (构造)
    POJ-2586 Y2K Accounting Bug 贪心
    POJ 2965 The Pilots Brothers' refrigerator (暴力枚举)
    python(pymysql操作数据库)
    python复习概念__oop中
  • 原文地址:https://www.cnblogs.com/shuaif/p/3063449.html
Copyright © 2011-2022 走看看