第2章 數(shù)據(jù)庫和表 - 復(fù)件_第1頁
第2章 數(shù)據(jù)庫和表 - 復(fù)件_第2頁
第2章 數(shù)據(jù)庫和表 - 復(fù)件_第3頁
第2章 數(shù)據(jù)庫和表 - 復(fù)件_第4頁
第2章 數(shù)據(jù)庫和表 - 復(fù)件_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第2章 數(shù)據(jù)庫和表2.1 命令行方式(fngsh)創(chuàng)建數(shù)據(jù)庫和表2.2 界面(jimin)創(chuàng)建數(shù)據(jù)庫和表2.3 有關(guān)表結(jié)構(gòu)共三十二頁2.1 命令行方式(fngsh)創(chuàng)建數(shù)據(jù)庫和表2.1.1 創(chuàng)建數(shù)據(jù)庫1. 創(chuàng)建數(shù)據(jù)庫CREATE DATABASE | SCHEMA IF NOT EXISTS db_namecreate_specification , create_specification .其中create_specification: DEFAULT CHARACTER SET charset_name| DEFAULT COLLATE collation_name說明:語句中“ ”內(nèi)為

2、可選項(xiàng)。 db_name:數(shù)據(jù)庫名。在文件系統(tǒng)中,MySQL的數(shù)據(jù)存儲(chǔ)(cn ch)區(qū)將以目錄方式表示MySQL數(shù)據(jù)庫。因此,命令中的數(shù)據(jù)庫名字必須符合操作系統(tǒng)文件夾命名規(guī)則。值得注意的是:在MySQL中是不區(qū)分大小寫的。 IF NOT EXISTS:在建數(shù)據(jù)庫前進(jìn)行判斷,只有該數(shù)據(jù)庫目前尚不存在時(shí)才執(zhí)行CREATE DATABASE操作。用此選項(xiàng)可以避免出現(xiàn)數(shù)據(jù)庫已經(jīng)存在而再新建的錯(cuò)誤。共三十二頁2.1.1 創(chuàng)建(chungjin)數(shù)據(jù)庫 DEFAULT:指定(zhdng)默認(rèn)值。 CHARACTER SET:指定數(shù)據(jù)庫字符集(Charset),charset_name為字符集名稱。 COL

3、LATE:指定字符集的校對(duì)規(guī)則,collation_name為校對(duì)規(guī)則名稱(字符集和校對(duì)規(guī)則的概念見附錄D)?!纠?.1】 創(chuàng)建一個(gè)名為test1的數(shù)據(jù)庫。MySQL不允許兩個(gè)數(shù)據(jù)庫使用相同的名字,使用IF NOT EXISTS從句可以不顯示錯(cuò)誤信息,例如:共三十二頁2.1.1 創(chuàng)建(chungjin)數(shù)據(jù)庫指定(zhdng)當(dāng)前數(shù)據(jù)庫USE db_name;2. 修改數(shù)據(jù)庫數(shù)據(jù)庫創(chuàng)建后,如果需要修改數(shù)據(jù)庫的參數(shù),可以使用ALTER DATABASE命令。語法格式:ALTER DATABASE | SCHEMA db_name alter_specification , alter_speci

