午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > SQL Server 2005基礎知識詳細整理

SQL Server 2005基礎知識詳細整理

熱門標簽:九鹿林外呼系統怎么收費 創業電銷機器人 滄州營銷外呼系統軟件 浙江地圖標注 電銷機器人虛擬號碼 沈陽智能外呼系統代理 舞鋼市地圖標注app 松原導航地圖標注 海南自動外呼系統價格

1. ACID:指數據庫事務正確執行的四個基本要素縮寫:
1.原子性2.一致性3.隔離性4.持久性

2.數據庫對象:表(table) 視圖(view) 存儲過程(stored procedure) 函數(function)索引(index)

3.SQL Server 2005中包含master、model、msdb、tempdb四個系統數據庫。

4.使用T-SQL語句創建數據庫:
CREATE DATABASE [ApressFinacial] ON  PRIMARY
( NAME = N'ApressFinacial', FILENAME = N'I:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ApressFinacial.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'ApressFinacial_log', FILENAME = N'I:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ApressFinacial_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

5.T-SQL語句刪除數據庫:drop database[數據庫名]

6.常見的約束類型:主鍵約束、唯一約束、檢查約束、默認約束、外鍵約束。

7.添加約束的語法:
         Alter table 表名
         Add  constraint  約束名 約束類型 具體的約束說明

8.刪除約束:alter table 表名
            Drop constraint 約束名

9.授權語法:  grant 權限[on  表名] to 數據庫用戶
         例:grant  select  insert  update
              On students  to  zhangsan

10.T-SQL語句創建登錄名:
           Create  login[yuan]
            With  password='130125'
            Go

11.數據庫完整性分為:實體完整性、域完整性、參照完整性、用戶自定義完整性。

12.T-SQL 中的運算符:
運算符
 含義

=
 等于

>
 大于


 小于

>=
 大于等于

=
 小于等于

>
 不等于

!
 非

通配符
 解釋
 示例

_
 一個字符
 A Like 'C_'

%
 任意長度的字符
 B Like 'CO_%'

[]
 括號中所指定范圍內的一個字符
 C Like '9W0[1-2]'

[^]
 不在括號中所指定范圍內的一個字符
 D Like '%[A-Z][^1-2]'

13.查詢語句:select 列名  from 表名  where 條件   如:select*  from students  where       no=1

14.插入數據行:insert  [into]表名> [列名]values值列表>
       例:intset into students(name,address,grade,email,sex)
           Values('長青菜','上海松江',5,'zqc@souhu.com','男')
      注意:(不能為標識列指定值,因為它的數字是自動增長的)

15.更新數據行:update 表名> set列名=更新值>    [where更新條件>]
      例:update  students
          Set  address='石家莊'
          Where   address='保定'

16.刪除數據行:  delete  from表名>[where刪除條件>]
       例:delete from  studentinfo     where  no='180108225'

17.問題:如果標識列A的初始值為1,增長量為2,則輸入三行數據以后,再刪除兩行,下次再輸入數據行的時候,標識值從多少開始?      (  7  )

18.刪除列: alter  table  student     drop  column  address

19.Exists:     if  exists (select*from?where  name='yuanDB')  drop  database stuDB

20.變量:   局部變量(必須以標記@作為前綴)
            全局變量(必須以標記@@作為前綴)
       全局變量由系統定義和維護,我們只能讀取,不能修改全局變量的值。

21.局部變量聲明:  例:Decalre  @name  vachar(8)      decare @seat  int
   賦值:set @變量名=值或select@變量名=值  set @name='張三'
           Select @name=sname  from  students  where  no='1'

22.邏輯控制語句: IF-ELSE語句
            If(條件)
              Begin
              語句1
              語句2...........
              End
            Else
            Begin
            語句1
            語句2.........
            End        注:else是可選的。

例: decalre @myavg float
     Select @myavg =AVG(course) from score
     Print'平均分'+convert(varchar(5),@myavg)
     If(@myavg>70)
     Begin
     Print '本班成績優秀,前三名成績為:'
      Select  top 3 * from  score  order  by score  desc
      End
      Else
        Begin
        Print  '本班成績較差,后三名成績為:'
        Select  top 3 *from  score  order  by  score
       End

23.while循環語句:   while(條件)
                     Begin
                     語句1
                     語句2..........
                     Break
                     End
       例:DECLARE @n int
           WHILE(1=1) --條件永遠成立
           BEGIN
           SELECT @n=COUNT(*) FROM score
           WHERE score60    --統計不及格人數
           IF (@n>0)
           UPDATE score     --每人加2分
            SET score=score+2
          ELSE
          BREAK    --退出循環
          END
          print '加分后的成績如下:'
          SELECT * FROM score

24.case--end多分支語句
      語法:    case
                When  條件1  then  結果1
                When  條件2  then  結果2
                ..............
                 Else  其他結果
                 End
       例:print  'ABCDE五級顯示成績如下:'
           Select  studentID,
               成績=case
                        When  score60  then'E'
                        When   score  between  60  and  69  then 'D'
                        When   score  between  70  and  79  then 'C'
                         Else  'A'
                      End
                     From  score

25.批處理語句示例:
                   SELECT * FROM stuInfo
                   SELECT * FROM stuMarks
                   UPDATE stuMarks
                      SET writtenExam=writtenExam+2
                   GO

26.習題及答案:   
        習題內容:則根據如下規則對成績進行反復加分,直到平均分超過85分為止。請編寫T-SQL語句實現。
90分以上:   不加分
80-89分:   加1分
70-79分:   加2分
60-69分:   加3分
60分以下:   加5分
習題答案:
SELECT * FROM score --原始成績
DECLARE @labAvg  int
WHILE(1=1)
 BEGIN
    UPDATE score
      SET score=
        CASE
            WHEN score60 THEN score+5
            WHEN score between 60 AND 69 THEN score+3
            WHEN score between 70 AND 79 THEN score+2
            WHEN score between 80 AND 89 THEN score+1
            ELSE score
        END
     SELECT @labAvg=AVG(score) FROM score
       IF  @labAvg>=85
           BREAK
 END
SELECT * FROM score --加分后的成績

27.把一個表中的數據復制到另一個表中:  insert  into 表名>(列名)
                                       Select  列名>
                                       From 源表名>

28.把查詢結果放在新表中同時插入新的標識列:
           Select  列名  identity(數據類型,標識種子,標識增長量)as
            列名  into  新表    from  原始表
  例:   select   students.sname, students.saddress,  students.semail,  identity(int,1,1) as  studentID    into  tongxunlu    from students

29.更新數據行: 
      語法:  update表名>
              Set列名=更新值>
              Where 更新條件>
       例: update  students
             Set   address='軟件學校'
              Where  address='軟件學院'

30.問題:按多列排序:例:select  no,name,address,grade
                   From   students
                   Where   sex  in(1,0)
                   Order by   no,grade

31.字符串函數:
      Replace:    select  replace('莫勒可切.楊可','可',‘蘭')
          返回結果:莫勒蘭切.楊蘭
      Upper:    select  upper('sql server 課程')
       返回結果:SQL SERVER 課程
      Getdate:   select  getdate()獲取當前時間。
       Dateadd:   select  dateadd(mm,4,'01/01/2009')
        返回結果:05/01/2009
      Datename:     select  datename(dw,'01/15/2000')
       返回結果:   Saturday

32.聚合函數:
Max-min:     select  AVG(score) as  平均成績,MAX(score) as 最高分,MIN(score) as最低分       from  score          where  score>=60
Count:    select  count(*)as  及格人數      from  score 
                      Where   score>=60

33. 分組查詢:

復制代碼 代碼如下:

select  courseid,avg(score) as 課程平均成績
                From  score
                Group  by  courseid

34.習題:  
假如成績單中記錄了學生的幾次考試成績,要查詢每位學生的每門課的總成績,怎么查?
復制代碼 代碼如下:

Select  courseid,studentid,sum(score) as 總成績
                From  score
                Group  by  courseid,studentid

35.分組查詢--HAVING
Having:指定了組或聚合的搜索條件,常常與group by子句一起使用。
例:
復制代碼 代碼如下:

select  studentid  as學員編號,avg(score)as 平均成績
                  From   score
                  Group  by  studentid,couseid
                  Having  avg(score)>60

36.多表查詢——內聯結    
例:
復制代碼 代碼如下:

select  students.smame, score.courseid, score.score
                              From  students,score
                              Where  students.scode=score.studentid

37.多表聯結——三表聯結    
例:
復制代碼 代碼如下:

select  S.name  as姓名,CS.coursename as課程,C.score as 成績                         from  students  As S
                                Inner Join score  as C  ON(S.scode=C.studentid)
                                Inner join  course  As CS  ON(CS.courseid=C.courseid)

38.多表聯結查詢——右外聯結  
例:
復制代碼 代碼如下:

select  titles.title_id,Titles.title,publishers.pub_name
               From  titles
               Right outer  join  publishers
               On  titles.pub_id=publishers.pub_id

39.銀行案例——多表聯結——左外聯結:
 例:
 
復制代碼 代碼如下:

  intsert  into  account(account.Cardid,account.score)
                Select  users.cardid,2
                From users
                Left  Join account  ON(account.cardid=users.cardid)
                Where  account.cardid  is NULL
 

40.子查詢: 
例:
復制代碼 代碼如下:

select * from  students
                 Where  scode>(select  scode  from  students  where  Sname='張揚') 
                 GO

41.例:內聯結(等值聯結)
復制代碼 代碼如下:

select  sname  from  students
                           Inner  Join  score
                           ON  students.scode=score.studentid
                           Where  score=60
      GO

42.局部變量:
例:將姓名為里斯的學生的學號,出生日期和平均成績分別賦給局部變量
@no_str @birthday_str @avgrade_num  (用select語句來實現)
復制代碼 代碼如下:

             Select  @no_str=s_no,@birthday_str=s_birthday,@avgrade_num=s_avgrade
              From student          where  s_name='里斯'

43.自連接查詢:    
例:(注:student2為不存在,是創建的)
復制代碼 代碼如下:

               Select  student2.sno學號,student2.sname姓名,student2.ssex性別,student2.sspeciality專業,student2.savgrade平均成績
               From student,student2
               Where  student.sname='李好' and student.sspeciality=student2.sspeciality

44.聲明局部變量:declare  @變量名  數據類型

45.if語句 例:查詢學號為457865的學生,如果成績及格,則打印其姓名和成績。

復制代碼 代碼如下:

         Declare @no,char(8),@name char(8),@avgrade numeric(3,1)
         Set @no='457865'
         Select @name=sname,@avgrade=savgrade
         From student
         Where sno=@no;
         If @avgrade>60.0
         Begin
         Print @name
         Print @avgrade
         End
         Go

46.if-else語句:對于給定學號的查詢,如果平均成績不及格則打印姓名和平均成績,否則打印學號。
復制代碼 代碼如下:

          Declare @no char(8),@name char(8),@avgrade numeric(3,1);
          Set @no='567';
          Select @name=sname,@avgrade=savgrade
          From student
          Where  sno=@no;
          If @avgrade60.0
          Begin
          Print @name
          Print @avgrade
          End
          Else
          Print @no
          Go

47.多分支的if語句查詢并實現分等級打印學生成績
復制代碼 代碼如下:

          Declare @no char(8),@name char(8),@avgrade numeric(3,1);
          Set @no='567';
          Select @name=sname,@avgrade=savgrade
          From student
          Where  sno=@no;
          If @avgrade>=90.0
          Print ‘優秀'
          Else if @avgrade>=80.0
          …………….
          Else print ‘不及格'
          Go

48.case 語句   使用select語句查詢學生的學號,然后用case函數對學生的姓名和愛好進行簡要說明。    Select  學號=sno,姓名及愛好=
              Case sno
              When ‘123' then ‘李好,游泳'
              。。。。。。。
              Else ‘沒有這人'
              End
              From  student

49.while語句
      (如果學生平均成績低于85分,則循環執行對每位學生成績加0.5%,在循環過程中,如果最高成績超過95分則退出循環;在加分過程中,當成績的平均成績大于或等于80分時打印出當前成績的平均成績)

復制代碼 代碼如下:

     Declare @avgrade numeric(3,1);
            Set @avgrade=(select  avg(savgrade) from student)
            While @avgrade85
             Begin
                      Update student
                        Set savgrade=savgrade+savgrade*0.005
                      Set @avgrade=(select avg(savgrade) from student)
                      If @avgrade>95
                         Break                            --退出循環
                      if@avgrade80
                      continue                             --結束本次循環
                      print @avgrade
                      End

50.子查詢:查詢成績剛好通過60分的學生
              Select sname from students
                  Inner  Join  score                ---內連接
                   ON students.scode=score.studentid
                   Where  score=60
                    Go

51.事務的特性:原子性、一致性、隔離性、永久性。
  事務分類:顯示事務、隱性事務、自動提交事務。

52.系統存儲過程的名稱都以“sp_”開頭或“xp_”開頭。
        EXEC sp_databases     列出當前系統的數據庫
        EXEC sp_help students  查看表students的信息

53.定義存儲過程的語法:  
             Create  proc[edure]  存儲過程名
              @參數1  數據類型=默認值 output,
               ...................
              @參數n  數據類型=默認值 output
              As
              SQL語句
              Go (注:參數可選,參數分輸入參數、輸出參數,輸入參數允許有默認值)

54.創建不帶參數的存儲過程:    
例:

復制代碼 代碼如下:

           Creat  procedure  pro_stu
           As
           Declare  @myAvg float
           Select  @myAvg=AVG(score)
           From score
           Print '平均分:'+convert(varchar(5),@myAvg)
           If(@myAvg>70)
              Print '本班考試成績:優秀'
            Else
               Print '本班考試成績:較差'
            Print '-----------------------------------------------------------'
            Print '參加本次考試沒有通過的學員:'
               Select  name,scode,score
                   From students inner Join score  on
                   Students.scode=score.studentid     where  score60
     GO

55.調用存儲過程:   語法:   EXEC  過程名[參數]    例:EXEC proc_stu 

56.輸入參數的默認值:    
例:

復制代碼 代碼如下:

         Create procedure  proc_stuMn
            @scorePass  int=60        ---及格線默認為60分
         As
            Print '及格線:' +convert(varchar(5),@scorePass)
            Print '參加本次考試沒有通過的學員:'
          Select  name,scode,score
                From students
                Inner Join score
                On students.scode=score.studentid
                 Where score@scorePass
         Go

57.調用帶參數默認值的存儲過程: 
             EXEC proc_stu    -------采用默認值
             EXEC proc_stu 55    ------不采用默認值
             EXEC proc_stu  @scorePass=55

58.帶輸出參數的存儲過程:

復制代碼 代碼如下:

        Create procedure proc_stuM
        @notpassSum  int  output,
        @scorePass  int=60
        As 
           Print'及格線:'+convert(varchar(5),@scorePass)
           Print '參加本次考試沒有通過的學員:'
        Select  name,scode,score      from  students
              Inner Join score  On   students.scode=score.studentid
                   Where  score@scorePass
         Select @notpassSum=count(studentid)
               From score where score@scorePass
         GO

59.調用帶輸出參數的存儲過程:(注:調用時必須帶output關鍵字,返回結果將存放在變量@sum 中)
復制代碼 代碼如下:

    Declare @sum int
           EXEC proc_stuM @sum output,60
           Print '--------------------------------------------------'
           If @sum>=3
                 Print '未通過人數:'+convert(varchar(5),@sum )+'人,超過60%,及格分數線還應下調'
           Else
                  Print '未通過人數:'+convert(varchar(5),@sum )+'人,已控制在60%以下,及格分數線適中'          
           GO

60.錯誤處理:  
使用Raiserror語句:
復制代碼 代碼如下:

           Create  procedure  pro_stuM
                  @notpassSum  int output,
                  @scorePass  int=60
            As
               If(not  @scorePass  between 0 and 100)
                   Begin
                   Raiserror('及格線錯誤,請指定0—100之間的分數,統計中斷退出',16,1) --------引發系統錯誤,指定錯誤的嚴重級別16,調用狀態為1(默認),并影響@@ERROR 系統變量的值
                   Return   --------立即返回,退出存儲過程
             End
               ...............其他語句同上例
             Go

61.使用raiserror語句
復制代碼 代碼如下:

          Declare  @sum int,@t int
          EXEC proc_stum @sum  output, 604   ----筆試及格線誤輸入604分
          Set @t=@@error
          Print '錯誤號:'+convert(varchar(5),@t )
          If @t>o
          Return   ------退出批處理,后續語句不再執行
          Print '-----------------------------------'      -----如果執行了raiseerror語句,系統全局@@error 將不等于0,表示出現了錯誤.
           If @sum>=3
             Print '未通過人數:'+convert(varchar(5),@sum)+'人,超過了60%,及格分數線還應下調'
           Else   print '未通過人數:'+convert(varchar(5),@sum)+'人,已控制在60%以下,及格分數線適中'              GO

62.調用存儲過程:         
例:
復制代碼 代碼如下:

               Declare  @s  int
               Exec proc_stuinfo  '張三' ,@s , 30    ———錯誤!應為(exec proc_stuinfo '張三',@s  output,30)
                Exec proc_stuinfo '張三' ,@s     ————錯誤!應為(exec proc_stuinfo '張三',@s output)
                Exec proc_stuinfo  @sAge=22,@stuName='李四',@m=@s output(正確!)


63.帶輸出參數的存儲過程:  
例:
復制代碼 代碼如下:

           Declare @sum  int
           Exec proc_stuM @sum  output,60
           Print '-----------------------------------------'
           If  @sum>=3
              Print'未通過人數:'+convert(varchar(5),@sum )+'人,超過60%,及格分數線還應下調'
           Else 
               Print'未通過人數:'+convert(varchar(5),@sum )+'人,已控制在60…60%以下,及格分數線適中'       GO

64.創建觸發器語法:   
復制代碼 代碼如下:

Create  trigger  trigger_name
                       On  table_name
                       [with  encryption] --------表示加密觸發器定義的SQL文本
                       For [delete,insert,update]    -------指定觸發器類型
                       As
                         T_SQL語句
                       GO   

65.Insert 觸發器  
例:
復制代碼 代碼如下:

       Create trigger  trig_transInfo
       On  transInfo
        For  insert
        As
        Declare  @type  char(4),@outMoney  Money
        Declare  @myCardID  char(10),@balance  Money
        Declare  @currentMoney  money
        Select  @type=transType,@outMoney=transMoney,@myCardID=cardID from inserted
              If(@type='支取')
                   Update  bank  set  currentMoney=currentMoney-@outMoney
                   Where  cardID=@myCardID
              Else 
                   Update  bank  set  currentMoney=currentMoney+@outMoney
                   Where  cardID=@myCardID

66. 插入一條語句    
例:
復制代碼 代碼如下:

          Insert  into  transInfo(transType,transMoney,cardID)
          Values ('支取',200,'10011001')

67. Delete觸發器示例:
            Create  trigger  tri_delete_transInfo
            On  transInfo
            For  delete
            As
                Print '開始備份數據,請稍候......'
                If  not  exists(select * from  sysobjects  where  name='backupTable')
                Select * into backupTable  from  deleted        ------------從deleted表中獲取被刪除的交易記錄。
                 Else
                    Insert  into backupTable  select * from  deleted
                    Print '備份數據成功,備份表中的數據為:'
                    Select * from  backupTable
                    Select * from  transInfo
                GO   

68. Update 觸發器:

復制代碼 代碼如下:

            Create  trigger  trig_update_bank
            On  bank
            For  update
            As 
                Declare  @beforeMoney  Money,@afterMoney  Money
                Select  @beforeMoney=currentMoney  from  deleted   -------(從deleted表中獲取交易前的金額,從inserted表中獲取交易后的余額)
                Select  @afterMoney=currentMoney  from  inserted  
                If  ABS(@afterMoney-@beforeMoney)>20000 ------交易金額是否>2萬
                       Begin
                          Print '交易金額:'+convert(varchar(8),
                          ABS(@afterMoney-@beforeMoney))
                        Raiserror ('每筆交易不能超過2萬元,交易失敗',16,1)
                        Rollback  transaction         ------------回滾事務,撤銷交易
                        End
            Go

69. 列級update觸發器
復制代碼 代碼如下:

         Create  trigger  trig_update_transIfo
         ON  transInfo
         For  update
         As
             If  update(transDate)
             Begin                -------檢查是否修改了交易日期列transDate
             Print  '交易失敗......'
             Raiserror('安全警告:交易日期不能修改,由系統自動產生',16,1)
             Rollback  transaction          ----------回滾事務,撤銷交易
             End
         GO

70.數據庫階段數據管理的主要特點:1.采用數據模型表示復雜的數據結構;2.有較高的數據獨立性;3.為用戶提供了方便的用戶接口;4.提供數據控制功能;5.增加系統 的靈活性。

71.   DB(數據庫):存儲在計算機內有組織的、統一管理的相關數據的集合。
  DBMS(數據庫管理系統):位于用戶與操作系統之間的數據管理軟件。
  DBS(數據庫系統):是實現有組織的、動態的存儲大量關聯數據,以方便用戶訪問計算就硬件、軟件和株距資源組成的計算機系統。

72.物理數據獨立性和邏輯數據獨立性:
       物理數據獨立性:內模式的修改,只需對模式/內模式映象做相應修改,而不需修改        概念模式。邏輯數據獨立性:概念模式的修改,只需對外模式/模式映象做相應修改,而不
需修改外模式。

73.  DBMS的主要功能:
        數據定義(DDL):三級結構、兩級映象、完整性約束等。數據操縱(DML):檢索、更新。數據保護:數據恢復、并發控制、完整性控制、安全性控制等。數據維護:數據載入、轉換、存儲、、性能監控等。數據字典(DD):存儲三級結構定義的數據庫稱為DD,即系統數據庫。DBMS主要功能:數據庫定義功能、數據存取功能、數據庫運行管理功能、數據庫的建立和維護功能。

74.--1、創建存儲過程--

復制代碼 代碼如下:

if exists (select * from sysobjects where name='Sum_wage')
drop procedure Sum_wage
GO
create procedure Sum_wage
@PWage int,
@AWage int,
@total int
as
while (1=1)
begin
if (select count(*) from ProWage)>2*(select count(*) from ProWage where Wage>=@PWage)
update ProWage set @total=@total+@AWage,Wage=Wage+@AWage
else
break
end
print'一共加薪:'+convert(varchar,@total)+'元'
print'加薪后的程序員工資列表:'
select * from ProWage
--調用存儲過程1--
exec Sum_wage @PWage=2000,@AWage=100,@total=0
exec Sum_wage @PWage=2200,@AWage=100,@total=0
exec Sum_wage @PWage=3000,@AWage=100,@total=0
exec Sum_wage @PWage=4000,@AWage=100,@total=0
exec Sum_wage @PWage=5000,@AWage=100,@total=0
exec Sum_wage @PWage=6000,@AWage=100,@total=0

75.
復制代碼 代碼如下:

if exists (select * from sysobjects where name='Avg_wage')
drop procedure Avg_wage
GO
create procedure Avg_wage
@PWage int,
@AWage int,
@total int
as
while (1=1)
begin
if ((select Avg(Wage) from ProWage)=@PWage)
update ProWage set @total=@total+@AWage,Wage=Wage+@AWage
else
break
end
print'一共加薪:'+convert(varchar,@total)+'元'
print'加薪后的程序員工資列表:'
select * from ProWage
--調用存儲過程--
exec Avg_wage @PWage=3000,@AWage=200,@total=0
exec Avg_wage @PWage=4500,@AWage=200,@total=0

76.代碼:
復制代碼 代碼如下:

INSERT INTO studentinformation(S_name,S_no,S_grade,S_address)
VALUES('花無影',25,'軟件0802班','河北')

select studentinformation.S_name,studentinformation.S_no
into information2
from studentinformation
select S_no,S_grade,S_name
from studentinformation
where S_school='軟件學院'
order by S_no
select S_no,S_name,S_class
from studentinformation
where S_sex='男'and S_name>'花無影'
order by S_no
SELECT top 20 percent sname as 姓名,sno as 學號,saddress as 地址
FROM  yuan
WHERE  sschool ='軟件學院'
ORDER BY  sno asc,sname desc
select charindex('data','my data is set',1)    (data的索引位置)
select len('java xuexibiji')      (字符串長度)
select lower('BAO DING DIANLI ZHI YE JI SHU XUE YUAN')   (轉換成小寫)
select replace('軟件學院','軟件學院','軟件工程學院')  (替換)
select stuff('a b c d e f g h i j k l m n',3,6,'今天的學習內容')   (從第三字符個開始替換,替換6個字符)
select getdate()   (當前日期)
select dateadd(dd,250,'04/12/2009')   (250天后的日期)
select datediff(mm,'04/20/2005','08/05/2010')   (相差的月數)
select datename(dw,'04/12/2009')    (返回星期幾)
select datepart(dd,'04/12/2009')    (返回當天是幾號)
select abs(-10)   絕對值
select ceiling(-32.8)    返回大于或等于該數的最小整數
select power(102,3)   取數值表達式的冪值
select round(3.141592653,4)     (?)將數值表達式四舍五入成指定精度
select sign(1000)   正數返回1,負數返回-1,0返回0.
select sqrt(6.25)      //返回該數據的平方根
select convert(varchar(100),45678932) //轉變數據類型 
select current_user      //返回當前用戶的名字
select datalength('軟件學院')    //返回字符長度
select host_name()   //返回用戶登錄的計算機名
select system_user      //返回登錄的用戶名
select user_name(1)     //從任意數據庫中返回dbo(jizhu)
create proc pro_stu
@scorepass float
as
print '學號'+convert(varchar(5),@scorepass)
select name
from stuent
where student.score=@scorepass
go
exec pro_stu @scorepass=85

76.導出SQL Server數據庫中數據:
復制代碼 代碼如下:

declare @objectId int
set @objectId=object_id('sun')
if @objectId is not null
begin
    drop proc sun
end
go
create proc sun (@tablename varchar(256))
as
begin
    set nocount on
    declare @sqlstr varchar(4000)
    declare @sqlstr1 varchar(4000)
    declare @sqlstr2 varchar(4000)
    select @sqlstr='select ''insert '+@tablename
    select @sqlstr1=''
    select @sqlstr2='('
    select @sqlstr1='values (''+'
    select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case
    when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
    when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'
    when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    when a.xtype =61 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
    when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
    when a.xtype =62 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
    when a.xtype =56 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(11),'+a.name +')'+' end'
    when a.xtype =60 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
    when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
    when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    when a.xtype =59 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
    when a.xtype =58 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
    when a.xtype =52 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end'
    when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
    when a.xtype =48 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end'
    when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
    when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    else '''NULL'''
    end as col,a.colid,a.name
    from syscolumns a where a.id = object_id(@tablename) and a.xtype >189 and a.xtype >34 and a.xtype >35 and a.xtype >36
    )t order by colid
    select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+') '+left(@sqlstr1,len(@sqlstr1)-3)+')'' from '+@tablename
    print @sqlstr
    exec( @sqlstr)
    set nocount off
