目錄
前言:
安裝MySQL:
打開MySQL:
創(chuàng)建數(shù)據(jù)庫(kù):
查看已建數(shù)據(jù)庫(kù):
查看數(shù)據(jù)庫(kù)引擎:
創(chuàng)建數(shù)據(jù)表:
?主鍵約束:
單字段主鍵:
多字段聯(lián)合主鍵:
外鍵約束:
前言:
MySQL數(shù)據(jù)庫(kù)安裝了很久,一直也沒(méi)靜下心來(lái)學(xué)習(xí),因?yàn)槠鸩教?,所以什么都想學(xué)點(diǎn),又感覺(jué)有些力不從心,目前為爬蟲打基礎(chǔ),這是一項(xiàng)漫長(zhǎng)的工程,希望能夠堅(jiān)持下去。
安裝MySQL:
mysql8.0.25安裝配置教程(windows 64位)最詳細(xì)_mysql8.0.25安裝教程圖解_聚精會(huì)神搞學(xué)習(xí)的博客-CSDN博客
這里放上大佬的安裝教程,非常簡(jiǎn)單實(shí)用,且一看就懂。最主要的是路徑配置,省去很多麻煩。
打開MySQL:
很多教程中直接win + r,如果數(shù)據(jù)庫(kù)沒(méi)有裝入C盤,則要轉(zhuǎn)到你安裝數(shù)據(jù)庫(kù)的盤中。
首先第一步——將數(shù)據(jù)庫(kù)聯(lián)網(wǎng):
net start mysql
聯(lián)網(wǎng)聯(lián)網(wǎng),不聯(lián)網(wǎng)啥都沒(méi)有!直接error!
第二步,登錄:
mysql -u root -p
第三步,輸入密碼。
我個(gè)人更偏向用終端(管理員)打開mysql:(看起來(lái)更加舒適一些)
右鍵開始菜單 --> 終端(以管理員身份)--> 重復(fù)上面的三個(gè)步驟。
再次提醒!不要遺漏掉“連接網(wǎng)絡(luò)”這一步,如果打開后直接登錄,就會(huì)報(bào)錯(cuò)。
如果想要斷開網(wǎng)絡(luò)連接,直接寫:
net stop?mysql
創(chuàng)建數(shù)據(jù)庫(kù):
CREATE DATABASE 數(shù)據(jù)庫(kù)名稱;
查看已建數(shù)據(jù)庫(kù):
SHOW DATABASES;
請(qǐng)注意,要大寫!否則:
?而且也不要忘記最后面的 ‘分號(hào)’
問(wèn)題:有 :SHOW DATABASES;? 這個(gè)命令,那么 SHOW CREATE DATABASE database_name; 又是什么呢?
即:顯示已創(chuàng)建的 database_name (注意,這是數(shù)據(jù)庫(kù)的名字) 的內(nèi)容。
很容易在剛開始使用的時(shí)候認(rèn)錯(cuò),以為其默認(rèn)輸出上一個(gè)創(chuàng)建的數(shù)據(jù)庫(kù),其實(shí)不然,后面一定要附上數(shù)據(jù)庫(kù)的名字,否則會(huì)報(bào)錯(cuò):
以上兩個(gè)語(yǔ)句的錯(cuò)誤各有千秋,大家是否看出來(lái)了呢?
一定要注意DATABASE 的單復(fù)數(shù)。
查看數(shù)據(jù)庫(kù)引擎:
最常見(jiàn)的引擎有三種:
InnoDB (我的數(shù)據(jù)庫(kù)引擎就是這個(gè))
MyISAM
MEMORY
當(dāng)然,可以通過(guò)命令輸出數(shù)據(jù)庫(kù)引擎。
?(上圖只截取了一部分)
也可以:
support 表示引擎能否使用;default則表示默認(rèn)引擎
有一個(gè)教程上寫有另一種方法可以直接查看默認(rèn)引擎:
我試了,是這樣:
不知道是什么情況,如有路過(guò)大佬,還請(qǐng)指點(diǎn)迷津。?
以上是創(chuàng)建“數(shù)據(jù)庫(kù)”,接下來(lái)創(chuàng)建數(shù)據(jù)表。
創(chuàng)建數(shù)據(jù)表:
在創(chuàng)建數(shù)據(jù)表之前,一定要先選擇在哪個(gè)庫(kù)中創(chuàng)建:
USE 表名稱
?出現(xiàn): Database changed? 表示:已經(jīng)選中了該數(shù)據(jù)庫(kù),接下來(lái)創(chuàng)建數(shù)據(jù)表:
CREATE TABLE tb1
# 創(chuàng)建數(shù)據(jù)表的命令為:CREATE TABLE 后面要加上所創(chuàng)建數(shù)據(jù)表的名字,注意到這里還沒(méi)有結(jié)束。
# 這里可以按下回車,但是在末尾千萬(wàn)不要加上分號(hào)。
(id INT(11), name VARCHAR(25), deptID INT(11), salary FLOAT);
# 以上是創(chuàng)建表的全部語(yǔ)句,結(jié)束之后需要加上分號(hào)。
#在終端操作不建議在這一句上進(jìn)行分行處理,尤其是寫習(xí)慣代碼,敲對(duì)號(hào)一次敲一對(duì)的,就更不能按回車!
#如果實(shí)在是想給他分行寫,那么最外面的括號(hào)的右半要最后再敲上去。
# 在這里插播一下,我們?cè)诶ㄌ?hào)內(nèi)部寫的是表的結(jié)構(gòu)(下面簡(jiǎn)單舉兩個(gè)例子):
字段名稱 | 數(shù)據(jù)類型 | 備注 |
id | INT(11) | |
name | VARCHAR(25) |
目前還沒(méi)有弄清楚為什么會(huì)出現(xiàn) 2warnings,后續(xù)弄明白再補(bǔ)充上。
到此為止,建立了一個(gè)表,只不過(guò)這個(gè)表是空的。
我們來(lái)查看一下該表:
SHOW TABLES;
?主鍵約束:
主鍵就是主碼,主鍵約束,即要求主鍵列數(shù)據(jù)唯一,且不能為空。這樣就能夠明確標(biāo)注該鍵所在的一行數(shù)據(jù)。(主鍵其實(shí)可以不在列首,甚至一個(gè)表格內(nèi)可以有多個(gè)主鍵約束)
主鍵約束可以是一個(gè)字段,也可以是多個(gè)字段(字段說(shuō)白了就是每一列的列頭名稱。)
單字段主鍵:
可以直接在字段之后設(shè)置
# 我又創(chuàng)建了一個(gè)名為 tb2 的表格,只是在ID(這就是一個(gè)字段)后添加了 PRIMARY KEY ,不要寫錯(cuò)字母。
# 所以這個(gè)表格的主鍵就是 ID
# 查看一下,確實(shí)創(chuàng)建完成了。
除此之外,可以先確定各個(gè)字段,在最后標(biāo)明主鍵。
# 如果在寫入字段的時(shí)候發(fā)生錯(cuò)誤,注意,一定要重新創(chuàng)建表格!
# 報(bào)錯(cuò)提示會(huì)標(biāo)明錯(cuò)誤的地方。終端和pycharm不同,終端沒(méi)有提示,很容易寫錯(cuò),建議寫兩個(gè)字就趕快查看一下是否出錯(cuò)。
# 這里敲代碼也是可以進(jìn)行復(fù)制和粘貼操作的。
# 下面是我的前車之鑒。
?即使字段設(shè)置完成,沒(méi)有創(chuàng)建表的命令,也一樣會(huì)報(bào)錯(cuò)。
多字段聯(lián)合主鍵:
?只能選用第二個(gè)方法啦!就是在括號(hào)內(nèi)寫入多個(gè)字段即可。
外鍵約束:
外鍵可以在多個(gè)表之間建立聯(lián)系。
外鍵在子表中,外鍵依賴的主鍵在父表中。
子表中所設(shè)置的外鍵可以不是子表的主鍵:即,子表主鍵為id,其外鍵可以是septID,但是這個(gè)外鍵一定是要關(guān)聯(lián)到父表的主鍵上。
舉個(gè)例子:
我們就拿之前的tb3作為父表:
此時(shí) tb3 的主鍵是 id
我們?cè)賱?chuàng)建一個(gè)子表:
其中字段內(nèi)容和 tb3 相同,外鍵設(shè)置為 deptID,鏈接到父表的主鍵上:
?主要語(yǔ)句:
CONSTRAINT <外鍵名>?FOREIGN KEY?(<子表中作為外鍵的字段>)?REFERENCES?<父表名稱>(<父表的主鍵>);
注意,如果在設(shè)置外鍵時(shí),名稱不小心打錯(cuò)了,就會(huì)報(bào)錯(cuò):
?這個(gè)報(bào)錯(cuò)提示很明顯。
注意:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-427126.html
子表的外鍵必須關(guān)聯(lián)父表的主鍵,且兩個(gè)字段的數(shù)據(jù)類型必須相同!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-427126.html
到了這里,關(guān)于MySQL:創(chuàng)建數(shù)據(jù)庫(kù),數(shù)據(jù)表,主鍵和外鍵的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!