新聞中心
作為一名數(shù)據(jù)庫開發(fā)人員,添加數(shù)據(jù)庫表是我們?nèi)粘9ぷ髦胁豢缮俚牟僮?。雖然現(xiàn)在很多DBMS具有圖形界面,可以通過拖拽、點(diǎn)擊等方式添加表格,但在不同的DBMS下,界面操作也存在一定差異,因此手寫SQL語句添加表格依然是一種重要的技能。接下來,我們將一步步教你如何。

一、創(chuàng)建數(shù)據(jù)庫
在MySQL中,創(chuàng)建數(shù)據(jù)庫的SQL語句如下:
“`
CREATE DATABASE db_name;
“`
其中,db_name為你要?jiǎng)?chuàng)建的數(shù)據(jù)庫名稱。如果創(chuàng)建數(shù)據(jù)庫時(shí)需要指定編碼,可以使用以下語句:
“`
CREATE DATABASE db_name DEFAULT CHARACTER SET charset_name;
“`
二、添加表格
創(chuàng)建完數(shù)據(jù)庫后,我們就可以在其中添加表格了。添加表格的SQL語句如下:
“`
CREATE TABLE table_name
(
column1 datatype,
column2 datatype,
column3 datatype,
…..
);
“`
其中,table_name為創(chuàng)建的表格名稱,column1、column2等為表格中的列名,datatype為列的數(shù)據(jù)類型。需要注意的是,每個(gè)列必須要指定數(shù)據(jù)類型。
以創(chuàng)建一個(gè)學(xué)生信息表為例,具體的SQL語句如下:
“`
CREATE TABLE students
(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
sex CHAR(2),
major VARCHAR(20)
);
“`
以上代碼中,創(chuàng)建了一個(gè)名為students的表格,其中包含ID、姓名、年齡、性別和專業(yè)等5個(gè)字段。其中,id字段被設(shè)置為主鍵,并自動(dòng)遞增,name和age字段為必填字段,而sex和major字段為可選字段。
三、常見數(shù)據(jù)類型
在創(chuàng)建表格時(shí),常見的數(shù)據(jù)類型包括以下幾種:
1. INT:整數(shù)類型,可分為有符號(hào)和無符號(hào)兩種類型。
2. FLOAT:單精度浮點(diǎn)數(shù)類型。
3. DOUBLE:雙精度浮點(diǎn)數(shù)類型。
4. VARCHAR:可變長度字符串類型,需要指定更大長度。
5. CHAR:固定長度字符串類型,需要指定長度。
6. BOOLEAN:布爾類型,只包含兩個(gè)值:TRUE和FALSE。
7. DATE:日期類型,格式為YYYY-MM-DD。
8. TIME:時(shí)間類型,格式為HH:MM:SS。
9. DATETIME:日期時(shí)間類型,格式為YYYY-MM-DD HH:MM:SS。
四、主鍵與外鍵
在表格設(shè)計(jì)中,主鍵和外鍵是非常重要的概念。主鍵用來唯一標(biāo)識(shí)一條記錄,對(duì)應(yīng)于表格中的一個(gè)列,而外鍵則表示另一個(gè)表格中的主鍵。
在創(chuàng)建表格時(shí),我們可以使用以下語句為表格指定主鍵:
“`
CREATE TABLE table_name
(
…
PRIMARY KEY (column_name)
);
“`
在創(chuàng)建表格時(shí),我們可以使用以下語句為表格添加外鍵:
“`
CREATE TABLE table_name1
(
…
FOREIGN KEY (column_name) REFERENCES table_name2(column_name)
);
“`
以上代碼中,table_name1為要添加外鍵的表格,column_name為外鍵列的名稱,table_name2為被引用的表格名稱,column_name為被引用表格中的主鍵列名稱。
本文介紹了如何快速學(xué)會(huì)如何添加數(shù)據(jù)庫表的 SQL語句。我們需要先創(chuàng)建數(shù)據(jù)庫,然后再添加表格。添加表格時(shí)需要指定表格名稱以及每個(gè)字段的名稱和數(shù)據(jù)類型。需要注意的是,每個(gè)表格必須要指定主鍵。對(duì)于多個(gè)表格之間的關(guān)系,我們可以通過外鍵來表達(dá)。希望本文能對(duì)您在數(shù)據(jù)庫開發(fā)領(lǐng)域的工作有所幫助。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
sql中在指定的某個(gè)數(shù)據(jù)庫中添加表的語句是什么?
例如:
create table student –student 是表名
(
sno char(10) primary key,–學(xué)號(hào)字符型,主鍵
sname varhcar(12) not null,–姓名字符型悶衫,不能為空
)
具核殲體看你要什改罩沖么了
指定數(shù)據(jù)庫 關(guān)絕指蠢謹(jǐn)鍵并檔配字 Use
如下列SQL:
USE
GO
CREATE TABLE .(
(12) NOT NULL,
(100) NULL)
GO
說明,在Test數(shù)據(jù)庫上創(chuàng)建test表
use 數(shù)據(jù)庫名返差
create table 表名
( 相關(guān)字段名 字段類型
)
建議去查詢一下幫助,幫助里說的很詳細(xì),要鎮(zhèn)銀試著漏旅皮學(xué)會(huì)使用sql server自帶的幫助。
use 數(shù)據(jù)槐扒庫鉛漏昌搜悔名
create table 表名
(
name varchar not null
age int not null
…
)
SQL語句創(chuàng)建表
用SQL語句創(chuàng)建表—-1
數(shù)據(jù)庫中的所有數(shù)據(jù)存儲(chǔ)在表中。數(shù)據(jù)表包括行和列。列決定了表中數(shù)據(jù)的類型。行包含了實(shí)際的數(shù)據(jù)。
例如,數(shù)據(jù)庫pubs中的表authors有九個(gè)字段。其中的一個(gè)字段名為為au_lname,這個(gè)字段被用來存儲(chǔ)作者的名字信息。每次向這個(gè)表中添加新作者時(shí),作者名字就被添加到這個(gè)字段,產(chǎn)生一條新記錄。
通過定義字段,你可以創(chuàng)建一個(gè)新表。每個(gè)字段有一個(gè)名字和一個(gè)特定的數(shù)據(jù)類型(數(shù)據(jù)類型在后面的“字段類型”一節(jié)中講述),例如字段au_lname存儲(chǔ)的是字符型數(shù)據(jù)。一個(gè)字段也可以存儲(chǔ)其它類型的數(shù)據(jù)。
使用SQL Sever,創(chuàng)建一個(gè)新表的方法是很多的。你可以可執(zhí)行一個(gè)SQL語句或使用SQL事務(wù)管理器(SQL Enterprise Manager)來創(chuàng)建一個(gè)新表。在下一節(jié)里,你將學(xué)會(huì)如何用SQL語句來創(chuàng)建一個(gè)新表。
一、用CREATE語句創(chuàng)建表
注意:如果你還沒有建立自己的數(shù)據(jù)庫,現(xiàn)在就跳回到第三章創(chuàng)建這個(gè)庫。你絕不能向master,tempdb或任何其他任何系統(tǒng)數(shù)據(jù)庫中添加數(shù)據(jù)。
從SQL Sever程序組(在任務(wù)欄中)中啟動(dòng)ISQL/w程序。出現(xiàn)查詢窗口后,從窗口頂部的下拉列表中選擇你在第三章所創(chuàng)建的數(shù)據(jù)庫。下一步,在查詢窗口中鍵入下面的SQL語句,單擊執(zhí)行查詢按鈕,執(zhí)行這個(gè)語句:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)
如果一切正常,你會(huì)在結(jié)果窗口中看到如下的文字(如果出現(xiàn)異常,請(qǐng)參閱第三章):
This command dit not return data ,and it did not return any rows
二、字段類型
不同的字段類型用來存放不同類型的數(shù)據(jù)。創(chuàng)建和使用表時(shí),你更應(yīng)該理解五種常用的字段類型:字符型,文本型,數(shù)值型,邏輯性和日期型。
(1)字符型數(shù)據(jù)
字符型數(shù)據(jù)非常有用。當(dāng)你需要存儲(chǔ)短的字符串信息時(shí),你總是要用到字符型數(shù)據(jù)。例如,你可以把從HTML form的文本框中搜集到的信息放在字符型字段中。
要建立一個(gè)字段用來存放可變長度的字符串信息,你可以使用表達(dá)式 VARCHAR??紤]你前面創(chuàng)建的表guestbook:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)
在 這個(gè)例子中,字段visitor的數(shù)據(jù)類型為VARCHAR。注意跟在數(shù)據(jù)類型后面的括號(hào)中的數(shù)字。這個(gè)數(shù)字指定了這個(gè)字段所允許存放的字符串的更大長 度。在這個(gè)例子中,字段visitor能存放的字符串最長為四十個(gè)字符。如果名字太長,字符串會(huì)被截?cái)?,只保留四十個(gè)字符。
VARCHAR類型可以存儲(chǔ)的字符串最長為255個(gè)字符。要存儲(chǔ)更長的字符串?dāng)?shù)據(jù),可以使用文本型數(shù)據(jù)(下一節(jié)中講述)。
另一種字符型數(shù)據(jù)用來存儲(chǔ)固定長度的字符數(shù)據(jù)。下面是一個(gè)使用這種數(shù)據(jù)類型的例子:
CREATE TABLE guestbook (visitor CHAR(40),comments TEXT,entrydate DATETIME)
在這個(gè)例子中,字段visitor被用來存儲(chǔ)四十個(gè)字符的固定長度字符串。表達(dá)式CHAR指定了這個(gè)字段應(yīng)該是固定長度的字符串。
VARCHAR型和CHAR型數(shù)據(jù)的這個(gè)差別是細(xì)微的,但是非常重要。假如你向一個(gè)長度為四十個(gè)字符的VARCHAR型字段中輸入數(shù)據(jù)Bill Gates。當(dāng)你以后從這個(gè)字段中取出此數(shù)據(jù)時(shí),你取出的數(shù)據(jù)其長度為十個(gè)字符——字符串Bill Gates的長度。
現(xiàn)在假如你把字符串輸入一個(gè)長度為四十個(gè)字符的CHAR型字段中,那么當(dāng)你取出數(shù)據(jù)時(shí),所取出的數(shù)據(jù)長度將是四十個(gè)字符。字符串的后面會(huì)被附加多余的空格。
當(dāng)你建立自己的站點(diǎn)時(shí),你會(huì)發(fā)現(xiàn)使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段時(shí),你不需要為剪掉你數(shù)據(jù)中多余的空格而操心。
VARCHAR型字段的另一個(gè)突出的好處是它可以比CHAR型字段占用更少的內(nèi)存和硬盤空間。當(dāng)你的數(shù)據(jù)庫很大時(shí),這種內(nèi)存和磁盤空間的節(jié)省會(huì)變得非常重要。
(2)文本型數(shù)據(jù)
字符型數(shù)據(jù)限制了字符串的長度不能超過255個(gè)字符。而使用文本型數(shù)據(jù),你可以存放超過二十億個(gè)字符的字符串。當(dāng)你需要存儲(chǔ)大串的字符時(shí),應(yīng)該使用文本型數(shù)據(jù)。
這里有一個(gè)使用文本型數(shù)據(jù)的例子:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)
在這個(gè)例子中,字段comments被用來存放訪問者對(duì)你站點(diǎn)的意見。注意文本型數(shù)據(jù)沒有長度,而上一節(jié)中所講的字符型數(shù)據(jù)是有長度的。一個(gè)文本型字段中的數(shù)據(jù)通常要么為空,要么很大。
當(dāng)你從HTML form的多行文本編輯框(TEXTAREA)中收集數(shù)據(jù)時(shí),你應(yīng)該把收集的信息存儲(chǔ)于文本型字段中。但是,無論何時(shí),只要你能避免使用文本型字段,你就應(yīng)該不適用它。文本型字段既大且慢,濫用文本型字段會(huì)使服務(wù)器速度變慢。文本型字段還會(huì)吃掉大量的磁盤空間。
警告:
一旦你向文本型字段中輸入了任何數(shù)據(jù)(甚至是空值),就會(huì)有2K的空間被自動(dòng)分配給該數(shù)據(jù)。除非刪除該記錄,否則你無法收回這部分存儲(chǔ)空間。
(3)數(shù)值型數(shù)據(jù)
SQL Sever支持許多種不同的數(shù)值型數(shù)據(jù)。你可以存儲(chǔ)整數(shù)、小數(shù)、和錢數(shù)。
通常,當(dāng)你需要在表中的存放數(shù)字時(shí),你要使用整型(INT)數(shù)據(jù)。INT型數(shù)據(jù)的表數(shù)范圍是從-2,147,483,647到2,147,483,647的整數(shù)。下面是一個(gè)如何使用INT型數(shù)據(jù)的例子:
CREATE TABLE visitlog (visitor VARCHAR(40),numvisits INT)
這個(gè)表可以用來記錄你站點(diǎn)被訪問的次數(shù)。只要沒有人訪問你的站點(diǎn)超過2,147,483,647次,nubvisits字段就可以存儲(chǔ)訪問次數(shù)。
為了節(jié)省內(nèi)存空間,你可以使用ALLINT型數(shù)據(jù)。ALLINT 型數(shù)據(jù)可以存儲(chǔ)從-32768到32768的整數(shù)。這種數(shù)據(jù)類型的使用方法與INT型完全相同。
最后,如果你實(shí)在需要節(jié)省空間,你可以使用TINYINT型數(shù)據(jù)。同樣,這種類型的使用方法也與INT型相同,不同的是這種類型的字段只能存儲(chǔ)從0到255的整數(shù)。TINYINT型字段不能用來存儲(chǔ)負(fù)數(shù)。
通 常,為了節(jié)省空間,應(yīng)該盡可能的使用最小的整型數(shù)據(jù)。一個(gè)TINYINT型數(shù)據(jù)只占用一個(gè)字節(jié);一個(gè)INT型數(shù)據(jù)占用四個(gè)字節(jié)。這看起來似乎差別不大,但 是在比較大的表中,字節(jié)數(shù)的增長是很快的。另一方面,一旦你已經(jīng)創(chuàng)建了一個(gè)字段,要修改它是很困難的。因此,為安全起見,你應(yīng)該預(yù)測(cè)以下,一個(gè)字段所需要 存儲(chǔ)的數(shù)值更大有可能是多大,然后選擇適當(dāng)?shù)臄?shù)據(jù)類型。
為 了能對(duì)字段所存放的數(shù)據(jù)有更多的控制,你可以使用NUMERIC型數(shù)據(jù)來同時(shí)表示一個(gè)數(shù)的整數(shù)部分和小數(shù)部分。NUMERIC型數(shù)據(jù)使你能表示非常大的數(shù) ——比INT型數(shù)據(jù)要大得多。一個(gè)NUMERIC型字段可以存儲(chǔ)從-10^38到10^38范圍內(nèi)的數(shù)。NUMERIC型數(shù)據(jù)還使你能表示有小數(shù)部分的 數(shù)。例如,你可以在NUMERIC型字段中存儲(chǔ)小數(shù)3.14。
當(dāng)定義一個(gè)NUMERIC型字段時(shí),你需要同時(shí)指定整數(shù)部分的大小和小數(shù)部分的大小。這里有一個(gè)使用這種數(shù)據(jù)類型的例子:
CREATE TABLE numeric_data (bignumber NUMERIC(28,0), fraction NUMERIC (5,4) )
當(dāng)這個(gè)語句執(zhí)行時(shí),將創(chuàng)建一個(gè)名為numeric_data的包含兩個(gè)字段的表。字段bignumber可以存儲(chǔ)直到28位的整數(shù)。字段fraction可以存儲(chǔ)有五位整數(shù)部分和四位小數(shù)部分的小數(shù)。
一個(gè)NUMERIC型數(shù)據(jù)的整數(shù)部分更大只能有28位,小數(shù)部分的位數(shù)必須小于或等于整數(shù)部分的位數(shù),小數(shù)部分可以是零。
你 可以使用INT型或NUMERIC型數(shù)據(jù)來存儲(chǔ)錢數(shù)。但是,專門有另外兩種數(shù)據(jù)類型用于此目的。如果你希望你的網(wǎng)點(diǎn)能掙很多錢,你可以使用MONEY型數(shù) 據(jù)。如果你的野心不大,你可以使用ALLMONEY型數(shù)據(jù)。MONEY型數(shù)據(jù)可以存儲(chǔ)從-922,337,203,685,477.5808到 922,337,203,685,477.5807的錢數(shù)。如果你需要存儲(chǔ)比這還大的金額,你可以使用NUMERIC型數(shù)據(jù)。
ALLMONEY型數(shù)據(jù)只能存儲(chǔ)從-214,748.3648到214,748.3647 的錢數(shù)。同樣,如果可以的話,你應(yīng)該用ALLMONEY型來代替MONEY型數(shù)據(jù),以節(jié)省空間。下面的例子顯示了如何使用這兩種表示錢的數(shù)據(jù)類型:
CREATE TABLE products (product VARCHAR(40),price MONEY,
Discount_price ALLMONEY)
這個(gè)表可以用來存儲(chǔ)商品的折扣和普通售價(jià)。字段price 的數(shù)據(jù)類型是MONEY,字段discount_price的數(shù)據(jù)類型是ALLMONEY。
(4)存儲(chǔ)邏輯值
如果你使用復(fù)選框(CHECKBOX)從網(wǎng)頁中搜集信息,你可以把此信息存儲(chǔ)在BIT型字段中。BIT型字段只能取兩個(gè)值:0或1。這里有一個(gè)如何使用這種字段的例子:
CREATE TABLE opinion (visitor VARCHAR(40),good BIT)
這個(gè)表可以用來存放對(duì)你的網(wǎng)站進(jìn)行民意調(diào)查所得的信息。訪問者可以投票表示他們是否喜歡你的網(wǎng)站。如果他們投YES,就在BIT型字段中存入1。反之,如果他們投NO,就在字段中存入0(在下一章里,你將學(xué)會(huì)如何計(jì)算投票)。
當(dāng)心,在你創(chuàng)建好一個(gè)表之后,你不能向表中添加BIT型字段。如果你打算在一個(gè)表中包含BIT型字段,你必須在創(chuàng)建表時(shí)完成。
(5)存儲(chǔ)日期和時(shí)間
當(dāng)你建立一個(gè)網(wǎng)站時(shí),你也許需要記錄在一段時(shí)間內(nèi)的訪問者數(shù)量。為了能夠存儲(chǔ)日期和時(shí)間,你需要使用DATETIME型數(shù)據(jù),如下例所示:
CREATE TABL visitorlog(arrivaltime DATETIME ,departuretime DATETIME)
這個(gè)表可以用來記錄訪問者進(jìn)入和離開你網(wǎng)站的時(shí)間和日期。一個(gè)DATETIME型的字段可以存儲(chǔ)的日期范圍是從1753年1月1日之一毫秒到9999年12月31日最后一毫秒。
如 果你不需要覆蓋這么大范圍的日期和時(shí)間,你可以使用ALLDATETIME型數(shù)據(jù)。它與DATETIME型數(shù)據(jù)同樣使用,只不過它能表示的日期和時(shí)間 范圍比DATETIME型數(shù)據(jù)小,而且不如DATETIME型數(shù)據(jù)精確。一個(gè)ALLDATETIME型的字段能夠存儲(chǔ)從1900年1月1日到2023 年6月6日的日期,它只能精確到秒。
DATETIME型字段在你輸入日期和時(shí)間之前并不包含實(shí)際的數(shù)據(jù),認(rèn)識(shí)這一點(diǎn)是重要的。在下一章,你將學(xué)習(xí)怎樣使用大量的SQL函數(shù)來讀取和操作日期和時(shí)間(參見下面的“缺省值”一節(jié))。你也可以在VBScript和cript 中使用日期和時(shí)間函數(shù)來向一個(gè)DATETIME型字段中輸入日期和時(shí)間。
用SQL語句創(chuàng)建表—-2
三、字段屬性
上一節(jié)介紹了如何建立包含不同類型字段的表。在這一節(jié)中,你將學(xué)會(huì)如何使用字段的三個(gè)屬性。這些屬性允許你控制空值,缺省值和標(biāo)識(shí)值。
(1)允許和禁止空值
大多數(shù)字段可以接受空值(NULL)。當(dāng)一個(gè)字段接受了空值后,如果你不改變它,它將一直保持空值??罩担∟ULL)和零是不同的,嚴(yán)格的說,空值表示沒有任何值。
為了允許一個(gè)字段接受空值,你要在字段定義的后面使用表達(dá)式NULL。例如,下面的表中兩個(gè)字段都允許接受空值:
CREATE TABLE empty (empty1 CHAR (40) NULL,empty2 INT NULL)
注意:
BIT型數(shù)據(jù)不能是空值。一個(gè)這種類型的字段必須取0或者1。
有時(shí)你需要禁止一個(gè)字段使用空值。例如,假設(shè)有一個(gè)表存儲(chǔ)著信用卡號(hào)碼和信用卡有效日期,你不會(huì)希望有人輸入一個(gè)信用卡號(hào)碼但不輸入有效日期。為了強(qiáng)制兩個(gè)字段都輸入數(shù)據(jù),你可以用下面的方法建立這個(gè)表:
CREATE TABLE creditcards (creditcard_number CHAR(20) NOT NULL,
Creditcard_expire DATETIME NOT NULL)
注意字段定義的后面跟有表達(dá)式NOT NULL。通過包含表達(dá)式NOT NULL,你可以禁止任何人只在一個(gè)字段中插入數(shù)據(jù),而不輸入另一個(gè)字段的數(shù)據(jù)。
你將會(huì)發(fā)現(xiàn),在你建設(shè)自己的網(wǎng)站過程中,這種禁止空值的能力是非常有用的。如果你指定一個(gè)字段不能接受空值,那么當(dāng)你試圖輸入一個(gè)空值時(shí),會(huì)有錯(cuò)誤警告。這些錯(cuò)誤警告可以為程序調(diào)試提供有價(jià)值的線索。
(2)缺省值
假設(shè)有一個(gè)存儲(chǔ)地址信息的表,這個(gè)表的字段包括街道、城市、州、郵政編碼和國家。如果你預(yù)計(jì)地址的大部分是在美國,你可以把這個(gè)值作為country字段的缺省值。
為了在創(chuàng)建一個(gè)表時(shí)指定缺省值,你可以使用表達(dá)式DEFAULT。請(qǐng)看下面這個(gè)在創(chuàng)建表時(shí)使用缺省值的例子:
CREATE TABLE addresses (street VARCHAR(60) NULL,
city VARCHAR(40) NULL,
state VARCHAR(20) NULL
zip VARCHAR(20) NULL,
country VARCHAR(30) DEFAULT ‘USA’)
在這個(gè)例子中,字段country的缺省值被指定為美國。注意單引號(hào)的使用,引號(hào)指明這是字符型數(shù)據(jù)。為了給非字符型的字段指定缺省值,不要把該值擴(kuò)在引號(hào)中:
CREATE TABLE orders(price MONEY DEFAULT $38.00,
quantity INT DEFAULT 50,
entrydate DATETIME DEFAULT GETDATE())
在這個(gè)CREATE TABLE語句中,每個(gè)字段都指定了一個(gè)缺省值。注意DATETIME型字段entrydate所指定的缺省值,該缺省值是函數(shù)Getdate()的返回值,該函數(shù)返回當(dāng)前的日期和時(shí)間。
(3)標(biāo)識(shí)字段
每個(gè)表可以有一個(gè)也只能有一個(gè)標(biāo)識(shí)字段。一個(gè)標(biāo)識(shí)字段是唯一標(biāo)識(shí)表中每條記錄的特殊字段。例如,數(shù)據(jù)庫pubs中的表jobs包含了一個(gè)唯一標(biāo)識(shí)每個(gè)工作標(biāo)識(shí)字段:
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為每個(gè)工作提供了唯一的一個(gè)數(shù)字。如果你決定增加一個(gè)新工作,新增記錄的job_id字段會(huì)被自動(dòng)賦給一個(gè)新的唯一值。
為了建立一個(gè)標(biāo)識(shí)字段,你只需在字段定義后面加上表達(dá)式IDENTITY即可。你只能把NUMERIC型或INT型字段設(shè)為標(biāo)識(shí)字段,這里有一個(gè)例子:
CREATE TABLE visitorID (theID NUBERIC(18) IDENTITY,name VARCHAR(40))
這個(gè)語句所創(chuàng)建的表包含一個(gè)名為theid的標(biāo)識(shí)字段。每當(dāng)一個(gè)新的訪問者名字添加到這個(gè)表中時(shí),這個(gè)字段就被自動(dòng)賦給一個(gè)新值。你可以用這個(gè)表為你的站點(diǎn)的每一個(gè)用戶提供唯一標(biāo)識(shí)。
技巧:
建立一個(gè)標(biāo)示字段時(shí),注意使用足夠大的數(shù)據(jù)類型。例如你使用TINYINT型數(shù)據(jù),那么你只能向表中添加255個(gè)記錄。如果你預(yù)計(jì)一個(gè)表可能會(huì)變得很大,你應(yīng)該使用NUMERIC型數(shù)據(jù)。
標(biāo) 識(shí)字段的存在會(huì)使你想嘗試許多不可能的事情。例如,你也許想利用標(biāo)識(shí)字段來對(duì)記錄進(jìn)行基于它們?cè)诒碇形恢玫倪\(yùn)算。你應(yīng)該拋棄這種意圖。每個(gè)記錄的標(biāo)識(shí)字段 的值是互不相同的,但是,這并不禁止一個(gè)標(biāo)識(shí)字段的標(biāo)識(shí)數(shù)字之間存在間隔。例如,你永遠(yuǎn)不要試圖利用一個(gè)表的標(biāo)識(shí)字段來取出表中的前十個(gè)記錄。這種操作會(huì) 導(dǎo)致失敗,比如說6號(hào)記錄和7號(hào)記錄根本不存在。
四、刪除和修改表
要?jiǎng)h除一個(gè)表,你可以使用SQL語句DROP TABLE。例如,又從數(shù)據(jù)庫中徹底刪除表mytable,你要使用如下的語句:
DROP TABLE mytable
警告:
使用DROP TABLE命令時(shí)一定要小心。一旦一個(gè)表被刪除之后,你將無法恢復(fù)它。
當(dāng)你建設(shè)一個(gè)站點(diǎn)時(shí),你很可能需要向數(shù)據(jù)庫中輸入測(cè)試數(shù)據(jù)。而當(dāng)你準(zhǔn)備向世界提供你的網(wǎng)點(diǎn)時(shí),你會(huì)想清空表中的這些測(cè)試信息。如果你想清除表中的所有數(shù)據(jù)但不刪除這個(gè)表,你可以使用TRUNCATE TABLE語句。例如,下面的這個(gè)SQL語句從表mytable中刪除所有數(shù)據(jù):
TRUNCATE TABLE mytable
雖然你不能刪除和修改已經(jīng)存在的字段,但你可以增加新字段。最容易的實(shí)現(xiàn)方法是使用SQL事務(wù)管理器中的Manager Tables窗口。你也可以使用SQL語句ALTER TABLE。下面是一個(gè)如何使用這種語句的例子:
ALTER TABLE mytable ADD mynewcolumn INT NULL
這個(gè)語句向表mytable中增加了一個(gè)新字段mynewcolumn。當(dāng)你增加新字段時(shí),你必須允許它接受空值,因?yàn)楸碇性瓉砜赡芤呀?jīng)有了許多記錄。
參考文獻(xiàn):
百度百科-sql
1.定義基本表語句
語法:
USE 數(shù)據(jù)庫名 CREATE TABLE 表名 (列名 類型(大小) DEFAULT’默認(rèn)值’,
列名 類型(大小) DEFAULT’默認(rèn)值’,
2.定義完整性約束
語法:
USE 數(shù)據(jù)庫名 CREATE TABLE 表名 (列名 類型(大小) DEFAULT’默認(rèn)值’ CONSTRAINT 約束名 約束定義,
列名 類型(大小) DEFAULT’默認(rèn)值’ CONSTRAINT 約束名 約束定義,
列名 類型(大小) DEFAULT’默認(rèn)值’ CONSTRAINT 約束名 約束定義,
約束定義
(1)NULL | NOT NULL 用于定義列的空值約束。(定義列) (下面的藍(lán)色部份是單選其中之一)
語法:CONSTRAINT 約束名 NULL | NOT NULL
例:下面的 SQL 語句強(qiáng)制 “Id_P” 列和 “LastName” 列不接受 NULL 值:
(3)PRIMARY KEY 約束唯一標(biāo)識(shí)數(shù)據(jù)庫表中的每條記錄。(即可以定義列也可能定義表)
語法:CONSTRAINT 約束名 PRIMARY KEY (列名, 列名, … …);
說明:用于定義基本表的主鍵。與UNIQUE約束類似,PRIMARY KEY 約束也是通過建立唯一索引來保證基本表在主鍵列(某一個(gè)列或多個(gè)列的組合)上取值的唯一性。然而它們之間也存在著很大差別:在一個(gè)基本表中只能定義一個(gè) PRIMARY KEY 約束,卻能定義多個(gè)UNIQUE約束。如果為基本表的某一個(gè)列或多個(gè)列的組合指定了 PRIMARY KEY 約束,那么其中在任何一個(gè)列都不能出現(xiàn)空值;而 UNIQUE 約束允許出現(xiàn)空值。
下面的 SQL 在 “Persons” 表創(chuàng)建時(shí)在 “Id_P” 列創(chuàng)建 PRIMARY KEY 約束:
(2)UNIQUE 約束唯一標(biāo)識(shí)數(shù)據(jù)庫表中的每條記錄。(即可以定義列也可能定義表)
語法:CONSTRAINT 約束名 UNIQUE (列名, 列名, … …);
說明:用于指定基本表在某一個(gè)列或多個(gè)列的組合上取值必須唯一。定義了UNIQUE約束的那些列稱為唯一鍵。如果為基本表的革一列或多個(gè)列的組合指定了UNIQUE約束,則系統(tǒng)將為這些列建立唯一索引,從而保證在表中的任意兩行記錄在指定的列或列組合上不能取同樣的值。
注意:
a. UNIQUE 約束唯一標(biāo)識(shí)數(shù)據(jù)庫表中的每條記錄。
b. UNIQUE 和 PRIMARY KEY 約束均為列或列提供了唯一性的保證。
c. PRIMARY KEY 擁有自動(dòng)定義的 UNIQUE 約束。
d.請(qǐng)注意,每個(gè)表可以有多個(gè) UNIQUE 約束,但是每個(gè)表只能有一個(gè) PRIMARY KEY 約束。
(4)FOREIGN KEY 外鍵 (即可以定義列也可能定義表)
語法:CONSTRAINT 約束名 FOREIGN KEY (列名, 列名, … …) REFERENCES (列名, 列名, … …) ;
說明:指定某一個(gè)列或多個(gè)列的組合作為外部鍵,并在外部鍵和它所引用的主鍵或唯一鍵之間建立聯(lián)系。在這種聯(lián)系中,包含外部鍵的基本表稱為從表,包含外部鍵引用的主鍵或唯一鍵的表稱為主表。一旦為一列或列的組合定義了 FOREIGN KEY 約束,系統(tǒng)將保證從表在外部鍵上的取值要么是主表中某一個(gè)主鍵值或唯一鍵值,要么取空值。
下面的 SQL 在 “Orders” 表創(chuàng)建時(shí)為 “Id_P” 列創(chuàng)建 FOREIGN KEY:
方法一:SQL語句創(chuàng)建數(shù)據(jù)庫
create database stuDB
on primary — 默認(rèn)就屬于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ù)庫
一、雙擊打開服務(wù)器
二、啟動(dòng)服務(wù)器
三、點(diǎn)擊MySQL管理器
四、進(jìn)入phpMyAdmin,登錄,點(diǎn)擊數(shù)據(jù)庫,輸入數(shù)據(jù)庫名,點(diǎn)擊創(chuàng)建(如下圖紅箭頭)
五、數(shù)據(jù)庫就創(chuàng)建完了
一、系別表(Department表),SQL語句如下:
CREATE TABLE `department` (
`depNo` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘系別編號(hào)’,
`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 ‘教師編號(hào)’,
`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 ‘系別編號(hào)’,
PRIMARY KEY (`tNo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
擴(kuò)展資料:
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ù)。在括號(hào)內(nèi)規(guī)定數(shù)字的更大位數(shù)。
(2)decimal(size,d),numeric(size,d),容納帶有小數(shù)的數(shù)字?!眘ize” 規(guī)定數(shù)字的更大位數(shù)?!眃” 規(guī)定小數(shù)點(diǎn)右側(cè)的更大位數(shù)。
(3)char(size),容納固定長度的字符串(可容納字母、數(shù)字以及特殊字符)。在括號(hào)中規(guī)定字符串的長度。
(4)varchar(size),容納可變長度的字符串(可容納字母、數(shù)字以及特殊的字符)。在括號(hào)中規(guī)定字符串的更大長度。
(5)date(yyyymmdd) ,容納日期。
CREATE TABLE 語句用于創(chuàng)建數(shù)據(jù)庫中的表。
具體用法為:
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
….
)
擴(kuò)展資料
:
創(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
關(guān)于sql語句 添加數(shù)據(jù)庫表的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機(jī)被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機(jī)/香港空間。香港虛擬主機(jī)特點(diǎn)是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機(jī)精選cn2+bgp線路訪問快、穩(wěn)定!
分享標(biāo)題:快速學(xué)會(huì)如何添加數(shù)據(jù)庫表的SQL語句(sql語句添加數(shù)據(jù)庫表)
當(dāng)前網(wǎng)址:http://www.dlmjj.cn/article/djpcchc.html


咨詢
建站咨詢