4、fication .其中alter_specification:DEFAULT CHARACTER SET charset_name | DEFAULT COLLATE collation_name說明:ALTER DATABASE用于更改數(shù)據(jù)庫的全局特性,這些特性儲(chǔ)存在數(shù)據(jù)庫目錄中的db.opt文件中。用戶必須有對(duì)數(shù)據(jù)庫進(jìn)行修改的權(quán)限,才可以使用 ALTER DATABASE。修改數(shù)據(jù)庫的選項(xiàng)與創(chuàng)建數(shù)據(jù)庫相同,功能不再重復(fù)說明。如果語句中數(shù)據(jù)庫名稱忽略,則修改當(dāng)前(默認(rèn))數(shù)據(jù)庫。共三十二頁2.1.1 創(chuàng)建(chungjin)數(shù)據(jù)庫【例2.2】 修改數(shù)據(jù)庫mydata(假設(shè)mydata已經(jīng)創(chuàng)建

5、)的默認(rèn)字符集和校對(duì)規(guī)則。ALTER DATABASE mydataDEFAULT CHARACTER SET gb2312DEFAULT COLLATE gb2312_chinese_ci;3. 刪除數(shù)據(jù)庫已經(jīng)創(chuàng)建的數(shù)據(jù)庫需要?jiǎng)h除,使用DROP DATABASE命令。語法格式:DROP DATABASE IF EXISTS db_name其中,db_name是要?jiǎng)h除的數(shù)據(jù)庫名。可以使用IF EXISTS子句以避免刪除不存在的數(shù)據(jù)庫時(shí)出現(xiàn)(chxin)的MySQL錯(cuò)誤信息。示例如下:注意:這個(gè)命令必須小心使用,因?yàn)樗鼘h除指定的整個(gè)數(shù)據(jù)庫,該數(shù)據(jù)庫的所有表(包括其中的數(shù)據(jù))也將永久刪除。共三十

6、二頁2.1.2 創(chuàng)建(chungjin)表創(chuàng)建表使用CREATE TABLE命令。語法格式:CREATE TEMPORARY TABLE IF NOT EXISTS tbl_name ( column_definition , . | index_definition ) table_option select_statement;說明: TEMPORARY:該關(guān)鍵字表示用CREATE命令新建的表為臨時(shí)表。不加該關(guān)鍵字創(chuàng)建的表通常稱為持久表,在數(shù)據(jù)庫中持久表一旦創(chuàng)建將一直存在,多個(gè)用戶或者多個(gè)應(yīng)用程序可以同時(shí)使用持久表。有時(shí)候需要臨時(shí)存放數(shù)據(jù),例如,臨時(shí)存儲(chǔ)復(fù)雜(fz)的SELECT語句的結(jié)果

7、。此后,可能要重復(fù)地使用這個(gè)結(jié)果,但這個(gè)結(jié)果又不需要永久保存。這時(shí),可以使用臨時(shí)表。用戶可以像操作持久表一樣操作臨時(shí)表。只不過臨時(shí)表的生命周期較短,而且只能對(duì)創(chuàng)建它的用戶可見,當(dāng)斷開與該數(shù)據(jù)庫的連接時(shí),MySQL會(huì)自動(dòng)刪除它們。 IF NOT EXISTS:在建表前加上一個(gè)判斷,只有該表目前尚不存在時(shí)才執(zhí)行CREATE TABLE操作。用此選項(xiàng)可以避免出現(xiàn)表已經(jīng)存在無法再新建的錯(cuò)誤。 table_name:要?jiǎng)?chuàng)建的表的表名。該表名必須符合標(biāo)志符規(guī)則,如果有MySQL保留字必須用單引號(hào)括起來。 column_definition:列定義,包括列名、數(shù)據(jù)類型,可能還有一個(gè)空值聲明和一個(gè)完整性約束。

8、 共三十二頁2.1.2 創(chuàng)建(chungjin)表 index_definition:表索引項(xiàng)定義,主要定義表的索引、主鍵、外鍵等,具體定義將在第5章中討論。 table_option:用于描述表的選項(xiàng)。 select_statement:可以在CREATE TABLE語句的末尾添加一個(gè)SELECT語句,在一個(gè)表的基礎(chǔ)上創(chuàng)建表。列定義column_definition格式如下:col_name type NOT NULL | NULL DEFAULT default_value AUTO_INCREMENT UNIQUE KEY | PRIMARY KEY COMMENT string ref

