新聞中心
在現(xiàn)代軟件開發(fā)中,數(shù)據(jù)庫扮演著極其重要的角色。無論是網(wǎng)站應用、移動應用還是桌面應用,都需要用到數(shù)據(jù)庫來存儲應用程序所需的各種數(shù)據(jù)。而數(shù)據(jù)庫的本質就是一個數(shù)據(jù)倉庫,它可以幫助我們存儲、管理、查詢數(shù)據(jù)。在數(shù)據(jù)庫中,最基本的存儲單元就是表。因此,在開始使用數(shù)據(jù)庫時,之一步就是建立數(shù)據(jù)庫表。本文將會介紹數(shù)據(jù)庫表的創(chuàng)建,以及應該如何編寫表的創(chuàng)建代碼。

創(chuàng)新互聯(lián)主要從事網(wǎng)站建設、網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務昌邑,十年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108
數(shù)據(jù)庫表的創(chuàng)建
在數(shù)據(jù)庫中創(chuàng)建表的過程非常簡單,只需要執(zhí)行一條SQL語句即可。在MySQL中,創(chuàng)建表的基本語法如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
…..
);
其中,CREATE TABLE是定義創(chuàng)建表的關鍵字。table_name是你給表起的名稱,后面緊跟的是表的字段定義,包括字段名稱和數(shù)據(jù)類型。
例如,我們需要創(chuàng)建一個”user”表,表中包含”user_id”、”username”、”password”三個字段,其中”user_id”是int型,”username”和”password”是varchar(50)型。則可以執(zhí)行以下SQL語句:
CREATE TABLE user(
user_id int,
username varchar(50),
password varchar(50)
);
執(zhí)行以上語句后,MySQL將會創(chuàng)建一個名為”user”的表,并定義了三個字段: “user_id”、”username”和”password”。
應該如何編寫表的創(chuàng)建代碼?
在軟件開發(fā)中,不同的開發(fā)人員往往有自己的編程風格和習慣,而這些習慣往往能夠影響到代碼質量和可維護性。下面我們來談一談,在編寫數(shù)據(jù)庫表的創(chuàng)建代碼時,應該注意哪些問題。
1. 字段位置
在定義字段時,應該根據(jù)實際需求,在設計表時把最常用的字段放在最前面,放在后面的是不經(jīng)常使用的字段。在后續(xù)的查詢操作中,這樣可以提高查詢效率,縮短查詢時間。
2. 命名規(guī)范
在命名字段時,應該盡量貼近實際含義,避免使用縮寫或者與其他字段重名。建議使用下劃線命名法,比如”user_id”、”user_name”等。
3. 數(shù)據(jù)類型和長度
在定義字段時,應該根據(jù)實際情況選擇合適的數(shù)據(jù)類型和長度。比如,如果需要存儲日期時間,應該使用datetime類型;如果需要存儲長文本,應該使用text類型。同時,為了節(jié)約存儲空間和提高查詢效率,應該盡可能縮短字段的長度,例如在存儲郵件地址時,如果不需要存儲郵件地址的富文本格式,可以使用varchar(50),而不是text類型。
4. 主鍵和自增列
在設計表結構時,應該注意為表添加主鍵和自增列。主鍵是一種非常重要的約束,在表中保證數(shù)據(jù)的唯一性。自增列是一種自動增加的列,可以在插入數(shù)據(jù)時自動為該列賦值,便于維護。
5. 索引和統(tǒng)計信息
在表設計完成后,應該根據(jù)實際查詢需求為表添加索引和統(tǒng)計信息。索引是一種數(shù)據(jù)結構,可以加快查詢速度。在數(shù)據(jù)庫中,經(jīng)常使用二叉樹、B樹等數(shù)據(jù)結構實現(xiàn)表索引。統(tǒng)計信息可以幫助數(shù)據(jù)庫優(yōu)化器選擇合適的執(zhí)行計劃,提高查詢效率。
在軟件開發(fā)中,數(shù)據(jù)庫扮演著非常重要的角色。對于初學者來說,在編寫數(shù)據(jù)庫表的創(chuàng)建代碼時,需要注意一些基本原則,比如命名規(guī)范、數(shù)據(jù)類型和長度、主鍵和自增列等。同時,在數(shù)據(jù)庫的日常維護過程中,需要注意為表添加索引和統(tǒng)計信息。只有按照標準化的流程進行開發(fā),才能獲得更好的開發(fā)效率和更高質量的代碼。
相關問題拓展閱讀:
- SQL語句創(chuàng)建表
SQL語句創(chuàng)建表
方法一:SQL語句創(chuàng)建數(shù)據(jù)庫
create database stuDB
on primary — 默認就屬于primary文件組,可省
(
/*–數(shù)據(jù)文件悄亮的具體描述–*/
name=’stuDB_data’, — 主數(shù)據(jù)文件的邏輯名稱
filename=’D:\stuDB_data.mdf’, — 主數(shù)據(jù)文件的物理名稱
size=5mb, –主數(shù)據(jù)文件的初始消伍大小
maxsize=100mb, — 主數(shù)據(jù)文件增長的更大值
filegrowth=15%–主數(shù)據(jù)文件的增長率
)
log on
(
/*–日志文件的具體描述,各參數(shù)含義同上–*/
name=’stuDB_log’,
filename=’D:\stuDB_log.ldf’,
size=2mb,
filegrowth=1mb
)
方法二:phpMyAdmin創(chuàng)建數(shù)據(jù)庫
一、雙擊打開服務器
二、啟動服務器
三、啟橋寬點擊MySQL管理器
四、進入phpMyAdmin,登錄,點擊數(shù)據(jù)庫,輸入數(shù)據(jù)庫名,點擊創(chuàng)建(如下圖紅箭頭)
五、數(shù)據(jù)庫就創(chuàng)建完了
1.定義基本表語句
語法:
USE 數(shù)據(jù)庫名 CREATE TABLE 表名 (列名 類型(大小) DEFAULT’默認值’,
列名 類型(大小) DEFAULT’默認值’,
2.定義完整性約束
語法:
USE 數(shù)據(jù)庫名 CREATE TABLE 表名 (列名 類型(大小) DEFAULT’默認值’ CONSTRAINT 約束名 約束定義,
列名 類型(大小) DEFAULT’默認值’ CONSTRAINT 約束名 約束定義,
列名 類型(大小) DEFAULT’默認值’ CONSTRAINT 約束名 約束定義,
約束定義
(笑茄昌1)NULL | NOT NULL 用于定義列的空值約束。(定義列) (下面的藍色部份是單選其中之一)
語法:CONSTRAINT 約束名 NULL | NOT NULL
例:下面的 SQL 語句強制 “Id_P” 列和 “LastName” 列不接受 NULL 值:
(3)PRIMARY KEY 約束唯一標識數(shù)據(jù)庫表中的每條記錄。(即可以定義列也可能定義表)
語法:CONSTRAINT 約束名 PRIMARY KEY (列名, 列名, … …);
說明:用于定義基本表的主鍵。與UNIQUE約束類似,PRIMARY KEY 約納掘束也是通過建立唯一索引來保證基本表在主鍵列(某一個列或多個列的組合)上取值的唯一性。然而它們之間也存在著很大差別:在一個基本表中只能定義一個 PRIMARY KEY 約束,卻能定義多個UNIQUE約束。如果為基本表的某一個列或多個列的組合指定了 PRIMARY KEY 約束,那么其中在任何一個列都不能出現(xiàn)空值;而 UNIQUE 約束允許出現(xiàn)空值。
下面的 SQL 在 “Persons” 表創(chuàng)建時在 “Id_P” 列創(chuàng)建 PRIMARY KEY 約束:
(2)UNIQUE 約束唯一標識數(shù)據(jù)庫表中的每條記錄。(即可以定義列也可能定義表)
語法:CONSTRAINT 約束名 UNIQUE (列名, 列名, … …);
說明:用于指定基本表在某一個列或多個列的組合上取值必須唯一。定義了UNIQUE約束的那些列稱為唯一鍵。如果為基本表的革一列或多個列的組合指定了UNIQUE約束,則系統(tǒng)將為這些列建立唯一索引,從而保證在表中的任意兩行記錄在指定的列或列組合上不能取同樣的值。
注意:
a. UNIQUE 約束唯一標識數(shù)據(jù)庫表中的每條記錄。
b. UNIQUE 和 PRIMARY KEY 約束均為列或列提供了唯一性的保證。
c. PRIMARY KEY 擁有自動定義的 UNIQUE 約束。
d.請注意,每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束。
(4)FOREIGN KEY 外鍵 (即可以定義列也可能定義表)
語法:CONSTRAINT 約束名 FOREIGN KEY (列名, 列名, … …) REFERENCES (列名, 列名, … …) ;
說明:指定某一個列或多個列的組合作為外部鍵,并在外部鍵和它所引用的主鍵或唯一鍵之間建立聯(lián)系。在這種聯(lián)系中,包含外部鍵的基本表稱為從表,包含外部鍵引碰扒用的主鍵或唯一鍵的表稱為主表。一旦為一列或列的組合定義了 FOREIGN KEY 約束,系統(tǒng)將保證從表在外部鍵上的取值要么是主表中某一個主鍵值或唯一鍵值,要么取空值。
下面的 SQL 在 “Orders” 表創(chuàng)建時為 “Id_P” 列創(chuàng)建 FOREIGN KEY:
用SQL語句創(chuàng)建表—-1
數(shù)據(jù)庫中的所有數(shù)據(jù)存儲在表中。數(shù)據(jù)表包括行和列。列決定了表中數(shù)據(jù)的類型。行包含了實際的數(shù)據(jù)。
例如,數(shù)據(jù)庫pubs中的表authors有九個字段。其中的一個字段名為為au_lname,這個字段被用來存儲作者的名字信息。每次向這個表中添加新作者時,作者名字就被添加到這個字段,產(chǎn)生一條新記錄。
通過定義字段,你可以創(chuàng)建一個新表。每個字段有一個名字和一個特定的數(shù)據(jù)類型(數(shù)據(jù)類型在后面的“字段類型”一節(jié)中講述),例如字段au_lname存儲的是字符型數(shù)據(jù)。一個字段也可以存儲其它類型的數(shù)據(jù)。
使用SQL Sever,創(chuàng)建一個新表的方法是很多的。你可以可執(zhí)行一個SQL語句或使用SQL事務管理器(SQL Enterprise Manager)來創(chuàng)建一個新表。在下一節(jié)里,你將學會如何用SQL語句來創(chuàng)建一個新表。
一、用CREATE語句創(chuàng)建表
注意:如果你還沒有建立自己的數(shù)據(jù)庫,現(xiàn)在就跳回到第三章創(chuàng)建這個庫。你絕不能向master,tempdb或任何其他任何系統(tǒng)數(shù)據(jù)庫中添加數(shù)據(jù)。
從SQL Sever程序組(在任務欄中)中啟動ISQL/w程序。出現(xiàn)查詢窗口后,從窗口頂部的下拉列表中選擇你在第三章所創(chuàng)建的數(shù)據(jù)庫。下一步,在查詢窗口中鍵入下面的SQL語句,單擊執(zhí)行查詢按鈕,執(zhí)行這個語句:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)
如果一切正常,你會在結果窗口中看到如下的文字(如果出現(xiàn)異常,請參閱第三章):
This command dit not return data ,and it did not return any rows
二、字段類型
不同的字段類型用來存放不同類型的數(shù)據(jù)。創(chuàng)建和使用表時,你更應該理解五種常用的字段類型:字符型,文本型,數(shù)值型,邏輯性和日期型。
(1)字符型數(shù)據(jù)
字符型數(shù)據(jù)非常有用。當你需要存儲短的字符串信息時,你總是要用到字符型數(shù)據(jù)。例如,你可以把從HTML form的文本框中搜集到的信息放在字符型字段中。
要建立一個字段用來存放可變長度的字符串信息,你可以使用表達式 VARCHAR。考慮你前面創(chuàng)建的表guestbook:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)
在 這個例子中,字段visitor的數(shù)據(jù)類型為VARCHAR。注意跟在數(shù)據(jù)類型后面的括號中的數(shù)字。這個數(shù)字指定了這個字段所允許存放的字符串的更大長 度。在這個例子中,字段visitor能存放的字符串最長為四十個字符。如果名字太長,字符串會被截斷,只保留四十個字符。
VARCHAR類型可以存儲的字符串最長為255個字符。要存儲更長的字符串數(shù)據(jù),可以使用文本型數(shù)據(jù)(下一節(jié)中講述)。
另一種字符型數(shù)據(jù)用來存儲固定長度的字符數(shù)據(jù)。下面是一個使用這種數(shù)據(jù)類型的例子:
CREATE TABLE guestbook (visitor CHAR(40),comments TEXT,entrydate DATETIME)
在這個例子中,字段visitor被用來存儲四十個字符的固定長度字符串。表達式CHAR指定了這個字段應該是固定長度的字符串。
VARCHAR型和CHAR型數(shù)據(jù)的這個姿野差別是細微的,但是非常重要。假如你向一個長度為四十個字符的VARCHAR型字段中輸入數(shù)據(jù)Bill Gates。當你以后從這個字段中取出此數(shù)據(jù)時,你取出的數(shù)據(jù)其長度為十個字符——字符串Bill Gates的長度。
現(xiàn)在假如你把字符串輸入一個長度為四十個字符的CHAR型字段中,那么當你取出數(shù)據(jù)時,所取出的數(shù)據(jù)長度將是四十個字符。字符串的后面會被附加多余的空格。
當你建立自己的站點時,你會發(fā)現(xiàn)使用VARCHAR型字段要比跡銷喊CHAR型字段方便的多。使用VARCHAR型字段時,你不需要為剪掉你數(shù)據(jù)中多余的空格而操心。
VARCHAR型字段的另一個突出的好處是它可以比CHAR型字段占用更少的內存和硬盤空間。當你的數(shù)據(jù)庫很大時,這種內存和磁盤空間的節(jié)省會變得非常重要。
(2)文本型數(shù)據(jù)
字符型數(shù)據(jù)限制了字符串的長度不能超過255個字符。而使用文本型數(shù)據(jù),你可以存放超過二十億個字符的字符串。當你需要存儲大串的字符時,斗搏應該使用文本型數(shù)據(jù)。
這里有一個使用文本型數(shù)據(jù)的例子:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)
在這個例子中,字段comments被用來存放訪問者對你站點的意見。注意文本型數(shù)據(jù)沒有長度,而上一節(jié)中所講的字符型數(shù)據(jù)是有長度的。一個文本型字段中的數(shù)據(jù)通常要么為空,要么很大。
當你從HTML form的多行文本編輯框(TEXTAREA)中收集數(shù)據(jù)時,你應該把收集的信息存儲于文本型字段中。但是,無論何時,只要你能避免使用文本型字段,你就應該不適用它。文本型字段既大且慢,濫用文本型字段會使服務器速度變慢。文本型字段還會吃掉大量的磁盤空間。
警告:
一旦你向文本型字段中輸入了任何數(shù)據(jù)(甚至是空值),就會有2K的空間被自動分配給該數(shù)據(jù)。除非刪除該記錄,否則你無法收回這部分存儲空間。
(3)數(shù)值型數(shù)據(jù)
SQL Sever支持許多種不同的數(shù)值型數(shù)據(jù)。你可以存儲整數(shù)、小數(shù)、和錢數(shù)。
通常,當你需要在表中的存放數(shù)字時,你要使用整型(INT)數(shù)據(jù)。INT型數(shù)據(jù)的表數(shù)范圍是從-2,147,483,647到2,147,483,647的整數(shù)。下面是一個如何使用INT型數(shù)據(jù)的例子:
CREATE TABLE visitlog (visitor VARCHAR(40),numvisits INT)
這個表可以用來記錄你站點被訪問的次數(shù)。只要沒有人訪問你的站點超過2,147,483,647次,nubvisits字段就可以存儲訪問次數(shù)。
為了節(jié)省內存空間,你可以使用ALLINT型數(shù)據(jù)。ALLINT 型數(shù)據(jù)可以存儲從-32768到32768的整數(shù)。這種數(shù)據(jù)類型的使用方法與INT型完全相同。
最后,如果你實在需要節(jié)省空間,你可以使用TINYINT型數(shù)據(jù)。同樣,這種類型的使用方法也與INT型相同,不同的是這種類型的字段只能存儲從0到255的整數(shù)。TINYINT型字段不能用來存儲負數(shù)。
通 常,為了節(jié)省空間,應該盡可能的使用最小的整型數(shù)據(jù)。一個TINYINT型數(shù)據(jù)只占用一個字節(jié);一個INT型數(shù)據(jù)占用四個字節(jié)。這看起來似乎差別不大,但 是在比較大的表中,字節(jié)數(shù)的增長是很快的。另一方面,一旦你已經(jīng)創(chuàng)建了一個字段,要修改它是很困難的。因此,為安全起見,你應該預測以下,一個字段所需要 存儲的數(shù)值更大有可能是多大,然后選擇適當?shù)臄?shù)據(jù)類型。
為 了能對字段所存放的數(shù)據(jù)有更多的控制,你可以使用NUMERIC型數(shù)據(jù)來同時表示一個數(shù)的整數(shù)部分和小數(shù)部分。NUMERIC型數(shù)據(jù)使你能表示非常大的數(shù) ——比INT型數(shù)據(jù)要大得多。一個NUMERIC型字段可以存儲從-10^38到10^38范圍內的數(shù)。NUMERIC型數(shù)據(jù)還使你能表示有小數(shù)部分的 數(shù)。例如,你可以在NUMERIC型字段中存儲小數(shù)3.14。
當定義一個NUMERIC型字段時,你需要同時指定整數(shù)部分的大小和小數(shù)部分的大小。這里有一個使用這種數(shù)據(jù)類型的例子:
CREATE TABLE numeric_data (bignumber NUMERIC(28,0), fraction NUMERIC (5,4) )
當這個語句執(zhí)行時,將創(chuàng)建一個名為numeric_data的包含兩個字段的表。字段bignumber可以存儲直到28位的整數(shù)。字段fraction可以存儲有五位整數(shù)部分和四位小數(shù)部分的小數(shù)。
一個NUMERIC型數(shù)據(jù)的整數(shù)部分更大只能有28位,小數(shù)部分的位數(shù)必須小于或等于整數(shù)部分的位數(shù),小數(shù)部分可以是零。
你 可以使用INT型或NUMERIC型數(shù)據(jù)來存儲錢數(shù)。但是,專門有另外兩種數(shù)據(jù)類型用于此目的。如果你希望你的網(wǎng)點能掙很多錢,你可以使用MONEY型數(shù) 據(jù)。如果你的野心不大,你可以使用ALLMONEY型數(shù)據(jù)。MONEY型數(shù)據(jù)可以存儲從-922,337,203,685,477.5808到 922,337,203,685,477.5807的錢數(shù)。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數(shù)據(jù)。
ALLMONEY型數(shù)據(jù)只能存儲從-214,748.3648到214,748.3647 的錢數(shù)。同樣,如果可以的話,你應該用ALLMONEY型來代替MONEY型數(shù)據(jù),以節(jié)省空間。下面的例子顯示了如何使用這兩種表示錢的數(shù)據(jù)類型:
CREATE TABLE products (product VARCHAR(40),price MONEY,
Discount_price ALLMONEY)
這個表可以用來存儲商品的折扣和普通售價。字段price 的數(shù)據(jù)類型是MONEY,字段discount_price的數(shù)據(jù)類型是ALLMONEY。
(4)存儲邏輯值
如果你使用復選框(CHECKBOX)從網(wǎng)頁中搜集信息,你可以把此信息存儲在BIT型字段中。BIT型字段只能取兩個值:0或1。這里有一個如何使用這種字段的例子:
CREATE TABLE opinion (visitor VARCHAR(40),good BIT)
這個表可以用來存放對你的網(wǎng)站進行民意調查所得的信息。訪問者可以投票表示他們是否喜歡你的網(wǎng)站。如果他們投YES,就在BIT型字段中存入1。反之,如果他們投NO,就在字段中存入0(在下一章里,你將學會如何計算投票)。
當心,在你創(chuàng)建好一個表之后,你不能向表中添加BIT型字段。如果你打算在一個表中包含BIT型字段,你必須在創(chuàng)建表時完成。
(5)存儲日期和時間
當你建立一個網(wǎng)站時,你也許需要記錄在一段時間內的訪問者數(shù)量。為了能夠存儲日期和時間,你需要使用DATETIME型數(shù)據(jù),如下例所示:
CREATE TABL visitorlog(arrivaltime DATETIME ,departuretime DATETIME)
這個表可以用來記錄訪問者進入和離開你網(wǎng)站的時間和日期。一個DATETIME型的字段可以存儲的日期范圍是從1753年1月1日之一毫秒到9999年12月31日最后一毫秒。
如 果你不需要覆蓋這么大范圍的日期和時間,你可以使用ALLDATETIME型數(shù)據(jù)。它與DATETIME型數(shù)據(jù)同樣使用,只不過它能表示的日期和時間 范圍比DATETIME型數(shù)據(jù)小,而且不如DATETIME型數(shù)據(jù)精確。一個ALLDATETIME型的字段能夠存儲從1900年1月1日到2023 年6月6日的日期,它只能精確到秒。
DATETIME型字段在你輸入日期和時間之前并不包含實際的數(shù)據(jù),認識這一點是重要的。在下一章,你將學習怎樣使用大量的SQL函數(shù)來讀取和操作日期和時間(參見下面的“缺省值”一節(jié))。你也可以在VBScript和cript 中使用日期和時間函數(shù)來向一個DATETIME型字段中輸入日期和時間。
用SQL語句創(chuàng)建表—-2
三、字段屬性
上一節(jié)介紹了如何建立包含不同類型字段的表。在這一節(jié)中,你將學會如何使用字段的三個屬性。這些屬性允許你控制空值,缺省值和標識值。
(1)允許和禁止空值
大多數(shù)字段可以接受空值(NULL)。當一個字段接受了空值后,如果你不改變它,它將一直保持空值??罩担∟ULL)和零是不同的,嚴格的說,空值表示沒有任何值。
為了允許一個字段接受空值,你要在字段定義的后面使用表達式NULL。例如,下面的表中兩個字段都允許接受空值:
CREATE TABLE empty (empty1 CHAR (40) NULL,empty2 INT NULL)
注意:
BIT型數(shù)據(jù)不能是空值。一個這種類型的字段必須取0或者1。
有時你需要禁止一個字段使用空值。例如,假設有一個表存儲著信用卡號碼和信用卡有效日期,你不會希望有人輸入一個信用卡號碼但不輸入有效日期。為了強制兩個字段都輸入數(shù)據(jù),你可以用下面的方法建立這個表:
CREATE TABLE creditcards (creditcard_number CHAR(20) NOT NULL,
Creditcard_expire DATETIME NOT NULL)
注意字段定義的后面跟有表達式NOT NULL。通過包含表達式NOT NULL,你可以禁止任何人只在一個字段中插入數(shù)據(jù),而不輸入另一個字段的數(shù)據(jù)。
你將會發(fā)現(xiàn),在你建設自己的網(wǎng)站過程中,這種禁止空值的能力是非常有用的。如果你指定一個字段不能接受空值,那么當你試圖輸入一個空值時,會有錯誤警告。這些錯誤警告可以為程序調試提供有價值的線索。
(2)缺省值
假設有一個存儲地址信息的表,這個表的字段包括街道、城市、州、郵政編碼和國家。如果你預計地址的大部分是在美國,你可以把這個值作為country字段的缺省值。
為了在創(chuàng)建一個表時指定缺省值,你可以使用表達式DEFAULT。請看下面這個在創(chuàng)建表時使用缺省值的例子:
CREATE TABLE addresses (street VARCHAR(60) NULL,
city VARCHAR(40) NULL,
state VARCHAR(20) NULL
zip VARCHAR(20) NULL,
country VARCHAR(30) DEFAULT ‘USA’)
在這個例子中,字段country的缺省值被指定為美國。注意單引號的使用,引號指明這是字符型數(shù)據(jù)。為了給非字符型的字段指定缺省值,不要把該值擴在引號中:
CREATE TABLE orders(price MONEY DEFAULT $38.00,
quantity INT DEFAULT 50,
entrydate DATETIME DEFAULT GETDATE())
在這個CREATE TABLE語句中,每個字段都指定了一個缺省值。注意DATETIME型字段entrydate所指定的缺省值,該缺省值是函數(shù)Getdate()的返回值,該函數(shù)返回當前的日期和時間。
(3)標識字段
每個表可以有一個也只能有一個標識字段。一個標識字段是唯一標識表中每條記錄的特殊字段。例如,數(shù)據(jù)庫pubs中的表jobs包含了一個唯一標識每個工作標識字段:
job_id job_desc
…………………………………………………………….
1 New Hire Job not specified
2 Chief Executive officer
3 Bushness Operations Manager
4 Chief Financial Officier
5 Publisher
字段job_id為每個工作提供了唯一的一個數(shù)字。如果你決定增加一個新工作,新增記錄的job_id字段會被自動賦給一個新的唯一值。
為了建立一個標識字段,你只需在字段定義后面加上表達式IDENTITY即可。你只能把NUMERIC型或INT型字段設為標識字段,這里有一個例子:
CREATE TABLE visitorID (theID NUBERIC(18) IDENTITY,name VARCHAR(40))
這個語句所創(chuàng)建的表包含一個名為theid的標識字段。每當一個新的訪問者名字添加到這個表中時,這個字段就被自動賦給一個新值。你可以用這個表為你的站點的每一個用戶提供唯一標識。
技巧:
建立一個標示字段時,注意使用足夠大的數(shù)據(jù)類型。例如你使用TINYINT型數(shù)據(jù),那么你只能向表中添加255個記錄。如果你預計一個表可能會變得很大,你應該使用NUMERIC型數(shù)據(jù)。
標 識字段的存在會使你想嘗試許多不可能的事情。例如,你也許想利用標識字段來對記錄進行基于它們在表中位置的運算。你應該拋棄這種意圖。每個記錄的標識字段 的值是互不相同的,但是,這并不禁止一個標識字段的標識數(shù)字之間存在間隔。例如,你永遠不要試圖利用一個表的標識字段來取出表中的前十個記錄。這種操作會 導致失敗,比如說6號記錄和7號記錄根本不存在。
四、刪除和修改表
要刪除一個表,你可以使用SQL語句DROP TABLE。例如,又從數(shù)據(jù)庫中徹底刪除表mytable,你要使用如下的語句:
DROP TABLE mytable
警告:
使用DROP TABLE命令時一定要小心。一旦一個表被刪除之后,你將無法恢復它。
當你建設一個站點時,你很可能需要向數(shù)據(jù)庫中輸入測試數(shù)據(jù)。而當你準備向世界提供你的網(wǎng)點時,你會想清空表中的這些測試信息。如果你想清除表中的所有數(shù)據(jù)但不刪除這個表,你可以使用TRUNCATE TABLE語句。例如,下面的這個SQL語句從表mytable中刪除所有數(shù)據(jù):
TRUNCATE TABLE mytable
雖然你不能刪除和修改已經(jīng)存在的字段,但你可以增加新字段。最容易的實現(xiàn)方法是使用SQL事務管理器中的Manager Tables窗口。你也可以使用SQL語句ALTER TABLE。下面是一個如何使用這種語句的例子:
ALTER TABLE mytable ADD mynewcolumn INT NULL
這個語句向表mytable中增加了一個新字段mynewcolumn。當你增加新字段時,你必須允許它接受空值,因為表中原來可能已經(jīng)有了許多記錄。
參考文獻:
百度百科-sql
一、系別表(Department表),SQL語句如下:
CREATE TABLE `department` (
`depNo` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘系別編號’,
`depName` varchar(100) DEFAULT NULL COMMENT ‘系名稱’,
`depMan` varchar(50) DEFAULT NULL COMMENT ‘系主任’,
PRIMARY KEY (`depNo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
二、教師信息表(Teacher),SQL語句如下:
CREATE TABLE `teacher表` (
`tNo` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘教師編號’,
`tName` varchar(50) DEFAULT NULL COMMENT ‘姓名’,
`tSex` varchar(10) DEFAULT NULL COMMENT ‘性別’,
`tBirthDate` int(11) DEFAULT NULL COMMENT ‘出生日期’,
`tSalary` decimal(9,2) DEFAULT NULL COMMENT ‘工資’兆汪,
`tHairDate` int(11) DEFAULT NULL COMMENT ‘聘用日期’,
`depNo` int(11) DEFAULT NULL COMMENT ‘系別編號’,
PRIMARY KEY (`tNo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
擴展資料:
CREATE TABLE 語句用于創(chuàng)建數(shù)據(jù)庫中的表。CREATE TABLE 語法如下:
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
….
)
數(shù)據(jù)類型(data_type)規(guī)定了列族租仔可容納何種數(shù)據(jù)類型。常用的數(shù)據(jù)類型如下:
(1)integer(size),int(size),allint(size),tinyint(size),僅容納整數(shù)。在括號內規(guī)定數(shù)字的更大位數(shù)。
(2)decimal(size,d),numeric(size,d),容納帶有小數(shù)的數(shù)字?!眘ize” 規(guī)定數(shù)字的更大位數(shù)?!眃”型巖 規(guī)定小數(shù)點右側的更大位數(shù)。
(3)char(size),容納固定長度的字符串(可容納字母、數(shù)字以及特殊字符)。在括號中規(guī)定字符串的長度。
(4)varchar(size),容納可變長度的字符串(可容納字母、數(shù)字以及特殊的字符)。在括號中規(guī)定字符串的更大長度。
(5)date(yyyymmdd) ,容納日期。
CREATE TABLE 語句用于創(chuàng)建數(shù)據(jù)庫中的表。
具體用法為:
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
….
)
擴展資料
:
創(chuàng)建表數(shù)據(jù)類型:
integer(size) int(size) allint(size) tinyint(size):僅容納整數(shù)。
decimal(size,d) numeric(size,d):容納帶有小數(shù)的數(shù)字。
char(size):容納固定長度的櫻罩字符串
varchar(size):容納可變長粗者度的巖頌薯字符串
date(yyyymmdd):容納日期。
參考資料
:
百度百科-SQL CREATE TABLE
關于數(shù)據(jù)庫創(chuàng)建表的代碼的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
文章題目:數(shù)據(jù)庫表的創(chuàng)建:應該如何寫代碼?(數(shù)據(jù)庫創(chuàng)建表的代碼)
文章位置:http://fisionsoft.com.cn/article/cdspdso.html


咨詢
建站咨詢
