MySQL基礎學習1

MySQL常用DOS命令

如何進入MySQL

mysql -u root -p
回車收到Enter password提示後,輸入自己的密碼後,命令行窗口會進入MySQL命令方式。
如何進入MySQL

顯示所有的數據庫

進入MySQL命令方式成功後,在命令行窗口輸入:
show databases;
該命令可以顯示MySQL已創建的所有數據庫。
顯示所有數據庫

新增數據庫

在命令行窗口輸入:
create database <創建的數據庫的名稱>;
創建完之後,可以使用show databases;檢查是否成功創建。
新增數據庫

刪除數據庫

在命令行窗口輸入:
drop database <刪除的數據庫名稱>;
刪除完之後,可以使用show databases; 檢查是否成功刪除。
刪除數據庫

進入數據庫

在命令行窗口輸入:
use <數據庫名稱>;
當命令行窗口輸出:Database changed,說明打開成功。
進入數據庫

顯示當前數據庫包含的數據表

在使用use <數據庫名稱>;進入數據庫之後。
在命令行窗口輸入:
show tables;
當命令行窗口顯示Tables_in_<數據庫名稱>,說明顯示完畢。
顯示當前數據庫包含的數據表

顯示其他數據庫包含數據表

在命令行窗口輸入:
show tables from <數據庫名稱>;
當命令行窗口顯示Tables_in_<數據庫名稱>,說明顯示完畢。
顯示其他數據庫包含數據表

顯示當前使用數據庫名稱

在命令行窗口輸入:
select database();
當命令行窗口顯示database(),則他下一行的就是當前使用數據庫的名稱。
顯示當前使用數據庫名稱

查看MySQL的狀態

在命令行窗口輸入:
status;
查看MySQL的狀態
注:MySQL默認端口號:3306。


MySQL目錄結構

目錄 功能
bin 存放可執行文件
docs 存放文檔和日誌
include 存放頭文件
lib 存放一系列庫文件
share 存放字符集,語言信息
COPYING 版本許可協議
mydefault.ini 數據庫使用的配置文件
Data 存放數據庫裏存的信息,數據庫遷移時,拷貝這裏面的文件夾

數據表結構

數據表

數據表是數據庫最重要的組成部分之一,包括行和列。一個關係型數據庫包括多個數據表。
如下圖:

學號 姓名 性別 班級
196******1 王明 2
196******7 李紅 2
196******6 李明 1
196******4 王紅 1

一列(數據元素)包含了相同意義和相同類型的一組數據。又稱爲屬性或者字段。字段包括字段名和字段值兩部分,字段名是在創建表格結構時定義的,字段值是在表格定義完成之後添加的。如上圖,學號,姓名,性別,班級都是字段名,而下面對應的數據則是字段值。

冗餘字段

某一字段屬於一個數據表,但是同時出現在別的數據表。
壞處:影響數值一致性,會加大內存影響空間。
好處:使用空間換取時間,提高響應速度。

主鍵

主鍵是一個字段或者多個字段且不能爲空,其值能唯一地標識表中的每一行,通過它可強制表的實體完整性。 RDBMS還規定一個數據表中只能包含一個主鍵。

外鍵

外鍵用於關聯兩個數據表,在同一數據庫當中,有的表是有關聯的,所以爲了降低數據冗餘,經常用一種數據單獨存在一個表中,查詢的時候向多個表獲得數據。


表關係外鍵

1對1

比如員工的工資,一個僱員只有一個工資,而一個工資只能屬於一個僱員。則僱員和工資之間具有一對一關係。

1對n

學生與班級,一個班級有多名學生,但是一名學生只有一個班級,則學生與班級是1對n關係。

學號 姓名 性別 班級
196******1 王明 2
196******7 李紅 2
196******6 李明 1
196******4 王紅 1
班級 班主任
1 王老師
2 李老師

n對m

學生與課程,一名學生可以選擇多門課程,一門課程也有多名學生,而遇到這種情況需要把n對m關係轉化成連個1對n關係

學生表

學號 姓名 性別
196******1 王明
196******7 李紅
196******6 李明
196******4 王紅

學生課程成績表

學號 課程編號 成績
196******1 101 80
196******7 102 87
196******6 101 83
196******4 102 85

課程表

課程編號 課程名稱
101 計算機基礎
102 程序設計

如增加學生課程成績表,則學生表和學生課程成績表之間是一對多關係,課程表和學生課程成績表之間也是一對多的關係。


數據庫表的設計 E-R圖

什麼是E-R圖?

E-R圖也稱實體-聯繫圖,提供了表示實體類型、屬性和聯繫的方法,用來描述現實世界的概念模型。

爲什麼要使用E-R圖?

利用E-R模型,更好的模擬現實。

實體

矩形表示,矩形框內寫明實體名。
實體是現實世界中各種事物的抽象,是數據的載體。關鍵在於一個實體能與另一個實體相區別,具有相同屬性的實體具有相同的特徵和性質。

屬性

橢圓形表示,並用無向邊將其與相應的實體連接起來。
實體所具有的某一特性,一個實體可由若干個屬性來刻畫。屬性不能脫離實體,屬性是相對實體而言的。

關係

菱形表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上關係的類型(1:1,1 : n 或 m : n)。
比如老師給學生授課存在授課關係,學生選課存在選課關係。

設計原則

  1. 一張表描述一個實體或實體之間的關係。
  2. 避免表之間存在重複字段。
  3. 表中的字段是最原始的基本數據元素。

實例

實體包括:

  1. 貨倉表:貨倉號,面積,電話號碼。
  2. 職工表:職工號、姓名、年齡、職稱。
  3. 學生表:學號,姓名,年齡。

三範式

1.原子性

數據庫表每一列都是不可再分的數據單元,則滿足第一範式(1NF)。

2.非主屬性依賴

如果一個關係滿足1NF,並且除了主鍵以外的其他列完全依賴主鍵,則他滿足第二範式(2NF)(第二範式要求每個表只描述一種事情)

3.傳遞性依賴

必須先滿足2NF,並且要求表中的每一列只與主鍵直接相關而不是間接相關,(表中的每一列只能依賴於主鍵),則它滿足第三範式(3NF)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章