亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

轉:SQL Server 數據庫基礎編程

系統 1838 0

SQL Server 數據庫基礎編程

?

? Go批處理語句

???? 用于同時執行多個語句

?

? 使用、切換數據庫

          
            use
          
           master
        
          
            go
          
        
?

?

? 創建、刪除數據庫

方法1、

          --判斷是否存在該數據庫,存在就刪除
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.databases 
          
            where
          
           name = 
          
            'testHome'
          
          ))
        
          
            drop
          
          
            database
          
           testHome
        
          
            go
          
        
          --創建數據庫,設置數據庫文件、日志文件保存目錄
        
          
            create
          
          
            database
          
           testHome
        
          
            on
          
          (
        
              name = 
          
            'testHome'
          
          ,
        
              filename = 
          
            'c:\data\students.mdf'
          
        
          )
        
          log 
          
            on
          
          (
        
              name = 
          
            'testHome_log'
          
          ,
        
              filename = 
          
            'c:\data\testHome_log.ldf'
          
        
          )
        
          
            go
          
        
?

?

方法2(設置文件大?。?、

          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.databases 
          
            where
          
           name = 
          
            'testHome'
          
          ))
        
          
            drop
          
          
            database
          
           testHome
        
          
            go
          
        
          
            create
          
          
            database
          
           testHome
        
          --默認就屬于primary主文件組,可省略
        
          
            on
          
          
            primary
          
           (    
        
              --數據文件的具體描述
        
              name = 
          
            'testHome_data'
          
          ,                --主數據文件的邏輯名
        
              fileName = 
          
            'c:\testHome_data.mdf'
          
          ,    --主數據文件的物理名
        
          
            size
          
           = 3MB,                        --主數據文件的初始大小
        
              maxSize = 50MB,                    --主數據文件增長的最大值
        
              fileGrowth = 10%                --主數據文件的增長率
        
          )
        
          --日志文件的具體描述,各參數含義同上
        
          log 
          
            on
          
           (
        
              name = 
          
            'testHome_log'
          
          ,
        
              fileName = 
          
            'c:\testHome_log.ldf'
          
          ,
        
          
            size
          
           = 1MB,
        
              fileGrowth = 1MB
        
          )
        
          
            go
          
        
?

?

方法3(設置次數據文件)、

          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.databases 
          
            where
          
           name = 
          
            'testHome'
          
          ))
        
          
            drop
          
          
            database
          
           testHome
        
          
            go
          
        
          
            create
          
          
            database
          
           testHome
        
          --默認就屬于primary主文件組,可省略
        
          
            on
          
          
            primary
          
           (    
        
              --數據文件的具體描述
        
              name = 
          
            'testHome_data'
          
          ,                --主數據文件的邏輯名
        
              fileName = 
          
            'c:\testHome_data.mdf'
          
          ,    --主數據文件的物理名
        
          
            size
          
           = 3MB,                        --主數據文件的初始大小
        
              maxSize = 50MB,                    --主數據文件增長的最大值
        
              fileGrowth = 10%                --主數據文件的增長率
        
          ),
        
          --次數據文件的具體描述
        
          (    
        
              --數據文件的具體描述
        
              name = 
          
            'testHome2_data'
          
          ,            --主數據文件的邏輯名
        
              fileName = 
          
            'c:\testHome2_data.mdf'
          
          ,    --主數據文件的物理名
        
          
            size
          
           = 2MB,                        --主數據文件的初始大小
        
              maxSize = 50MB,                    --主數據文件增長的最大值
        
              fileGrowth = 10%                --主數據文件的增長率
        
          )
        
          --日志文件的具體描述,各參數含義同上
        
          log 
          
            on
          
           (
        
              name = 
          
            'testHome_log'
          
          ,
        
              fileName = 
          
            'c:\testHome_log.ldf'
          
          ,
        
          
            size
          
           = 1MB,
        
              fileGrowth = 1MB
        
          ),
        
          (
        
              name = 
          
            'testHome2_log'
          
          ,
        
              fileName = 
          
            'c:\testHome2_log.ldf'
          
          ,
        
          
            size
          
           = 1MB,
        
              fileGrowth = 1MB
        
          )
        
          
            go
          
        

?

? 基本數據類型

精確數字類型

類型

描述

bigint

bigint 數據類型用于整數值可能超過 int 數據類型支持范圍的情況,范圍:-2^63 到 2^63-1,存儲空間8字節

int

整數數據類型,范圍在-2^31 到 2^31-1,存儲空間4字節

smallint