9、erence_definition說明: col_name:表中列的名字。列名必須符合標(biāo)志符規(guī)則,長度不能超過64個(gè)字符,而且在表中要唯一。如果有MySQL保留字必須用單引號(hào)括起來。 type:列的數(shù)據(jù)類型,有的數(shù)據(jù)類型需要指明長度n,并用括號(hào)(kuho)括起,MySQL支持的數(shù)據(jù)類型在附錄C中介紹。 AUTO_INCREMENT:設(shè)置自增屬性,只有整型列才能設(shè)置此屬性。當(dāng)插入NULL值或0到一個(gè)AUTO_INCREMENT列中時(shí),列被設(shè)置為value+1,在這里value是此前表中該列的最大值。AUTO_INCREMENT順序從1開始。每個(gè)表只能有一個(gè)AUTO_INCREMENT列,并且它必

10、須被索引。共三十二頁2.1.2 創(chuàng)建(chungjin)表 NOT NULL | NULL:指定該列是否允許為空。如果不指定,則默認(rèn)為NULL。 DEFAULT default_value:為列指定默認(rèn)值,默認(rèn)值必須為一個(gè)常數(shù)。其中,BLOB和TEXT列不能被賦予默認(rèn)值。如果沒有為列指定默認(rèn)值,MySQL自動(dòng)地分配一個(gè)。如果列可以取NULL值,默認(rèn)值就是NULL。如果列被聲明(shngmng)為NOT NULL,默認(rèn)值取決于列類型:(1)對(duì)于沒有聲明AUTO_INCREMENT屬性的數(shù)字類型,默認(rèn)值是0。對(duì)于一個(gè)AUTO_INCREMENT列,默認(rèn)值是在順序中的下一個(gè)值。(2)對(duì)于除TIMES

11、TAMP以外的日期和時(shí)間類型,默認(rèn)值是該類型適當(dāng)?shù)摹傲恪敝怠?duì)于表中第一個(gè)TIMESTAMP列,默認(rèn)值是當(dāng)前的日期和時(shí)間。(3)對(duì)于除ENUM的字符串類型,默認(rèn)值是空字符串。對(duì)于ENUM,默認(rèn)值是第一個(gè)枚舉值。 UNIQUE KEY | PRIMARY KEY:PRIMARY KEY和UNIQUE KEY都表示字段中的值是唯一的。PRIMARY KEY表示設(shè)置為主鍵,一個(gè)表只能定義一個(gè)主鍵,主鍵一定要為NOT NULL。 COMMENT string:對(duì)于列的描述,string是描述的內(nèi)容。 reference_definition:指定參照的表和列,具體定義在第5章參照完整性中介紹。type

12、定義如下:共三十二頁2.1.2 創(chuàng)建(chungjin)表說明:以上是各種數(shù)據(jù)類型的定義格式,值得注意的是,在字符數(shù)據(jù)類型和數(shù)值數(shù)據(jù)類型之后,MySQL允許指定一個(gè)數(shù)據(jù)類型選項(xiàng)用來改變數(shù)據(jù)類型的屬性和功能。對(duì)于(duy)字符數(shù)據(jù)類型,MySQL支持兩種數(shù)據(jù)類型選項(xiàng):CHARACTER SET和COLLATE。如果要區(qū)分字符的大小寫情況,可以在字符類型后面加上BINGARY。對(duì)于除BIT以外的數(shù)值數(shù)據(jù)類型,MySQL允許添加一個(gè)或多個(gè)數(shù)據(jù)類型選項(xiàng)。UNSIGNED:不允許負(fù)值。ZEROFILL:當(dāng)插入的值長度小于字段設(shè)定的長度時(shí),剩余部分用0填補(bǔ)。spatial_type是空間類型數(shù)據(jù),本書不討

13、論。表選項(xiàng)table_option定義如下:共三十二頁2.1.2 創(chuàng)建(chungjin)表ENGINE | TYPE = engine_name/*存儲(chǔ)引擎*/| AUTO_INCREMENT = value/*初始值*/| AVG_ROW_LENGTH = value/*表的平均行長度*/| DEFAULT CHARACTER SET charset_name COLLATE collation_name/*默認(rèn)字符集和校對(duì)*/| CHECKSUM = 0 | 1/*設(shè)置為1表示求校驗(yàn)(xio yn)和*/| COMMENT = string/*注釋*/| CONNECTION = con

