今天是劉小愛自學Java的第59天。
感謝你的觀看,謝謝你。
話不多說劫窒,繼續(xù)開始MySQL數(shù)據(jù)庫的學習:
一、數(shù)據(jù)庫介紹
昨天安裝了MySQL數(shù)據(jù)庫拆座,也就是說我這臺電腦理論上是可以作為數(shù)據(jù)庫服務器的主巍,用戶可以連接這臺電腦中的數(shù)據(jù)庫。
那如何理解數(shù)據(jù)庫呢挪凑?
一臺計算機可以使用多個數(shù)據(jù)庫軟件
一個數(shù)據(jù)庫軟件孕索,可以管理多個數(shù)據(jù)倉庫
一個數(shù)據(jù)倉庫,可以存儲多個數(shù)據(jù)表
一個數(shù)據(jù)表躏碳,可以存儲多行數(shù)據(jù)
示意圖如下:
相信很多人都用過Excel表搞旭,這個數(shù)據(jù)表可以簡單地理解成一張Excel表。
這樣嚴格來說不太準確菇绵,但更加地好理解肄渗。
所以可以理解成一個數(shù)據(jù)庫里面可以有很多張類似于Excel表一樣的存在。
此外咬最,MySQL是一種關系型數(shù)據(jù)庫翎嫡。
什么叫關系型數(shù)據(jù)庫?
即建立在關系模型上的數(shù)據(jù)庫系統(tǒng)永乌。
用一個例子來解釋這個問題:
現(xiàn)在有一個用戶叫劉小愛惑申,性別男,地址上海翅雏。
他在網上下了一個訂單圈驼,紅米pro,1400元枚荣,品牌為小米。
這對應兩個數(shù)據(jù):劉小愛用戶和紅米pro訂單啼肩。
畫一個E-R圖分析它們之間的聯(lián)系橄妆。
E-R圖也就是實體關系圖衙伶,專門用來分析實體與實體之間的關系的。
①矩形
表示是一個實體害碾,用戶和訂單就用矩形表示矢劲,它們都是實實在在存在的。
說白了劉小愛用戶就是Java用戶類的一個對象慌随。
②橢圓形
表示是對實體的描述芬沉。
劉小愛、上海阁猜、男丸逸、是對用戶這個實體的描述。
小米手機剃袍、紅米pro黄刚、1400是對訂單的描述。
也就是Java中對象對應的屬性(成員變量)民效。
有一個類叫用戶憔维,該類有三個屬性,即姓名畏邢、地址业扒、性別。
劉小愛用戶即為該類實例化的一個對象:
姓名為劉小愛舒萎;地址為上海程储;性別為男。
③菱形
表示的是實體之間的關系逆甜。
用戶和訂單是什么關系虱肄?
一個用戶是可以下多個訂單的。劉小愛這個用戶可以買手機交煞,也可以買電腦咏窿,還可以買其他東西。
一個訂單也是對應多個用戶素征。紅米pro這個訂單集嵌,劉小愛可以買,其他用戶也可以買御毅。
所以它們是多對多的關系根欧。這個就像是在解數(shù)學題一樣,把它們的關系理清了才更好地寫代碼端蛆。
一直聽人說程序員最好學畫圖凤粗,無論是思維導圖還是流程圖,這段時間我的畫圖能力簡直突飛猛進今豆。
二嫌拣、SQL語句
這是一門腳本語言柔袁,無需編譯,直接運行异逐。
SQL語句不依賴于任何平臺捶索,對所有的數(shù)據(jù)庫是通用的。
Java語言雖然說具有跨平臺特性什么的灰瞻,但它還是要依賴Java虛擬機腥例。
可以在DOS系統(tǒng)中輸入命令行來操作數(shù)據(jù)庫,當然也有可視化的工具酝润,只不過在DOS系統(tǒng)中能讓自己對命令行更加地熟悉燎竖。
1命令行操作
可視化的底層其實也就是命令行:
calc命令行也就相當于點開計算器這個程序;
start Chrome.exe命令行也就相當于打開谷歌瀏覽器袍祖;
notepad命令行也就相當于打開記事本底瓣。
對于熟練計算機的人來說命令行絕對是比可視化要更有效率的。
電視里的那些黑客都是操作命令行蕉陋,什么時候見到它們是一下一下去點的捐凭?
2.數(shù)據(jù)庫查詢
①查詢數(shù)據(jù)庫
show databases;
數(shù)據(jù)庫有多個所以是復數(shù)形式凳鬓,注意語句后面的“分號(茁肠;)”不要忘記了。
②查看數(shù)據(jù)庫編碼表
show create database mysql缩举;
結果是utf-8垦梆,創(chuàng)建的數(shù)據(jù)庫編碼表為utf-8。
3創(chuàng)建數(shù)據(jù)庫
①創(chuàng)建數(shù)據(jù)庫
create database student;
根據(jù)語義就能懂其意思仅孩,student是數(shù)據(jù)庫名托猩。
②以指定的編碼表創(chuàng)建數(shù)據(jù)庫
create database student2 character set utf8;
character字符的意思,在這里就可以理解成編碼表辽慕,設定編碼表為uft8京腥。
4刪除、修改數(shù)據(jù)庫
①刪除數(shù)據(jù)庫
drop database sutdent2;
刪除student2數(shù)據(jù)庫溅蛉。
其實在英語中drop公浪、delete、remove都有刪除的意思船侧。在Java語言里刪除也有使用到remove欠气。
drop這個單詞并不常見,為何要這樣設置呢镜撩?
因為刪除數(shù)據(jù)庫是一件很嚴肅的事情预柒。
如果是惡意刪除數(shù)據(jù)庫,是要負刑事責任的(都不是民事糾紛的),非常的嚴重宜鸯。
程序員群體之間也有“刪庫跑路”的戲言人灼,
②修改數(shù)據(jù)庫編碼表
alter database student character ste gbk;
本來數(shù)據(jù)庫編碼表是utf-8,現(xiàn)在將其修改成gbk編碼表顾翼。
5數(shù)據(jù)庫的使用
①使用數(shù)據(jù)庫
use student;
后面接數(shù)據(jù)庫名奈泪,表示使用student數(shù)據(jù)庫适贸。
數(shù)據(jù)庫有很多個,想要用那個用use命令就可以切換涝桅。
②查詢正在使用的數(shù)據(jù)庫
select database()拜姿;
我正在使用的數(shù)據(jù)庫就是student數(shù)據(jù)庫。
以上便是對數(shù)據(jù)倉庫的操作冯遂,明天繼續(xù)學習對數(shù)據(jù)表的操作蕊肥。
最后
謝謝你的觀看。
如果可以的話蛤肌,麻煩幫忙點個贊壁却,謝謝你。