整數,范圍在-2^15 到 2^15-1,存儲空間2字節

tinyint

范圍在0 到 255,存儲空間1字節

bit

可以取值為 1、0 或 NULL 的整數數據類型,每8個bit占一個字節,16bit就2個字節,24bit就3個字節

decimal

帶固定精度和小數位數的數值數據類型,有效值從 - 10^38 +1 到 10^38 - 1

numeric

同上

money

貨幣或貨幣值的數據類型,范圍在-922,337,203,685,477.5808 到 922,337,203,685,477.5807

smallmoney

貨幣類型,-214,748.3648 到 214,748.3647

?

近似數字類型

類型

描述

float

表示浮點數值數據的大致數值數據類型。浮點數據為近似值;范圍-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308

real

real 的 SQL-92 同義詞為 float(24),范圍在-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38

?

日期時間類型

類型

描述

datetime

表示某天的日期和時間的數據類型,范圍在1753 年 1 月 1 日到 9999 年 12 月 31 日

smalldatetime

范圍在1900 年 1 月 1 日到 2079 年 6 月 6 日

?

字符串類型

類型

描述

char

固定長度或可變長度的字符數據類型,范圍在范圍為 1 至 8,000字節

text

最大長度為 2^31-1

varchar

固定長度或可變長度的字符數據類型,最大存儲大小是 2^31-1 個字節

?

Unicode字符串類型

類型

描述

nchar

字符數據類型,長度固定,在必須在 1 到 4,000 之間

nvarchar

可變長度 Unicode 字符數據。最大存儲大小為 2^31-1 字節

ntext

長度可變的 Unicode 數據,最大長度為 2^30 - 1 (1,073,741,823) 個字符

?

二進制字符串類型

類型

描述

binary

長度為 n 字節的固定長度二進制數據,范圍從 1 到 8,000 的值。存儲大小為 n 字節。

varbinary

可變長度二進制數據。n 可以取從 1 到 8,000 的值。最大的存儲大小為 2^31-1 字節

image

長度可變的二進制數據,從 0 到 2^31-1 (2,147,483,647) 個字節

?

? 判斷表或其他對象及列是否存在

          --判斷某個表或對象是否存在
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.objects 
          
            where
          
           name = 
          
            'classes'
          
          ))
        
          
            print
          
          
            '存在'
          
          ;
        
          
            go
          
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.objects 
          
            where
          
           object_id = object_id(
          
            'student'
          
          )))
        
          
            print
          
          
            '存在'
          
          ;
        
          
            go
          
        
          
            if
          
           (object_id(
          
            'student'
          
          , 
          
            'U'
          
          ) 
          
            is
          
          
            not
          
          
            null
          
          )
        
          
            print
          
          
            '存在'
          
          ;
        
          
            go
          
        
          ?
        
          --判斷該列名是否存在,如果存在就刪除
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.columns 
          
            where
          
           object_id = object_id(
          
            'student'
          
          ) 
          
            and
          
           name = 
          
            'idCard'
          
          ))
        
          
            alter
          
          
            table
          
           student 
          
            drop
          
          
            column
          
           idCard
        
          
            go
          
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           information_schema.columns 
          
            where
          
           table_name = 
          
            'student'
          
          
            and
          
           column_name = 
          
            'tel'
          
          ))
        
          
            alter
          
          
            table
          
           student 
          
            drop
          
          
            column
          
           tel
        
          
            go
          
        

?

? 創建、刪除表

          --判斷是否存在當前table
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.objects 
          
            where
          
           name = 
          
            'classes'
          
          ))
        
          
            drop
          
          
            table
          
           classes
        
          
            go
          
        
          
            create
          
          
            table
          
           classes(
        
              id 
          
            int
          
          
            primary
          
          
            key
          
          
            identity
          
          (1, 2),
        
              name 
          
            varchar
          
          (22) 
          
            not
          
          
            null
          
          ,
        
              createDate datetime 
          
            default
          
           getDate()
        
          )
        
          
            go
          
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.objects 
          
            where
          
           object_id = object_id(
          
            'student'
          
          )))
        
          
            drop
          
          
            table
          
           student
        
          
            go
          
        
          --創建table
        
          
            create
          
          
            table
          
           student(
        
              id 
          
            int
          
          
            identity
          
          (1, 1) 
          
            not
          
          
            null
          
          ,
        
              name 
          
            varchar
          
          (20),
        
              age 
          
            int
          
          ,
        
              sex 
          
            bit
          
          ,
        
              cid 
          
            int
          
        
          )
        
          
            go
          
        

?