14、nect_string/*連接字符串*/| MAX_ROWS = value/*行的最大數(shù)*/| MIN_ROWS = value/*列的最小數(shù)*/| PACK_KEYS = 0 | 1 | DEFAULT| PASSWORD = string/*對(duì).frm文件加密*/| DELAY_KEY_WRITE = 0 | 1/*對(duì)關(guān)鍵字的更新*/| ROW_FORMAT = DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT/*定義各行應(yīng)如何儲(chǔ)存*/| UNION = (tbl_name,tbl_name.)/*表示哪個(gè)表應(yīng)該合并*/| INSERT

15、_METHOD = NO | FIRST | LAST /*是否執(zhí)行INSERT語句*/| DATA DIRECTORY = absolute path to directory/*數(shù)據(jù)文件的路徑*/| INDEX DIRECTORY = absolute path to directory/*索引的路徑*/共三十二頁MYSQL的基本(jbn)數(shù)據(jù)類型數(shù)據(jù)類型描述字節(jié)推薦使用SMALLINT整數(shù),從-32000到+320002存儲(chǔ)相對(duì)比較小的整數(shù)。如:年齡、數(shù)量INT整數(shù),從-2000000000到+20000000004存儲(chǔ)中等整數(shù)。如:距離BIGINT不能用SMALLIT或INT描述的越大

16、整數(shù)。8存儲(chǔ)超大的整數(shù)。如:科學(xué)/數(shù)學(xué)數(shù)據(jù)FLOAT單精度浮點(diǎn)型數(shù)據(jù)4存儲(chǔ)小數(shù)數(shù)據(jù)。如:測量,溫度DOUBLE雙精度浮點(diǎn)型數(shù)據(jù)8需要雙精度存儲(chǔ)的小數(shù)數(shù)據(jù)共三十二頁MYSQL的基本(jbn)數(shù)據(jù)類型數(shù)據(jù)類型描述字節(jié)推薦使用CHAR固定長度的字符串特定字符串長(最高255字符)存儲(chǔ)通常包含預(yù)定義字符串的變量。如:郵編VARCHAE具有最大限制的可變長度的字符串變量(最高255字符)存儲(chǔ)不同長度的字符串值。如:名字,密碼TEXT沒有最大長度限制的可變長度存儲(chǔ)大型文本數(shù)據(jù)。如:備注,產(chǎn)品描述BLOB二進(jìn)制字符串實(shí)際字符串長度存儲(chǔ)二進(jìn)制數(shù)據(jù)。如:圖片,附件,二進(jìn)制文檔共三十二頁MYSQL的基本(jbn)

17、數(shù)據(jù)類型數(shù)據(jù)類型描述字節(jié)推薦使用DATE以yyyy-mm-dd格式的日期3存儲(chǔ)日期。如:生日TIME以hh:mm:ss格式的時(shí)間3存儲(chǔ)時(shí)間或時(shí)間間隔。如:報(bào)警聲,兩時(shí)間之間的間隔DATETIME以yyyy-mm-ddhh:mm:ss格式結(jié)合日期和時(shí)間8存儲(chǔ)包含日期和時(shí)間的數(shù)據(jù)。如:提醒的人,事件共三十二頁2.1.2 創(chuàng)建(chungjin)表說明:表中大多數(shù)的選項(xiàng)涉及的是表數(shù)據(jù)如何存儲(chǔ)及存儲(chǔ)在何處。多數(shù)情況下,不必指定表選項(xiàng)。ENGINE選項(xiàng)是定義表的存儲(chǔ)引擎?!纠?.3】 設(shè)已經(jīng)創(chuàng)建了數(shù)據(jù)庫XSCJ,在該數(shù)據(jù)庫中創(chuàng)建學(xué)生情況表XS。USE XSCJCREATE TABLE XS( 學(xué)號(hào) ch

18、ar(6) NOT NULL PRIMARY KEY, 姓名 char(8) NOT NULL , 專業(yè)名 char(10) NOT NULL , 性別 tinyint(1)NOT NULL DEFAULT 1 , 出生日期date NOT NULL , 總學(xué)分 tinyint NULL , 照片 blob NULL, 備注 text NULL ) ENGINE=InnoDB;在上面的例子里,每個(gè)字段都包含附加約束或修飾符,這些(zhxi)可以用來增加對(duì)所輸入數(shù)據(jù)的約束。“PRIMARY KEY”表示將“學(xué)號(hào)”字段定義為主鍵?!癉EFAULT 1”表示“性別”的默認(rèn)值為1?!癊NGINE=In

