1. 程式人生 > >Sql server 2012學習之庫建立與表建立的sql語句

Sql server 2012學習之庫建立與表建立的sql語句

【學習環境】:sql server 2012

【學習內容】:使用sql語句進行庫與表的建立

【涉及知識點】:

一、資料庫的建立

        在Sql server 2012中,分為介面操作和程式碼語句操作,介面操作在後續說明,今天所記為Sql語句的操作

        資料庫建立:

程式碼區

Creater database 學生成績管理系統

On

(

    name = 成績管理,  /*資料檔名稱*/

    filename = 'G:\sql server 2012 cq\學生成績管理系統.mdf',  /*資料檔案儲存地址*/

    size = 5,

    maxsize = 10,  /*最大資料檔案*/

    filegrowth = 2  /*增長速度*/

)

Log on

(

    name = 成績管理_Log,  /*日誌檔名稱*/

    filename = 'G:\sql server 2012 cq\學生成績管理系統.ldf', 

    size = 2,

    maxsize = 5,

    filegrowth = 10%

)

        上述程式碼中,簡單的涉及到了資料庫的名稱,資料檔案,日誌檔案,檔名稱(name),儲存位置(filename),儲存大小(size/maxsize)及增長速度(filegrowth)的語句;此為最簡單的通過Sql語句建立資料庫的案例,接下來我們進行表的建立。

二、表的建立

        在資料庫中,“表”起到一個核心的作用,就目前我所知而言,資料庫根據有無“表”而言,可將資料庫分為關係式資料庫、網路式資料庫以及層次式資料庫,我現在學習的即為關係式資料庫,在關係式資料庫中,對資料的操作幾乎全部建立在一個或多個關係表格上,通過對這些關係表格的分類,合併,連線或選取等運算來實現資料的管理。

        表的建立:

程式碼區

use 學生成績管理系統

create table students

(

    Sid int  primary  key  identity/*學生編號*/,

    Sname  Nvarchar(50)  not  null/*學生姓名*/,

    Ssex  char(2) not  null default '男' check(rsex='男' or rsex='女')/*讀者性別*/,

    Stypeid  int  not  null,/*學生型別編號*/

    Saddress  Nvarchar(50)  default '地址不詳',/*家庭住址*/

    email  Nvarchar(50)  check(email  like  '%@%'),/*電子郵件*/

    foreign  key(rtypeid)  references  readtype(rtypeid) 

)

    在上述程式碼中,我建立了一個六列的表,在建立資料庫中的“表”時,可以遵循如下的規則:

 use 資料庫名

Create table 表名

  (

        列名    列資料型別【寬度】    【default 預設值】    列約束

 )

在約束中,我們可以對其進行一系列的設定,常見約束如下所示:

1、主鍵:primary key

2、外來鍵:foreign key(列名) references 表名(列名)

3、檢查約束:check(約束條件)

4、預設約束:default

5、唯一性約束:unique

        我們將約束分為列約束及表約束,列約束可直接在寫在該列的後方,而表約束需要寫完所有的基本列之後才可進行列約束的書寫,在書寫表約束時,須在前方寫“constraint”以示要進行約束書寫,如:

contraint fk_本表名_想要關聯的主鍵所在表 froeign key(列名) references 關聯的主鍵所在表(列名)

contraint pk_本表名 primary key(列名......)/*用表約束建立主鍵時,說明想要建立複合主鍵,否則,用列約束建立會比較方便*/

        寫到此處,基本上已經將資料庫與表的Sql建立語句寫完了,再補一些在建立表時常用的語句作為該次文字的結束

1、獲得當前系統時間:getdate()

2、列數值不允許為空:not null

3、對某個資料進行說明:/**/

4、必須包含某種字元或字串:使用Check約束,在約束中寫“like %(_)約束條件(_)%”【%該符號用於字串;_該符號用於單個字元】

5、增長量:identity(),若括弧中以1,1的形式出現,此時表示的是該屬性自增