? 給表添加字段、修改字段、刪除字段

          --添加字段
        
          
            alter
          
          
            table
          
           student 
          
            add
          
           address 
          
            varchar
          
          (50) 
          
            not
          
          
            null
          
          ;
        
          --修改字段
        
          
            alter
          
          
            table
          
           student 
          
            alter
          
          
            column
          
           address 
          
            varchar
          
          (20);
        
          --刪除字段
        
          
            alter
          
          
            table
          
           student 
          
            drop
          
          
            column
          
           number;
        
          ?
        
          --添加多個字段
        
          
            alter
          
          
            table
          
           student 
        
          
            add
          
           address 
          
            varchar
          
          (22),
        
              tel 
          
            varchar
          
          (11),
        
              idCard 
          
            varchar
          
          (3);
        
          ?
        
          --判斷該列名是否存在,如果存在就刪除
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           sys.columns 
          
            where
          
           object_id = object_id(
          
            'student'
          
          ) 
          
            and
          
           name = 
          
            'idCard'
          
          ))
        
          
            alter
          
          
            table
          
           student 
          
            drop
          
          
            column
          
           idCard
        
          
            go
          
        
          
            if
          
           (
          
            exists
          
           (
          
            select
          
           * 
          
            from
          
           information_schema.columns 
          
            where
          
           table_name = 
          
            'student'
          
          
            and
          
           column_name = 
          
            'tel'
          
          ))
        
          
            alter
          
          
            table
          
           student 
          
            drop
          
          
            column
          
           tel
        
          
            go
          
        

?

? 添加、刪除約束

          --添加新列、約束
        
          
            alter
          
          
            table
          
           student 
        
          
            add
          
           number 
          
            varchar
          
          (20) 
          
            null
          
          
            constraint
          
           no_uk 
          
            unique
          
          ;  
        
          --增加主鍵
        
          
            alter
          
          
            table
          
           student  
        
          
            add
          
          
            constraint
          
           pk_id 
          
            primary
          
          
            key
          
          (id);  
        
          --添加外鍵約束
        
          
            alter
          
          
            table
          
           student
        
          
            add
          
          
            constraint
          
           fk_cid 
          
            foreign
          
          
            key
          
           (cid) 
          
            references
          
           classes(id)
        
          
            go
          
        
          --添加唯一約束
        
          
            alter
          
          
            table
          
           student
        
          
            add
          
          
            constraint
          
           name_uk 
          
            unique
          
          (name);
        
          --添加check約束
        
          
            alter
          
          
            table
          
           student 
          
            with
          
          
            nocheck
          
        
          
            add
          
          
            constraint
          
           check_age 
          
            check
          
           (age > 1);
        
          
            alter
          
          
            table
          
           student
        
          
            add
          
          
            constraint
          
           ck_age 
          
            check
          
           (age >= 15 
          
            and
          
           age <= 50)
        
          --添加默認約束
        
          
            alter
          
          
            table
          
           student
        
          
            add
          
          
            constraint
          
           sex_def 
          
            default
          
           1 
          
            for
          
           sex;
        
          --添加一個包含默認值可以為空的列
        
          
            alter
          
          
            table
          
           student 
        
          
            add
          
           createDate smalldatetime 
          
            null
          
        
          
            constraint
          
           createDate_def 
          
            default
          
           getDate() 
          
            with
          
          
            values
          
          ;
        
          ?
        
          ---
          
            -- 多個列、約束一起創建--------
          
        
          
            alter
          
          
            table
          
           student 
          
            add
          
        
          
            /*添加id主鍵、自增*/  
          
        
              id 
          
            int
          
          
            identity
          
          
            constraint
          
           id 
          
            primary
          
          
            key
          
          ,   
        
          
            /* 添加外鍵約束*/   
          
        
              number 
          
            int
          
          
            null
          
        
          
            constraint
          
           uNumber 
          
            references
          
           classes(number),  
        
          
            /*默認約束*/  
          
        
              createDate 
          
            decimal
          
          (3, 3)  
        
          
            constraint
          
           createDate 
          
            default
          
           2010-6-1  
        
          
            go
          
        
          ?
        
          --刪除約束
        
          
            alter
          
          
            table
          
           student  
          
            drop
          
          
            constraint
          
           no_uk;
        

?