19、noDB”表示采用的存儲(chǔ)引擎是InnoDB,InnoDB是MySQL在Windows平臺(tái)默認(rèn)的存儲(chǔ)引擎,所以“ENGINE=InnoDB”可以省略。共三十二頁存儲(chǔ)(cn ch)引擎MySQL中的數(shù)據(jù)用各種不同的技術(shù)存儲(chǔ)在文件(或者內(nèi)存)中。這些技術(shù)中的每一種技術(shù)都使用不同的存儲(chǔ)機(jī)制、索引技巧、鎖定水平并且最終提供廣泛的不同的功能和能力。通過選擇不同的技術(shù),你能夠獲得額外的速度或者功能,從而改善(gishn)你的應(yīng)用的整體功能。共三十二頁存儲(chǔ)(cn ch)引擎MyISAM: Mysql的默認(rèn)數(shù)據(jù)庫,最為常用。擁有較高的插入,查詢速度(sd),但不支持事務(wù)。InnoDB:事務(wù)型數(shù)據(jù)庫的首選引擎,支

20、持ACID事務(wù),支持行級(jí)鎖定。BDB: 源自Berkeley DB,事務(wù)型數(shù)據(jù)庫的另一種選擇,支持COMMIT和ROLLBACK等其他事務(wù)特性。Memory:所有數(shù)據(jù)置于內(nèi)存的存儲(chǔ)引擎,擁有極高的插入,更新和查詢效率。但是會(huì)占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會(huì)在Mysql重新啟動(dòng)時(shí)丟失。show variables like %storage_engine%;共三十二頁2.1.2 創(chuàng)建(chungjin)表2. 修改表ALTER TABLE用于更改原有表的結(jié)構(gòu)。例如,可以增加或刪減列,創(chuàng)建或取消索引,更改原有列的類型,重新命名列或表,還可以更改表的評(píng)注和表的類型。語法格式(g shi):

21、ALTER IGNORE TABLE tbl_name alter_specification , alter_specification .alter_specification: ADD COLUMN column_definition FIRST | AFTER col_name /*添加列*/ | ALTER COLUMN col_name SET DEFAULT literal | DROP DEFAULT/*修改默認(rèn)值*/ | CHANGE COLUMN old_col_name column_definition /*對(duì)列重命名*/ FIRST|AFTER col_name |

22、MODIFY COLUMN column_definition FIRST | AFTER col_name /*修改列類型*/ | DROP COLUMN col_name/*刪除列*/ | RENAME TO new_tbl_name/*重命名該表*/ | ORDER BY col_name/*排序*/ | CONVERT TO CHARACTER SET charset_name COLLATE collation_name/*將字符集轉(zhuǎn)換為 二進(jìn)制*/ | DEFAULT CHARACTER SET charset_name COLLATE collation_name/*修改默認(rèn)字符

23、集*/ | table_options | 列或表中索引項(xiàng)的增、刪、改(見第5章索引部分)共三十二頁2.1.2 創(chuàng)建(chungjin)表 ADDCOLUMN子句:向表中增加新列。例如,在表t1中增加新的一列a:ALTER TABLE t1 ADD COLUMN a TINYINT NULL ; CHANGE COLUMN子句:修改列的名稱。重命名時(shí),需給定舊的和新的列名稱和列當(dāng)前的類型,如,要把一個(gè)INTEGER列的名稱從a變更(bingng)到b:ALTER TABLE t1 CHANGE a b INTEGER; MODIFY COLUMN子句:修改指定列的類型。例如,要把一個(gè)列的數(shù)據(jù)類

