国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL入門教程4 —— 創(chuàng)建表并將數(shù)據(jù)裝入表

瀏覽:2日期:2023-10-17 14:42:39
1.創(chuàng)建表

創(chuàng)建數(shù)據(jù)庫是很容易的部分,但是在這時它是空的,正如SHOW TABLES將告訴你的:

mysql> SHOW TABLES; Empty set (0.00 sec)

較難的部分是決定你的數(shù)據(jù)庫結(jié)構(gòu)應(yīng)該是什么:你需要什么數(shù)據(jù)庫表,各數(shù)據(jù)庫表中有什么樣的列。

你將需要一個包含你每個寵物的記錄的表。它可稱為pet表,并且它應(yīng)該包含,最少,每個動物的名字。因為名字本身不是很有趣,表應(yīng)該包含另外的信息。例如,如果在你豢養(yǎng)寵物的家庭有超過一個人,你可能想要列出每個動物的主人。你可能也想要記錄例如種類和性別的一些基本的描述信息。

年齡呢?那可能有趣,但是存儲到一個數(shù)據(jù)庫中不是一件好事情。年齡隨著時間流逝而變化,這意味著你將要不斷地更新你的記錄。相反, 存儲一個固定值例如生日比較好,那么,無論何時你需要年齡,可以以當(dāng)前日期和出生日期之間的差來計算它。MySQL提供了日期運算函數(shù),因此這并不困難。存儲出生日期而非年齡還有其它優(yōu)點:

· 你可以使用數(shù)據(jù)庫完成這樣的任務(wù),例如生成即將到來的寵物生日的提示。(如果你認(rèn)為這類查詢有點蠢,注意,這與從商務(wù)數(shù)據(jù)庫來識別出不久要發(fā)給生日祝賀的客戶是同一個問題,因為計算機(jī)幫助私人聯(lián)絡(luò)。)

· 你可以相對于日期而不止是當(dāng)前日期來計算年齡。例如,如果你在數(shù)據(jù)庫存儲死亡日期,你能很容易地計算出一只寵物死時有多大。

你可能想到pet表中其它有用的其它類型信息,但是到目前為止這些已經(jīng)足夠了:名字、主人、種類,性別、出生和死亡日期。

使用一個CREATE TABLE語句指定你的數(shù)據(jù)庫表的布局:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

VARCHAR適合于name、owner和species列,因為列值是變長的。這些列的長度不必都相同,而且不必是20。你可以挑選從1到65535的任何長度,從中選擇一個最合理的值。(如果選擇得不合適,后來證明你需要一個更長的字段,MySQL提供一個ALTER TABLE語句。)

可以用多種類型的值來表示動物記錄中的性別,例如,'m'和'f',或'male'和'female'。使用單字符'm'和'f'是最簡單的方法。

很顯然,birth和death列應(yīng)選用DATE數(shù)據(jù)類。

創(chuàng)建了數(shù)據(jù)庫表后,SHOW TABLES應(yīng)該產(chǎn)生一些輸出:

mysql> SHOW TABLES; +---------------------+| Tables in menagerie |+---------------------+| pet |+---------------------+

為了驗證你的表是按你期望的方式創(chuàng)建,使用一個DESCRIBE語句:

mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| name | varchar(20) | YES | | NULL | || owner | varchar(20) | YES | | NULL | || species | varchar(20) | YES | | NULL | || sex | char(1) | YES | | NULL | || birth | date| YES | | NULL | || death | date| YES | | NULL | |+---------+-------------+------+-----+---------+-------+你可以隨時使用DESCRIBE,例如,如果你忘記表中的列的名稱或類型時。

2.將數(shù)據(jù)裝入表中

創(chuàng)建表后,需要填入內(nèi)容。通過LOAD DATA和INSERT語句可以完成該任務(wù)。

假定你的寵物紀(jì)錄描述如下。(假定在MySQL中期望的日期格式是YYYY-MM-DD;這可能與你習(xí)慣的不同。)