? 插入數據

          insert 
          
            into
          
           classes(name) 
          
            values
          
          (
          
            '1班'
          
          );
        
          insert 
          
            into
          
           classes 
          
            values
          
          (
          
            '2班'
          
          , 
          
            '2011-06-15'
          
          );
        
          insert 
          
            into
          
           classes(name) 
          
            values
          
          (
          
            '3班'
          
          );
        
          insert 
          
            into
          
           classes 
          
            values
          
          (
          
            '4班'
          
          , 
          
            default
          
          );
        
          ?
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            'zhangsan'
          
          , 22, 1, 1);
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            'lisi'
          
          , 25, 0, 1);
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            'wangwu'
          
          , 24, 1, 3);
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            'zhaoliu'
          
          , 23, 0, 3);
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            'mazi'
          
          , 21, 1, 5);
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            'wangmazi'
          
          , 28, 0, 5);
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            'jason'
          
          , 
          
            null
          
          , 0, 5);
        
          insert 
          
            into
          
           student 
          
            values
          
          (
          
            null
          
          , 
          
            null
          
          , 0, 5);
        
          ?
        
          insert 
          
            into
          
           student 
        
          
            select
          
          
            'bulise'
          
           name, age, sex, cid 
        
          
            from
          
           student 
        
          
            where
          
           name = 
          
            'tony'
          
          ;
        
        
          --多條記錄同時插入
        
          insert 
          
            into
          
           student
        
          
            select
          
          
            'jack'
          
          , 23, 1, 5 
          
            union
          
        
          
            select
          
          
            'tom'
          
          , 24, 0, 3 
          
            union
          
        
          
            select
          
          
            'wendy'
          
          , 25, 1, 3 
          
            union
          
        
          
            select
          
          
            'tony'
          
          , 26, 0, 5;
        

?

? 查詢、修改、刪除數據

          --查詢數據
        
          
            select
          
           * 
          
            from
          
           classes;
        
          
            select
          
           * 
          
            from
          
           student;
        
          
            select
          
           id, 
          
            'bulise'
          
           name, age, sex, cid 
          
            from
          
           student 
        
          
            where
          
           name = 
          
            'tony'
          
          ;
        
          
            select
          
           *, (
          
            select
          
          
            max
          
          (age) 
          
            from
          
           student) 
          
            from
          
           student 
        
          
            where
          
           name = 
          
            'tony'
          
          ;
        
          ?
        
          --修改數據
        
          
            update
          
           student 
          
            set
          
           name = 
          
            'hoho'
          
          , sex = 1 
          
            where
          
           id = 1;
        
          ?
        
          --刪除數據(from可省略)
        
          
            delete
          
          
            from
          
           student 
          
            where
          
           id = 1;
        

?

? 備份數據、表

          --備份、復制student表到stu
        
          
            select
          
           * 
          
            into
          
           stu 
          
            from
          
           student;
        
          
            select
          
           * 
          
            into
          
           stu1 
          
            from
          
           (
          
            select
          
           * 
          
            from
          
           stu) t;
        
          
            select
          
           * 
          
            from
          
           stu;
        
          
            select
          
           * 
          
            from
          
           stu1;
        

?

? 利用存儲過程查詢表信息

          --查詢student相關信息
        
          
            exec
          
           sp_help student;
        
          
            exec
          
           sp_help classes;
        

轉:SQL Server 數據庫基礎編程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久99热这里只有精品7 | 最近中文字幕无免费视频 | 91在线品视觉盛宴免费 | 伊人久久免费 | 国产精品免费综合一区视频 | 四虎激情影院 | 日日摸夜夜爽 | 中文字幕一区二区三区免费看 | 欧美亚洲日本国产综合网 | 国产视频精品视频 | 亚洲欧美中文字幕在线网站 | 精品精品国产高清a毛片 | 色婷婷久久综合中文久久一本 | 久久精品视频免费在线观看 | 精品一区二区久久 | 午夜私人| 国产a做爰全过程片 | 中文国产成人精品久久96 | 国产精品麻豆a啊在线观看 国产精品麻豆高清在线观看 | 99久热re在线精品视频 | 天天操狠狠操夜夜操 | 激情时刻 | 久久最新免费视频 | 四虎精品影院在线观看视频 | 五月天天色 | 亚洲va欧美va国产va天堂 | 亚洲成人在线观看视频 | a网在线 | 欧美另类亚洲 | 国产精品国内免费一区二区三区 | 国产成人精品日本亚洲语音2 | 97精品国产91久久久久久 | 色综合网站国产麻豆 | 九九资源| 色噜噜狠狠狠狠色综合久一 | 美女超爽久久久久网站 | 中文字幕日韩在线 | 在线免费黄色网址 | 欧美精品国产综合久久 | 色综合久久久久久久久五月性色 | 日日干日日操日日射 |