24、型改為BIGINT:ALTER TABLE t1 MODIFY b BIGINT NOT NULL;共三十二頁2.1.2 創(chuàng)建(chungjin)表注意,若表中該列所存數(shù)據(jù)的數(shù)據(jù)類型與將要修改的列的類型沖突,則發(fā)生錯(cuò)誤。例如(lr),原來CHAR類型的列要修改成INT類型,而原來列值中有字符型數(shù)據(jù)“a”,則無法修改??梢栽谝粋€(gè)ALTER TABLE語句里寫入多個(gè)ADD、ALTER、DROP和CHANGE子句,中間用逗號(hào)分開。這是MySQL相對(duì)于標(biāo)準(zhǔn)SQL的擴(kuò)展。在標(biāo)準(zhǔn)SQL中,每個(gè)ALTER TABLE語句中每個(gè)子句只允許使用一次。【例2.4】 假設(shè)已經(jīng)在數(shù)據(jù)庫XSCJ中創(chuàng)建了表XS,表中存在

25、“姓名”列。在表XS中增加“獎(jiǎng)學(xué)金等級(jí)”列并將表中的“姓名”列刪除。USE XSCJALTER TABLE XS ADD 獎(jiǎng)學(xué)金等級(jí) tinyint NULL , DROP COLUMN 姓名 ;共三十二頁2.1.2 創(chuàng)建(chungjin)表3. 修改表名除了上面的ALTER TABLE命令,還可以直接用RENAME TABLE語句來更改表的名字(mng zi)。語法格式:RENAME TABLE tbl_name TO new_tbl_name , tbl_name2 TO new_tbl_name2 .【例2.5】 假設(shè)數(shù)據(jù)庫XSCJ中已經(jīng)存在table1表和table2表,將table

26、1表重命名為student,table2表重命名為course。USE XSCJRENAME TABLE table1 TO student, table2 TO course;共三十二頁2.1.2 創(chuàng)建(chungjin)表4. 復(fù)制表語法格式:CREATE TEMPORARY TABLE IF NOT EXISTS tbl_name ( ) LIKE old_tbl_name | AS (select_statement);【例2.6】 假設(shè)數(shù)據(jù)庫XSCJ中有一個(gè)表test,創(chuàng)建test表的一個(gè)名為test_copy1的拷貝。CREATE TABLE test_copy1 LIKE tes

27、t;【例2.7】 創(chuàng)建表test的一個(gè)名為test_copy2的拷貝,并且(bngqi)復(fù)制其內(nèi)容。CREATE TABLE test_copy2 AS (SELECT * FROM test);共三十二頁2.1.2 創(chuàng)建(chungjin)表5. 刪除表語法格式:DROP TEMPORARY TABLE IF EXISTS tbl_name , tbl_name .其中,tb1_name:要被刪除的表名。IF EXISTS:避免要?jiǎng)h除的表不存在時(shí)出現(xiàn)錯(cuò)誤信息。這個(gè)命令將表的描述、表的完整性約束、索引(suyn)及和表相關(guān)的權(quán)限等都全部刪除。【例2.8】 刪除表test。USE XSCJDRO

28、P TABLE IF EXISTS test ;共三十二頁2.2 界面(jimin)創(chuàng)建數(shù)據(jù)庫和表2.2.1 創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫的必須是系統(tǒng)管理員,或者擁有用戶級(jí)別的CREATE權(quán)限。在安裝MySQL的過程中已經(jīng)創(chuàng)建了系統(tǒng)管理員,名為root,假設(shè)密碼為123456?!纠?.9】 創(chuàng)建一個(gè)學(xué)生(xu sheng)成績數(shù)據(jù)庫XSCJ(假設(shè)在這之前已經(jīng)將XSCJ數(shù)據(jù)庫刪除)。創(chuàng)建XSCJ數(shù)據(jù)庫步驟如下:(1)“開始”“程序”“MySQL”“MySQLAdministrator”,如圖2.1所示,Server host為“l(fā)ocalhost”,Username為“root”,輸入密碼,單擊“OK”