end
go

標簽:臺灣 西藏 海口 咸寧 商洛 公主嶺 寶雞 日喀則

巨人網絡通訊聲明:本文標題《SQL Server 2005基礎知識詳細整理》,本文關鍵詞  SQL,Server,2005,基礎知識,詳細,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL Server 2005基礎知識詳細整理》相關的同類信息!
  • 本頁收集關于SQL Server 2005基礎知識詳細整理的相關信息資訊供網民參考!
  • 推薦文章
    校园春色 亚洲色图| 欧美激情网站在线观看| 国产精品一区二区三区四区| 无码人妻丰满熟妇啪啪欧美| 精品亚洲第一| 欧美日韩不卡合集视频| 欧美一区二区在线免费观看| 国产精品视频在线看| 亚洲网站在线免费观看| 五月天精品在线| 中文字幕天天干| 一个色的综合| 国产精品一区二| 久久久欧美一区二区| 精品少妇一区二区三区日产乱码 | 一级黄色在线播放| 在线观看成人一级片| 国产精品xxxx| 两个人的视频www国产精品| 亚洲精品国产无套在线观| 狠狠人妻久久久久久综合麻豆| 精品国产人妻一区二区三区| 国产又粗又硬又长| 欧美日韩精品免费观看| 91久久精品国产91久久| 日韩国产中文字幕| 欧美色中文字幕| 国产色一区二区| 91在线视频播放| 丝袜美腿亚洲综合| 日韩男女性生活视频| 亚洲色图欧洲色图| 久久久久99精品一区| 国产99久久久国产精品潘金网站| wwwwww在线观看| 国产精品19乱码一区二区三区| 91麻豆精品久久毛片一级| 精人妻一区二区三区| 亚洲综合在线网站| 亚洲资源在线网| 日韩国产精品一区二区| 国产久一道中文一区| 国产精品国产三级欧美二区 | 精品久久久久久久无码| 一区不卡字幕| 男人天堂成人网| 男人添女人下部视频免费| 警花观音坐莲激情销魂小说| 天堂√在线观看一区二区| 91免费国产视频| 成人黄视频免费| 国产精品影院在线观看| 亚洲最大av在线| 国产精品国产亚洲精品看不卡15| 国产日韩欧美视频| 亚洲最大福利网| 国内视频一区| 久久国产精品亚洲va麻豆| 亚洲va欧美va国产综合久久| 国产一区二区高清不卡| 欧美性天天影院| 欧美久久综合性欧美| 国产专区一区二区| 一区二区精品在线| 亚洲欧洲在线一区| 欧美黑人经典片免费观看| 大胆欧美熟妇xx| 91极品尤物在线播放国产| 无码国产精品一区二区免费式直播 | 国产精品一区一区| 国产精品一区久久久久| 久久久久久电影| 中文字幕欧美区| 午夜视黄欧洲亚洲| 日韩三级视频在线观看| 精品三级av在线| 日韩国产在线播放| 欧洲s码亚洲m码精品一区| 国产精品毛片一区视频| 国产精品一区二区不卡视频| 日韩精品国内| 黄色av免费在线播放| 久久精品综合视频| 日本一区二区视频在线播放| 免费毛片一区二区三区| 天堂网免费视频| 国产精品欧美激情在线| 久久精品系列| 不卡av在线网| 欧美最新大片在线看| 亚洲国产精品热久久| 久久久久亚洲精品国产| 国产伦精品一区二区| 日本熟妇人妻xxxxx| 国产农村妇女精品久久| 国产suv精品一区二区68| aaa在线视频| 日韩av二区在线播放| 91女神在线视频| 日本高清视频一区二区| 精品中文字幕乱| 日本成人三级| 欧美日韩怡红院| 久草视频免费在线| 久久国产精品99久久久久久老狼| 国产精品久久久久久久久图文区| 在线亚洲高清视频| 伊人久久精品视频| 国产女人水真多18毛片18精品| 久久亚洲国产成人精品无码区| 高清一区在线观看| 全部毛片永久免费看| 国产一区二区三区高清播放| 欧美色网站导航| 国内揄拍国内精品少妇国语| 精品国产乱码久久久久| 天天看片天天操| 欧美人禽zoz0强交| 久久99精品国产.久久久久| 中文字幕一区二区三| 国产午夜精品免费一区二区三区 | 亚洲精品老司机| www.日韩av.com| 99re视频在线| 欧美日韩国产精品激情在线播放| 亚洲精品视频久久久| 视频二区在线观看| 亚洲一卡二卡三卡四卡| 久久躁狠狠躁夜夜爽| 国产欧美日韩在线播放| 亚洲老女人av| 97人妻精品一区二区三区软件| 亚洲精品国产精品乱码不99| 国产一区二区三区在线播放免费观看| 亚洲999一在线观看www| av漫画在线观看| 国产不卡视频一区二区三区| 91禁在线观看| 无码人中文字幕| 性生活一级大片| 中文字幕在线一| 97精品超碰一区二区三区| 91精品一区二区三区久久久久久 | 久久久久久久网站| 日本一道在线观看| 波多野结衣家庭主妇| 国产精品沙发午睡系列990531| 久久伊人色综合| 日韩中文字幕二区| 成人毛片视频免费看| 一区二区三区免费| 91精品国产综合久久香蕉| 在线免费观看a级片| 丝瓜av网站精品一区二区 | 国产精品99久久久| 欧美一级久久久| 久久99精品久久久水蜜桃| 欧美三根一起进三p| 国产欧美日韩久久| 日韩av毛片网| 手机av免费看| 国产欧美日韩在线看| 2019中文在线观看| 私密视频在线观看| 国产亚洲欧美在线| 久久伊人免费视频| 9l视频白拍9色9l视频| 少妇又色又爽又黄的视频| 日韩一区二区三区免费看 | 亚洲91精品在线| 国产精品揄拍100视频| 国产精品一区二区久久精品爱涩| 日韩成人免费视频| 久久久久久av无码免费网站下载| 精品国产va久久久久久久| 56国语精品自产拍在线观看| 国产一区 在线播放| 视频一区视频二区中文| 久久色免费在线视频| 免费高清在线观看免费| 久久97超碰色| 97碰在线观看| 老头老太做爰xxx视频| 欧美国产欧美综合| 国产精品劲爆视频| 国产精品久久久久无码av色戒| 97久久精品人人做人人爽| 欧美激情视频给我| 亚洲视频重口味| 欧美日韩一区二区在线观看| 神马欧美一区二区| 日韩精品一区第一页| 色与欲影视天天看综合网| 日本黄色www| 国产精品系列在线| 精品久久精品久久| www.久久精品.com| 欧美久久久精品| 91麻豆精品成人一区二区| 五月婷婷另类国产| 妞干网这里只有精品| 国产专区综合网| 2020久久国产精品| 2014亚洲天堂| 精品欧美一区二区在线观看| 欧美婷婷精品激情| 久久精品亚洲精品国产欧美kt∨| 岛国视频一区| 日韩专区一卡二卡| 性色av一区二区三区在线观看| www亚洲色图| 欧美日韩大陆在线| 人妻有码中文字幕| 中文字幕+乱码+中文字幕一区| 日韩av一区二区三区在线| 美女www一区二区| 91精品久久久久久久久不口人| www日本在线| 国产精品视频公开费视频| 国产免费av电影| 91精品国产高清久久久久久久久| 可以免费在线观看的av| 亚洲男人天天操| 欧美美女性生活视频| 欧美午夜片在线看| 手机在线观看日韩av| 亚洲国产精品综合小说图片区| 久久久久久久激情| 亚欧色一区w666天堂| 三上悠亚在线一区二区| 精品二区三区线观看| 初高中福利视频网站| 五月婷婷激情综合| 三年中国国语在线播放免费| |精品福利一区二区三区| 日韩欧美精品在线观看视频| 黄色一级视频在线观看| 亚洲mv在线观看| 国模大尺度视频| 欧美大片拔萝卜| 久久精品视频免费在线观看| 欧美一区二区啪啪| 99鲁鲁精品一区二区三区| 亚洲激情视频在线| 色无极影院亚洲| 中文字幕精品一区二区精品| 潘金莲一级淫片aaaaaa播放| 91精品国产91久久久久久久久| 国产免费叼嘿网站免费| 91传媒视频在线观看| 国产黄色成人av| 国产欧美自拍视频| 亚洲午夜激情网站| av鲁丝一区鲁丝二区鲁丝三区| 欧美丰满高潮xxxx喷水动漫| 国精产品一区一区三区免费视频| 欧美日韩国产另类一区| 欧美精品黑人猛交高潮| 丁香六月天婷婷| 精品久久久999| 亚洲精品国产一区二| 亚洲自拍偷拍色片视频| 日本vs亚洲vs韩国一区三区| 精品91免费| 成人av在线播放网址| 日本女优爱爱视频| 精品国产成人系列| 国产精品自拍99| 日本免费久久高清视频| 国产一区二区三区美女| 国产精品夜夜夜爽张柏芝| 一区二区在线观看不卡| 三级网站免费看| 亚洲国产天堂久久综合| 国产精品一品二区三区的使用体验| 国产日韩中文字幕在线| 久久久久久夜精品精品免费| 中文字幕 日韩 欧美| 国产亚洲精品美女| 日韩在线一区二区| www在线观看免费| 国产午夜精品久久久| 欧美天堂在线视频| 无码人妻精品一区二区三区在线| 日韩欧美精品在线视频| 亚洲第一视频在线| 水蜜桃亚洲一二三四在线| 一本色道综合亚洲| 嫩草影院一区二区三区| 色香蕉成人二区免费| 激情六月天婷婷| 日本韩国一区二区三区视频| 日产精品久久久久| 97超碰最新| 亚洲欧洲99久久| 天堂资源在线视频| 91精品国自产在线观看| 日韩毛片一二三区| 久久久久亚洲av片无码下载蜜桃| 97久久精品午夜一区二区| 狠狠色噜噜狠狠狠狠97| 中国女人真人一级毛片| 亚洲国产精品无码观看久久| 国产亚洲精品美女久久久| 国产成人午夜精品影院观看视频 | 大肉大捧一进一出好爽动态图| 日韩亚洲精品电影| 久久精品亚洲精品国产欧美 | 激情五月婷婷六月| 国产视频丨精品|在线观看| 亚洲AV成人无码一二三区在线| www.亚洲视频.com| 亚洲色图第三页| 麻豆国产精品官网| 中文字幕久久久久久久| 成人在线国产精品| 日本久久电影网| 成人乱码一区二区三区| 日本高清免费观看| 欧美在线视频播放| 一区二区三区欧美日| 999国产精品视频免费| 亚洲精品在线网址| 欧美一区二区三区艳史| 欧美视频在线观看免费| 天堂一区二区在线免费观看| 天天干天天玩天天操| 国产激情久久久| 欧美性猛交xxxx乱大交退制版| 国产乱淫av免费| 国产欧美在线一区| 6080yy精品一区二区三区| 亚洲国产毛片aaaaa无费看 | 午夜在线电影亚洲一区| 亚洲av激情无码专区在线播放| 亚洲AV无码国产精品| 国产经典一区二区三区| 亚洲人成电影网站| 亚洲国产中文字幕| 久久先锋资源| 色姑娘综合天天| 欧美一区二区视频在线| 精品处破学生在线二十三| 欧美经典一区二区三区| 亚洲精品一区二区三区不卡| 亚洲AV无码久久精品国产一区| 久久久久网址| 久久久这里只有精品视频| 在线播放欧美女士性生活| 国产精品一二三区在线| 一级黄色片在线看| 国产成人av一区二区三区不卡| 麻豆视频传媒入口| 亲爱的老师9免费观看全集电视剧| 欧美色手机在线观看| 蜜桃视频免费观看一区| 国产一级久久久| 无套内谢丰满少妇中文字幕| 亚洲精品中文综合第一页| 日韩一区二区精品视频| 欧美日韩大陆在线| 综合色中文字幕| 岛国精品在线播放| 国产精品亚洲欧美在线播放| 中文字幕免费高清视频| 国产一二三区在线播放| 日本一区二区三区在线播放| 精品国产欧美一区二区| 亚洲一二三专区| 懂色中文一区二区在线播放| 国产又黄又粗又猛又爽| 波多野结衣在线网址| 免费无遮挡无码永久视频| 91在线视频成人| 久久久国产一区二区三区| 在线国产亚洲欧美| 亚洲天堂成人在线观看| 久久爱另类一区二区小说| www.黄色片| 亚洲大尺度在线观看| 黄色一级大片免费| 色妞欧美日韩在线| 99久久国产综合精品女不卡| 国产污视频在线观看| 久草福利视频在线| 久久av一区二区三区漫画| 色综合男人天堂| 日韩av在线免费观看| 91电影在线观看| 天天综合天天综合色| 国产日韩视频一区二区三区| 国产在线精品一区二区夜色 | 国产香蕉久久精品综合网| 奇米777欧美一区二区| 亚洲乱码在线观看| www.com欧美| 精品国产无码一区二区三区| 国产精品视频一区在线观看| 国产欧美小视频| 美女av免费看| 91传媒免费观看| 欧美做受高潮6| 欧洲av一区二区三区| 久久久久久久久久影视| 国产女主播在线播放| 在线一区二区不卡| 免费观看污网站| 中文字幕高清视频| 亚洲ⅴ国产v天堂a无码二区| 我不卡一区二区|