織夢(mèng)做的網(wǎng)站 xampp百度seo排名主要看啥
學(xué)習(xí)視頻:【數(shù)據(jù)庫】SQL 3小時(shí)快速入門 #數(shù)據(jù)庫教程 #SQL教程 #MySQL教程 #database#Python連接數(shù)據(jù)庫
目錄
- 1.SQL的基礎(chǔ)知識(shí)
- 1.1.表(table)和鍵(key)
- 1.2.外鍵、聯(lián)合主鍵
- 2.MySQL安裝(略,請(qǐng)自行參考視頻)
- 3.基本的MySQL語法
- 3.1.規(guī)則與約定
- 3.1.1.MySQL中的關(guān)鍵詞不區(qū)分大小寫
- 3.1.2.非關(guān)鍵詞部分,盡量使用\``括起來,防止被誤認(rèn)為關(guān)鍵詞
- 3.1.3.每一行命令以;作為結(jié)尾
- 3.1.4.創(chuàng)建語句不重復(fù)執(zhí)行,區(qū)分其他編程語言
1.SQL的基礎(chǔ)知識(shí)
1.1.表(table)和鍵(key)
一個(gè)表的基本形式如下:
Employee是表名
,第一行的每個(gè)元素稱之為屬性
or鍵
,每張表一定包含一個(gè)主鍵
(primary key),主鍵的作用是唯一標(biāo)識(shí)每一行。
1.2.外鍵、聯(lián)合主鍵
外鍵:上圖的Employee表有兩個(gè)綠色的屬性:branch_id、sup_id,是用來連接的Branch表和自身表的外鍵
(外鍵一定是其他表的主鍵),外鍵可以抽象理解為一個(gè)單箭頭(這個(gè)箭頭由Employee表出發(fā)可以指向任意表包括自己,但一定是被指表的主鍵),Employee表的branch_id可以用來檢索Branch表的特定一行,但反過來Branch表無法通過其反檢索。
聯(lián)合主鍵:上圖Works_With表的聯(lián)合主鍵
為emp_id和client_id,因?yàn)閮蓚€(gè)屬性單獨(dú)都沒辦法唯一表示每一行,但二者合起來可以唯一表示每一行。需要注意的是,聯(lián)合主鍵并不是代表該表有很多主鍵,Works_With表依然還是只有一個(gè)主鍵,只不過這個(gè)主鍵是聯(lián)合主鍵,由兩個(gè)屬性構(gòu)成。
2.MySQL安裝(略,請(qǐng)自行參考視頻)
3.基本的MySQL語法
3.1.規(guī)則與約定
3.1.1.MySQL中的關(guān)鍵詞不區(qū)分大小寫
MySQL中的關(guān)鍵詞不區(qū)分大小寫,如
CREATE DATABASE `sql_tutorial`;
也可以寫為
create database `sql_tutorial`;
3.1.2.非關(guān)鍵詞部分,盡量使用``括起來,防止被誤認(rèn)為關(guān)鍵詞
非關(guān)鍵詞部分,盡量使用``括起來,防止被誤認(rèn)為關(guān)鍵詞,如:
CREATE DATABASE database;
上面的寫法會(huì)讓MySQL誤認(rèn)為你的database是關(guān)鍵詞,實(shí)際上你只是想要?jiǎng)?chuàng)建一個(gè)名為database的數(shù)據(jù)庫,應(yīng)該寫為:
CREATE DATABASE `database`;
3.1.3.每一行命令以;作為結(jié)尾
3.1.4.創(chuàng)建語句不重復(fù)執(zhí)行,區(qū)分其他編程語言
MySQL使用CREATE創(chuàng)建了一個(gè)數(shù)據(jù)庫后,數(shù)據(jù)庫就一直存在了(所有指令都會(huì)永久修改數(shù)據(jù)庫狀態(tài),并不會(huì)因?yàn)橹噶顖?zhí)行結(jié)束而重置數(shù)據(jù)庫),有新的指令加入,不需要全部指令再執(zhí)行一次(與編程語言不同的地方),應(yīng)當(dāng)只執(zhí)行新增部分(或僅執(zhí)行基于上次sql語句執(zhí)行后的狀態(tài),所需要執(zhí)行的操作)