29、按鈕。圖2.1 登錄MySQL Administrator共三十二頁2.2.1 創(chuàng)建(chungjin)數(shù)據(jù)庫(2)在MySQL Administrator窗口中展開“Catalogs”選項(xiàng)欄,出現(xiàn)如圖2.2所示的數(shù)據(jù)庫列表,在任意(rny)一個(gè)數(shù)據(jù)庫名上右擊鼠標(biāo),選擇“Create New Schema”子選項(xiàng)。圖2.2 選擇創(chuàng)建數(shù)據(jù)庫選項(xiàng)共三十二頁2.2.1 創(chuàng)建(chungjin)數(shù)據(jù)庫(3)出現(xiàn)(chxin)如圖2.3所示的界面,輸入需要?jiǎng)?chuàng)建的數(shù)據(jù)庫名XSCJ,單擊“OK”按鈕。這樣數(shù)據(jù)庫XSCJ就創(chuàng)建成功了。圖2.3 輸入數(shù)據(jù)庫名共三十二頁2.2.2 創(chuàng)建、刪除(shnch)和修改表

30、 在數(shù)據(jù)庫中創(chuàng)建表,步驟如下:(1)在MySQL Administrator窗口中展開Catalogs選項(xiàng)欄,鼠標(biāo)單擊指定數(shù)據(jù)庫,在右方的快捷選單上選擇“Create New Table”子菜單,或者直接單擊“Create Table”按鈕。(2)在彈出的“MySQL Table Editor”窗口中填寫表名(這里以KC表為例),在“Columns and Indices”子選框中填寫表的各列及數(shù)據(jù)類型,如圖2.4所示,單擊“Apply Changes”按鈕。在彈出的“Confirm Table Editor”對(duì)話框中單擊“Execute”按鈕,即可成功創(chuàng)建表KC。說明:創(chuàng)建完KC表之后,使用

31、相同的方法創(chuàng)建附錄A中的其他兩個(gè)表,這里不再(b zi)重復(fù)說明。共三十二頁2.2.2 創(chuàng)建、刪除(shnch)和修改圖2.4 創(chuàng)建(chungjin)表的各列及數(shù)據(jù)類型共三十二頁2.2.2 創(chuàng)建、刪除(shnch)和修改 如果要在數(shù)據(jù)庫中刪除表,步驟如下:(1)MySQL Administrator窗口中展開“Catalogs”欄,選擇數(shù)據(jù)庫(如XSCJ),在右方的快捷選單上右擊KC表,選擇“Drop Table”子菜單(ci dn),如圖2.5所示。(2)在彈出對(duì)話框中單擊“Drop Table(s)”按鈕,即刪除了表KC,這里不做刪除。圖2.5 刪除表共三十二頁2.2.2 創(chuàng)建(chun

32、gjin)、刪除和修改 在數(shù)據(jù)庫中修改表,步驟(bzhu)如下:(1)在MySQL Administrator窗口中展開Catalogs,選擇數(shù)據(jù)庫(如XSCJ),在右方的快捷選單上右擊KC表,選擇“Edit Table”子菜單,圖略。(2)在彈出的“MySQL Table Editor”窗口中即可修改表的結(jié)構(gòu),修改完后單擊 “Apply Changes”按鈕。在彈出的“Confirm Table Editor”對(duì)話框中單擊“Execute”按鈕,即可修改表XS1。注意:由于MySQL Administrator管理工具還存在一些問題,當(dāng)列的屬性為NOT NULL時(shí),修改列名可能會(huì)出錯(cuò)。共三十二頁2.3 有關(guān)(yugun)表結(jié)構(gòu)2.3.1 空值和列的identity(標(biāo)志(biozh))屬性1. 空值(NULL)概念空值通常表示未知、不可用或?qū)⒃谝院筇砑拥臄?shù)據(jù)。若一個(gè)列

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論