create語法:用SQL創建新表(前篇)

PPPcloud雲服務器內用create語法:用SQL創建新表

CREATE  TABLE  guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)

如果一切正常,如果在sql企業管理器中執行以上查詢,將返回

     This command dit not return data ,and it did not return any rows      

祝賀你,你已經建立了你的第一個表!
   你所創建的表名爲guestbook,你可以使用這個表來存儲來字你站點訪問者的信息。你是用REEATE TABLE語句創建的這個表,這個語句有兩部分:第一部份指定表的名子;第二部份是括在括號中的各字段的名稱和屬性,相互之間用逗號隔開。
   表guestbook有三個字段:visitor,comments 和entrydate。visitor字段存儲訪問者的名字,comments字段存儲訪問者對你站點的意見,entrydate字段存儲訪問者訪問你站點的日期和時間。
   注意每個字段名後面都跟有一個專門的表達式。例如,字段名comments後面跟有表達式TEXT。這個表達式指定了字段的數據類型。數據類型決定了一個字段可以存儲什麼樣的數據。因爲字段comments包含文本信息,其數據類型定義爲文本型。
   字段有許多不同的數據類型。

字段類型
   不同的字段類型用來存放不同類型的數據。創建和使用表時,更你應該理解五種常用的字段類型:字符型,文本型,數值型,邏輯性和日期型。

字符型數據
   字符型數據非常有用。當你需要存儲短的字符串信息時,你總是要用到字符型數據。例如,你可以把從HTML form的文本框中蒐集到的信息放在字符型字段中。
   要建立一個字段用來存放可變長度的字符串信息,你可以使用表達式 VARCHAR。考慮你前面創建的表guestbook:

    CREATE  TABLE  guestbook (visitor VARCHAR(40),comments TEXT,entrydate  DATETIME)

     在這個例子中,字段visitor的數據類型爲VARCHAR。注意跟在數據類型後面的括號中的數字。這個數字指定了這個字段所允許存放的字符串的最大長度。在這個例子中,字段visitor能存放的字符串最長爲四十個字符。如果名字太長,字符串會被截斷,只保留四十個字符。
   VARCHAR類型可以存儲的字符串最長爲255個字符。要存儲更長的字符串數據,可以使用文本型數據。

另一種字符型數據用來存儲固定長度的字符數據。下面是一個使用這種數據類型的例子:

    CREATE TABLE guestbook (visitor CHAR(40),comments TEXT,entrydate DATETIME)

在這個例子中,字段visitor被用來存儲四十個字符的固定長度字符串。表達式CHAR指定了這個字段應該是固定長度的字符串。
   VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。假如你向一個長度爲四十個字符的VARCHAR型字段中輸入數據Bill Gates。當你以後從這個字段中取出此數據時,你取出的數據其長度爲十個字符——字符串Bill Gates的長度。
   現在假如你把字符串輸入一個長度爲四十個字符的CHAR型字段中,那麼當你取出數據時,所取出的數據長度將是四十個字符。字符串的後面會被附加多餘的空格。
   當你建立自己的站點時,你會發現使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段時,你不需要爲剪掉你數據中多餘的空格而操心。
   VARCHAR型字段的另一個突出的好處是它可以比CHAR型字段佔用更少的內存和硬盤空間。當你的數據庫很大時,這種內存和磁盤空間的節省會變得非常重要。

文本型數據
   字符型數據限制了字符串的長度不能超過255個字符。而使用文本型數據,你可以存放超過二十億個字符的字符串。當你需要存儲大串的字符時,應該使用文本型數據。
   這裏有一個使用文本型數據的例子:

   CREATE  TABLE  guestbook (visitor VARCHAR(40),comments TEXT,entrydate  DATETIME)

   在這個例子中,字段comments被用來存放訪問者對你站點的意見。注意文本型數據沒有長度,而上一節中所講的字符型數據是有長度的。一個文本型字段中的數據通常要麼爲空,要麼很大。
   當你從HTML form的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲於文本型字段中。但是,無論何時,只要你能避免使用文本型字段,你就應該不適用它。文本型字段既大且慢,濫用文本型字段會使服務器速度變慢。文本型字段還會吃掉大量的磁盤空間。
   警告:
   一旦你向文本型字段中輸入了任何數據(甚至是空值),就會有2K的空間被自動分配給該數據。除非刪除該記錄,否則你無法收回這部分存儲空間。