nameownerspeciessexbirthdeathFluffyHaroldcatf1993-02-04ClawsGwencatm1994-03-17BuffyHarolddogf1989-05-13FangBennydogm1990-08-27BowserDianedogm1979-08-311995-07-29ChirpyGwenbirdf1998-09-11WhistlerGwenbird1997-12-09SlimBennysnakem1996-04-29

因為你是從一個空表開始的,填充它的一個簡易方法是創(chuàng)建一個文本文件,每個動物各一行,然后用一個語句將文件的內(nèi)容裝載到表中。

你可以創(chuàng)建一個文本文件“pet.txt”,每行包含一個記錄,用定位符(tab)把值分開,并且以CREATE TABLE語句中列出的列次序給出。對于丟失的值(例如未知的性別,或仍然活著的動物的死亡日期),你可以使用NULL值。為了在你的文本文件中表示這些內(nèi)容,使用N(反斜線,字母N)。例如,Whistler鳥的記錄應(yīng)為(這里值之間的空白是一個定位符):

nameownerspeciessexbirthdeathWhistlerGwenbirdN1997-12-09N

要想將文本文件“pet.txt”裝載到pet表中,使用這個命令:

mysql> LOAD DATA LOCAL INFILE ’/path/pet.txt’ INTO TABLE pet;

請注意如果用Windows中的編輯器(使用rn做為行的結(jié)束符)創(chuàng)建文件,應(yīng)使用:

mysql> LOAD DATA LOCAL INFILE ’/path/pet.txt’ INTO TABLE pet -> LINES TERMINATED BY ’rn’;

(在運行OS X的Apple機(jī)上,應(yīng)使用行結(jié)束符’r’。)

如果你愿意,你能明確地在LOAD DATA語句中指出列值的分隔符和行尾標(biāo)記,但是默認(rèn)標(biāo)記是定位符和換行符。這對讀入文件“pet.txt”的語句已經(jīng)足夠。

如果該語句失敗,可能是你安裝的MySQL不與使用默認(rèn)值的本地文件兼容。

如果想要一次增加一個新記錄,可以使用INSERT語句。最簡單的形式是,提供每一列的值,其順序與CREATE TABLE語句中列的順序相同。假定Diane把一只新倉鼠命名為Puffball,你可以使用下面的INSERT語句添加一條新記錄:

mysql> INSERT INTO pet -> VALUES (’Puffball’,’Diane’,’hamster’,’f’,’1999-03-30’,NULL);

注意,這里字符串和日期值均為引號擴(kuò)起來的字符串。另外,可以直接用INSERT語句插入NULL代表不存在的值。不能使用LOAD DATA中所示的的N。

從這個例子,你應(yīng)該能看到涉及很多的鍵入用多個INSERT語句而非單個LOAD DATA語句裝載你的初始記錄。

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 国产成人免费a在线资源 | 欧洲精品一区二区三区在线观看 | aaa色| 欧美成人午夜影院 | 久久精品国产91久久综合麻豆自制 | 99久久精品免费看国产一区二区 | 天天澡天天碰天天狠伊人五月 | 成人公开视频 | 一区二区三区四区在线 | 在线观看毛片网站 | 中文字幕成人免费高清在线视频 | 久久国产精品1区2区3区网页 | 日本高清不卡在线观看 | 国产亚洲欧美日韩在线观看一区二区 | 韩国免费毛片 | 成人手机在线视频 | 不卡一区二区在线观看 | 一级日韩一级欧美 | 一级片中文字幕 | 久久影院yy6080 | 欧美日产国产亚洲综合图区一 | 女人张开腿给男人捅 | 国产一区二区三区在线观看影院 | 大片国产片日本观看免费视频 | 一区二区三区久久 | 日本成人午夜 | 国产成人综合怡春院精品 | 精品国产免费久久久久久 | 久久精品国产99国产精品亚洲 | 亚洲女人在线 | 国产高清一区二区三区 | 色拍自拍亚洲综合在线 | 亚洲国产一成人久久精品 | 欧美一级aa天码毛片 | 男女很舒服爽视频免费 | 老司机午夜精品网站在线观看 | 国产一区亚洲 | 欧美在线视频 一区二区 | 视频一二三区 | 可以免费看黄的网站 | 成人精品亚洲人成在线 |