create語法 用SQL建立新錶(前篇)

2021-07-14 21:26:51 字數 4045 閱讀 2211

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。

Oracle建立表語法 create

建立oracle表 使用create關鍵字 1 建立新錶 use 資料庫 在那個資料庫中建表 create table 表名 欄位名1 列名 資料型別 列的特徵,欄位名2 列名 資料型別 列的特徵 not null 2 建立帶有主鍵約束的表語法 create table 表名 欄位名1 列名 資料型...

關於用Create建立CEdit時有黑邊的問題

在 mfc中用 create 函式手動建立 cedit 控制項時會帶有黑邊,如下 m wndedit.create ws child ws visible ws border ws hscroll ws vscroll es multiline es wantreturn,crect 10,10,4...

用T SQL建立和刪除SQL作業

以下是 片段 定義建立作業 declare jobid uniqueidentifier,jobname sysname set jobname n 作業名稱 if exists select from msdb.dbo.sysjobs where name jobname exec msdb.db...