數值型數據
   SQL Sever支持許多種不同的數值型數據。你可以存儲整數、小數、和錢數。
   通常,當你需要在表中的存放數字時,你要使用整型(INT)數據。INT型數據的表數範圍是從-2,147,483,647到2,147,483,647的整數。下面是一個如何使用INT型數據的例子:

  CREATE  TABLE  visitlog (visitor VARCHAR(40),numvisits  INT)

   這個表可以用來記錄你站點被訪問的次數。只要沒有人訪問你的站點超過2,147,483,647次,nubvisits字段就可以存儲訪問次數。
  爲了節省內存空間,你可以使用SMALLINT型數據。SMALLINT 型數據可以存儲從-32768到32768的整數。這種數據類型的使用方法與INT型完全相同。
  最後,如果你實在需要節省空間,你可以使用TINYINT型數據。同樣,這種類型的使用方法也與INT型相同,不同的是這種類型的字段只能存儲從0到255的整數。TINYINT型字段不能用來存儲負數。
   通常,爲了節省空間,應該儘可能的使用最小的整型數據。一個TINYINT型數據只佔用一個字節;一個INT型數據佔用四個字節。這看起來似乎差別不大,但是在比較大的表中,字節數的增長是很快的。另一方面,一旦你已經創建了一個字段,要修改它是很困難的。因此,爲安全起見,你應該預測以下,一個字段所需要存儲的數值最大有可能是多大,然後選擇適當的數據類型。
   爲了能對字段所存放的數據有更多的控制,你可以使用NUMERIC型數據來同時表示一個數的整數部分和小數部分。NUMERIC型數據使你能表示非常大的數——比INT型數據要大得多。一個NUMERIC型字段可以存儲從-1038到1038範圍內的數。NUMERIC型數據還使你能表示有小數部分的數。例如,你可以在NUMERIC型字段中存儲小數3.14。
   當定義一個NUMERIC型字段時,你需要同時指定整數部分的大小和小數部分的大小。這裏有一個使用這種數據類型的例子:
   
      CREATE TABLE  numeric_data (bignumber  NUMERIC(28,0),  fraction    NUMERIC (5,4) )

      當這個語句執行時,將創建一個名爲numeric_data的包含兩個字段的表。字段bignumber可以存儲直到28位的整數。字段fraction可以存儲有五位整數部分和四位小數部分的小數。
   一個NUMERIC型數據的整數部分最大只能有28位,小數部分的位數必須小於或等於整數部分的位數,小數部分可以是零。
   你可以使用INT型或NUMERIC型數據來存儲錢數。但是,專門有另外兩種數據類型用於此目的。如果你希望你的網點能掙很多錢,你可以使用MONEY型數據。如果你的野心不大,你可以使用SMALLMONEY型數據。MONEY型數據可以存儲從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢數。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數據。
   SMALLMONEY型數據只能存儲從-214,748.3648到214,748.3647 的錢數。同樣,如果可以的話,你應該用SMALLMONEY型來代替MONEY型數據,以節省空間。下面的例子顯示瞭如何使用這兩種表示錢的數據類型:

     CREATE TABLE products (product VARCHAR(40),price  MONEY,
                              Discount_price SMALLMONEY)      

   這個表可以用來存儲商品的折扣和普通售價。字段price 的數據類型是MONEY,字段discount_price的數據類型是SMALLMONEY。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章