3 數(shù)據(jù)庫與表的創(chuàng)建管理

  • 使用SHOW語句找出服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nba                |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.03 sec)

如果test數(shù)據(jù)庫存在,嘗試訪問它:

mysql> USE test
Database changed

注意,USE刁赦,類似QUIT,不需要一個(gè)分號(hào)闻镶。(如果你喜歡甚脉,你可以用一個(gè)分號(hào)終止這樣的語句;這無礙)USE語句在使用上也有另外一個(gè)特殊的地方:它必須在一個(gè)單行上給出铆农。

你可列在后面的例子中使用test數(shù)據(jù)庫(如果你能訪問它)牺氨,但是你在該數(shù)據(jù)庫創(chuàng)建的任何東西可以被訪問它的其它人刪除,因此墩剖,你應(yīng)該詢問MySQL管理員許可你使用自己的一個(gè)數(shù)據(jù)庫猴凹。假定你想要調(diào)用你的menagerie,管理員需要執(zhí)行這樣一條命令:

mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';

這里your_mysql_name是分配給你的MySQL用戶名岭皂,your_client_host是所連接的服務(wù)器所在的主機(jī)郊霎。

創(chuàng)建并選擇數(shù)據(jù)庫

如果管理員在設(shè)置權(quán)限時(shí)為你創(chuàng)建了數(shù)據(jù)庫,你可以開始使用它爷绘。否則歹篓,你需要自己創(chuàng)建數(shù)據(jù)庫:

mysql> CREATE DATABASE menagerie;
Query OK, 1 row affected (0.01 sec)

在Unix下,數(shù)據(jù)庫名稱是區(qū)分大小寫的(不像SQL關(guān)鍵字)揉阎,因此你必須總是以menagerie訪問數(shù)據(jù)庫,而不能用Menagerie背捌、MENAGERIE或其它一些變量毙籽。對(duì)表名也是這樣的。(在Windows下毡庆,該限制不適用坑赡,盡管你必須在一個(gè)給定的查詢中使用同樣的大小寫來引用數(shù)據(jù)庫和表。但是么抗,由于多種原因毅否,作為最好的慣例,一定要使用與數(shù)據(jù)庫創(chuàng)建時(shí)的同樣的大小寫蝇刀。)

創(chuàng)建數(shù)據(jù)庫并不表示選定并使用它螟加,你必須明確地操作。為了使menagerie
成為當(dāng)前的數(shù)據(jù)庫,使用這個(gè)命令:

mysql> use menagerie
Database changed

數(shù)據(jù)庫只需要?jiǎng)?chuàng)建一次捆探,但是必須在每次啟動(dòng)mysql

會(huì)話時(shí)在使用前先選擇它然爆。你可以根據(jù)上面的例子執(zhí)行一個(gè)USE語句來實(shí)現(xiàn)。還可以在調(diào)用mysql時(shí)黍图,通過命令行選擇數(shù)據(jù)庫曾雕,只需要在提供連接參數(shù)之后指定數(shù)據(jù)庫名稱。例如:

C:\Users\Administrator>mysql -h localhost -u root -p menagerie
Enter password: ******

注意助被,剛才顯示的命令行中的menagerie不是你的 密碼剖张。如果你想要在命令行上在-p選項(xiàng)后提供 密碼,則不能插入空格(例如揩环,如-pmypassword搔弄,不是-p mypassword)
。但是,不建議在命令行輸入密碼须床,因?yàn)檫@樣會(huì)暴露 密碼性置,能被在機(jī)器上登錄的其它用戶窺探到。

創(chuàng)建表

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

mysql>SHOW TABLES;

Empty set (0.00 sec)

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

你將需要一個(gè)包含你每個(gè)寵物的記錄的表。它可稱為pet表圃庭,并且它應(yīng)該包含锄奢,最少,每個(gè)動(dòng)物的名字剧腻。因?yàn)槊直旧聿皇呛苡腥ぞ醒耄響?yīng)該包含另外的信息。例如书在,如果在你豢養(yǎng)寵物的家庭有超過一個(gè)人灰伟,你可能想要列出每個(gè)動(dòng)物的主人。你可能也想要記錄例如種類和性別的一些基本的描述信息儒旬。

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

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

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

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

使用一個(gè)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列笔时,因?yàn)榱兄凳亲冮L(zhǎng)的。這些列的長(zhǎng)度不必都相同仗岸,而且不必是20允耿。你可以挑選從1到65535的任何長(zhǎng)度,從中選擇一個(gè)最合理的值扒怖。(如果選擇得不合適较锡,后來證明你需要一個(gè)更長(zhǎng)的字段,MySQL提供一個(gè)ALTER TABLE語句盗痒。)可以用多種類型的值來表示動(dòng)物記錄中的性別念链,例如,"m"
和"f"积糯,或"male"和"female"。使用單字符"m"和"f"是最簡(jiǎn)單的方法谦纱。

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

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

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| a              |
| pet            |
+----------------+
2 rows in set (0.00 sec)

為了驗(yàn)證你的表是按你期望的方式創(chuàng)建川慌,使用一個(gè)DESCRIBE/DESC語句:

mysql> desc 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    |       |
+---------+-------------+------+-----+---------+-------+

你可以隨時(shí)使用DESCRIBE,例如,如果你忘記表中的列的名稱或類型時(shí)梦重。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兑燥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子琴拧,更是在濱河造成了極大的恐慌降瞳,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚓胸,死亡現(xiàn)場(chǎng)離奇詭異挣饥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)沛膳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門扔枫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锹安,你說我怎么就攤上這事短荐。” “怎么了叹哭?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵忍宋,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我话速,道長(zhǎng)讶踪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任泊交,我火速辦了婚禮乳讥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘廓俭。我一直安慰自己云石,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布研乒。 她就那樣靜靜地躺著汹忠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雹熬。 梳的紋絲不亂的頭發(fā)上宽菜,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音竿报,去河邊找鬼铅乡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛烈菌,可吹牛的內(nèi)容都是我干的阵幸。 我是一名探鬼主播花履,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼挚赊!你這毒婦竟也來了诡壁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤荠割,失蹤者是張志新(化名)和其女友劉穎妹卿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涨共,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纽帖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了举反。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懊直。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖火鼻,靈堂內(nèi)的尸體忽然破棺而出室囊,到底是詐尸還是另有隱情,我是刑警寧澤魁索,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布融撞,位于F島的核電站,受9級(jí)特大地震影響粗蔚,放射性物質(zhì)發(fā)生泄漏尝偎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一鹏控、第九天 我趴在偏房一處隱蔽的房頂上張望致扯。 院中可真熱鬧,春花似錦当辐、人聲如沸抖僵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耍群。三九已至,卻和暖如春找筝,著一層夾襖步出監(jiān)牢的瞬間蹈垢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工袖裕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曹抬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓陆赋,卻偏偏與公主長(zhǎng)得像沐祷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子攒岛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容