作者簡介
作者名:1_bit
簡介:CSDN博客專家,2020年博客之星TOP5,InfoQ簽約作者,藍橋簽約作者。15-16年曾在網上直播,帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息,迷茫的你會找到答案。
不懂寫啥那就給大家表演個 MySql 吧
👸小媛:bit哥你好久好久沒寫文了呢。😄
🐶1_bit:對呀,是挺久了,bit哥最近窮死了在賺錢呢。
👸小媛:現在呢?😜
🐶1_bit:還是好窮。😒
👸小媛:既然還是好窮那就寫寫文怎么樣?詐尸一下。😣
🐶1_bit:說得好有道理。
👸小媛:那就開始吧。
🐶1_bit:那我應該寫什么呢?
👸小媛:隨便都可以,反正我覺得我都沒學。
🐶1_bit:那就寫MySql吧,一篇文解決Mysql。
👸小媛:也行,那就上吧。
一、什么是 MySql
👸小媛:所以,什么是MySQL?😒
🐶1_bit:其實就是一個數據庫,數據庫的作用用來存儲內容。
👸小媛:啥意思?
🐶1_bit:就是你在做一個網站或者其他應用的時候,若需要使用到數據存儲的服務,這個時候就需要用到數據庫,將數據存儲到這個數據庫中。
👸小媛:所以你的意思就是在數據庫中存儲數據,然后再在應用中使用這些數據?
🐶1_bit:是的,你看CSDN,是不是存儲了你的賬號信息,然后你可以登錄,也可以發布文章,這些文章你在第二次登錄的時候還存在。這就是因為這些數據存儲在了數據庫中,我們每次需要使用到這些數據的時候就通過數據庫命令進行數據獲取就可以了。
👸小媛:我明白了,所以學習MySQL就是學習如何通過命令的方式調用數據庫里面的內容嗎?
🐶1_bit:是這個意思,MySQL是數據庫的一種,其實現實中還存在很多數據庫,但是有一部分流行的數據庫是使用 SQL 命令作為數據獲取、刪除、改動、新增的,所以我們只需要學習一種基本上其他的數據庫我們也可以很快的上手使用。
👸小媛:原來如此,那就趕緊開始吧。😈
二、懶辦法安裝MySQL
🐶1_bit:接下來我們就使用一些“懶鬼”的方式安裝MySQL吧,我就是這樣去做的。
👸小媛:為什么要使用懶鬼的方式呢?
🐶1_bit:因為部分初學者可能會覺得MySQL的安裝方式太多選項,怕安裝錯誤總會感覺有點難。
👸小媛:所以你說的方式是沒有這些選項?
🐶1_bit:對的呢,我們現在直接去下載一個PhpStudy吧,這個是一個服務器的集成環境,但是超級簡單我們直接傻瓜式安裝就可以了。
👸小媛:我搜索到了,網址是這個https://www.xp.cn/download.html。
🐶1_bit:對的,直接進去后直接下載 Windows 下的環境版本就可以了,畢竟你應該是 Windows吧?
👸小媛:當然,畢竟我也是大家經常說的 lowb winer,之前買了一臺 Mac Air 用了半年 5000賣掉了。😇
🐶1_bit:哈哈哈,主要是用不慣,還要打游戲的。
👸小媛:是的,畢竟咱們比較low。😋
🐶1_bit:開心就好。
👸小媛:下載好了,我傻瓜式安裝了,然后呢?
🐶1_bit:之后直接點擊啟動就可以了。
👸小媛:我應該還要做什么吧?
🐶1_bit:是的,你現在需要下載一個 sqlyog 之類的數據庫管理軟件,這樣操作比較方便;我直接發給你吧,因為這個不是很好找。(找不到下載的同學私聊bit哥就好了)
👸小媛:打開了然后呢?
🐶1_bit:點擊新建后會出現點擊確定。
🐶1_bit:然后在密碼那一欄輸入 root ,默認密碼是 root,最后點擊鏈接就可以了。
三、懶辦法與命令創建數據庫
👸小媛:接下來正式開始了吧?
🐶1_bit:對的,接下來就正式開始了。不過我們需要知道,常規數據庫中比較重要的幾個操作是增刪查改。
👸小媛:也就是增添數據、刪除數據、查找數據和改動數據吧?
🐶1_bit:是的,我們這一篇文并不過多的涉及其他內容,就教會大家快速的使用數據庫就ok了,別的就不講了。
👸小媛:你可真懶。🙌
🐶1_bit:我是項目實用主義,對于新手來說學會增刪查改就已經可以做項目,沒必要學習過多的內容,先入門數據庫然后再擴展就行,不然就是增加了學習成本了。
👸小媛:第一次見有人把水說成那么大義凜然。
🐶1_bit:你可以稱呼我為懶狗。
👸小媛:無臉無皮天下無敵。🙎
🐶1_bit:開始吧,現在我們使用命令創建數據庫。
CREATE DATABASE testDB;
👸小媛:??!!怎么是大寫,看不懂。
🐶1_bit:那就變成小寫吧,SQL 語言的關鍵字不區分大小寫呢。
create database testDB;
👸小媛:我輸入到那個上面自動變成大寫了。
🐶1_bit:哈哈哈,慢慢習慣吧。
👸小媛:我執行后顯示了一行受到影響,可是我沒看出來有什么變化呢。
🐶1_bit:你右鍵根部,然后刷新瀏覽器就可以了呢。
👸小媛:出現了。 🙈
🐶1_bit:這就是你創建的第一個數據庫了,接下來我們就可以使用這個數據庫了。
👸小媛:棒棒的,所以這個命令啥意思呢?
🐶1_bit:其實很簡單的,整個創建數據庫的命令是 CREATE DATABASE testDB;
,其中 CREATE 是創建的意思,DATABASE 指什么東西,在這里 DATABASE 表示數據庫,那么 CREATE DATABASE
就表示創建一個數據庫;在這個命令后添加一個名稱,那么就是創建一個數據庫叫什么名字,然后使用分號作為結束就ok了。
👸小媛:唔,真簡單。
🐶1_bit:我們再介紹一下懶辦法。
👸小媛:你的意思是通過這個軟件進行創建吧?
🐶1_bit:真聰明,其實在可視化界面中直接手動創建是比較方便的,右鍵根部,然后選擇創建數據庫就可以了。
👸小媛:然后出現一個創建數據庫的選擇,字符集是用來干什么呢?👀
🐶1_bit:這個呀,你可以理解為一個編碼方式,如果你選擇 utf8就可以讓這個數據庫“存儲中文”,因為這個涉及到編碼之類的內容就不在這里講解了呢,排序規則在此也不作介紹,因為這樣選擇后基本上不會讓你存在什么使用問題了。
👸小媛:明白了。
四、懶辦法與命令創建數據庫表到數據庫
🐶1_bit:接下來我們需要創建一個數據庫表作為數據存儲的表格。
👸小媛:不是已經有數據庫了,為什么還需要創建數據表呢?
🐶1_bit:我們可以理解數據庫為一個大的數據廠房,然后里面每一個表就是這個廠房不同的房間,我們再這些房間中放不同類型的數據。
👸小媛:唔,你意思說數據庫表其實才是數據真正存儲的地方是吧?
🐶1_bit:可以這么說,所以接下來我們使用命令開始創建數據庫表吧。
👸小媛:趕緊說命令。 🐻
🐶1_bit:然后在命令框中輸入如下的命令。
CREATE TABLE student
(id INT(11) PRIMARY KEY AUTO_INCREMENT,nickname VARCHAR(25),sex VARCHAR(25),height VARCHAR(25),weight VARCHAR(25)
);
👸小媛:這是啥意思?
🐶1_bit:這就是創建一個表了,其中 CREATE就表示創建,TABLE表示表格,那么連起來就是創建表格,student 是表示創建表格的名詞。
👸小媛:明白了,那下面是什么呢?
🐶1_bit:下面的內容其實就是這個表的字段,字段你可以理解成這個表要存儲什么內容,這些內容是什么。
👸小媛:你是說那個圓括號內的那些是吧?
🐶1_bit:對的,在這里我要存儲一個學生類型的數據,那么所需要的存儲的信息有很多,在這里我用 nickename 表示昵稱、sex 表示性別、height 表示身高、weight 表示體重。
👸小媛:那 id 呢?
🐶1_bit:id 你可以理解成這個表的對于某個學生的標識,在這里每個 id 都是唯一的,因為這些 id 會進行自增,也就是說在這個表中每添加一條數據,若之前 id 值最大為 10,那么新增的這一條數據就會變成 11,并且我們在傳入值進行存儲的時候并不需要指定這個字段。
👸小媛:那我之前數據庫里面有 11 條數據,我全部刪除完畢后再新增數據這個 id 會怎樣呢?
🐶1_bit:那么新數據的 id 就會從 12 開始,這個和刪除了的數據無關。
👸小媛:知道了。
🐶1_bit:并不是每一條數據都會進行自增的,這個主鍵需要自己設置,例如在這一條中,id 是主鍵,他的命令是 id INT(11) PRIMARY KEY,
;其中 id 是這個主鍵的名稱,隨后的 INT表示這個字段的類型是整數類型,(11) 括號中的 11 表示這個字段最大長度為 11,隨后的 PRIMARY KEY
表示主鍵的意思;那么連起來就是創建了一個名稱為 id 的整數類型的字段,這個字段是主鍵,而 AUTO_INCREMENT 表示這個字段值會自增,最后使用逗號分隔每個字段的設置。
👸小媛:那之后的命令呢?🍺
🐶1_bit:后面的命令都類似,開頭為這個字段的名稱,我們以 nickname VARCHAR(25),
為例。nickname 是一個字段名,之后的 VARCHAR(25)
中 VARCHAR 是字段類型是字符串,最大長度為 25。
👸小媛:挺簡單的,明白了。
🐶1_bit:其實我們還可以為這些字段設置一些約束。
👸小媛:約束是啥意思?
🐶1_bit:約束其實你可以當成這個字段的一些默認設置,例如這個字段是否必填。
👸小媛:那怎么做呢?
🐶1_bit:例如下面的這個命令。
CREATE TABLE student
(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
nickname VARCHAR(25) NOT NULL,
sex VARCHAR(25),
height VARCHAR(25),
weight VARCHAR(25)
);
👸小媛:你是說 NOT NULL 就是不能為空的意思了嗎?
🐶1_bit:對的,簡單吧。
👸小媛:簡單的方法怎么做呢?
🐶1_bit:右鍵當前數據庫中的表點擊創建表。
👸小媛:確實挺簡單的,直接輸入要做的就可以了,最后點擊保存就ok了。
👸小媛:所以那個引擎怎么搞?🐹
🐶1_bit:這個呀,因為在數據庫中不同引擎有不同的特性呢,在這里我們選擇InnoDB或者不選使用默認的就ok了,這個我們暫時不需要了解。
👸小媛:ok,明白了。
五、懶辦法與命令插入數據到表
🐶1_bit:接下來我們學習一下怎么增加數據。
👸小媛:怎么增?當然是使用命令增,趕緊的別水。
🐶1_bit:這個時候我們要對某一個數據庫進行數據插入操作,第一步需要點擊一個數據庫表,在這里我們點擊以及創建好的 student。
👸小媛:然后呢?
🐶1_bit:然后輸入如下命令。
INSERT INTO student (nickname,sex,height,weight) VALUES ('Gates', 'nan', '150', '150')
👸小媛:唔,insert 是插入的意思吧?
🐶1_bit:對的,insert into 就表示往哪個數據庫表插入數據。
👸小媛:所以 student 就是表名?
🐶1_bit:是的,在student后的圓括號中,nickname,sex,height,weight 這些都是需要插入值得字段,然后 VALUES 之后的圓括號中的 ‘Gates’, ‘nan’, ‘150’, ‘150’ 就是需要插入到這些字段的值。
👸小媛:這些值是一一對應的?😿
🐶1_bit:是的,Gates 對應插入到 nickname 中、nan對應到 sex 之中,這些都是字符數據,所以需要使用引號引起來。
👸小媛:明白了。
🐶1_bit:如果你覺得懶,你可以刪除 (nickname,sex,height,weight) 這一列,然后按照數據庫字段的默認順序往里面插入值。
👸小媛:你說的是這個順序?
🐶1_bit:然后 id 就是第一個、nickname就是第二個以此類推。
👸小媛:所以我要寫成這樣?
INSERT INTO student VALUES (3,'Gates', 'nan', '150', '150')
🐶1_bit:是的,所有值你都需要列出來。
👸小媛:明白了。我輸入完畢后點哪里呢?
🐶1_bit:點擊工具欄就可以了。
👸小媛:ok了,成功的插入數據了。
🐶1_bit:這個時候你直接選擇表,然后點擊表數據就可以查看表中的內容。
👸小媛:了解。現在開始懶方法了吧?
🐶1_bit:你直接在表數據的列中輸入數據就可以了。
👸小媛:唔…意想不到的答案。👯
🐶1_bit:哈哈哈。
六、懶辦法與命令在表中刪除數據
🐶1_bit:知道了創建數據庫、創建表、新增數據那么接下來的刪除數據也非常簡單了。
👸小媛:那該怎么做呢?
🐶1_bit:那就是下面這個命令了。
DELETE FROM student WHERE id = 3
👸小媛:所以 delete 就是刪除的意思,然后 from 就表示從哪個表進行刪除吧?
🐶1_bit:是的,在這里表示從 student 這個表進行數據刪除,后面的 where 表示一個條件,這個條件就是 id=3,意思是 id 為 3 的這一條數據。
👸小媛:明白了,然后運行程序后,刷新數據后確實刪除這一行的數據不在了呢。
🐶1_bit:若你想刪除nickname 為 Gates 的這一條數據只需要直接改一下條件就ok了。
DELETE FROM student WHERE nickname='Gates'
👸小媛:執行了,在這里顯示了 2 行受到了影響,那意思就是我刪除了 2 行數據。
🐶1_bit:是的,這個時候你會發現數據就還剩一條了。
🐶1_bit:懶方法也超級簡單,直接在想刪除的那一行中選中,隨后點擊刪除按鈕就ok了。
👸小媛:解決。
七、懶辦法與命令在表中改數據
🐶1_bit:改數據也超級簡單。
UPDATE student SET nickname = 'Lucy' WHERE id = 5
👸小媛:所以這一條的命令中 update 就表示數據進行更新,student 就是說要更新的數據庫表,而 set 后的 nickname =‘Lucy’ 就表示要重新設置的字段內容,where 就是表示哪一行數據,在這里選擇的是 id 為 5 這一行對吧?
🐶1_bit:對的,超級簡單吧。
👸小媛:是這么回事,我好想理解了數據庫中的命令其實就是知道了關鍵字進行固定語法操作就ok了。
🐶1_bit:是的,笨方法就是直接在數據庫數據中進行修改就ok。
七、懶辦法與命令在表中查數據
👸小媛:查數據我覺得應該也很簡單。
🐶1_bit:你看下面命令吧。
SELECT * FROM student;
👸小媛:select 是表示查數據,from 表示從哪一個表,在這里 student 表示需要查詢的表,但是 * 號表示什么呢?
🐶1_bit:* 號表示你需要的數據,如果是 * 號就表示所有數據,你也可以列出你需要的字段名,這個時候查詢后就會顯示這些字段的數據,就不會顯示其他的了。
👸小媛:是不是這樣就會顯示 nickname 和 sex 字段數據了?
SELECT nickname,sex FROM student
🐶1_bit:是的,你也可以給查詢加一個條件,例如你要查詢nickname叫做 ffff 的數據就可以寫成如下命令。
SELECT nickname,sex FROM student WHERE nickname='ffff'
👸小媛:后面的 where 就是條件對吧?
🐶1_bit:是的,結果如下。
👸小媛:明白了。
🐶1_bit:你也可以添加多個條件,例如還有一個條件是需要 sex 為 nv 以及 height 為 111 的數據,這個時候你就可以使用 and 進行條件的設定。
SELECT nickname,sex FROM student WHERE nickname='ffff' AND sex='nv' AND height='111'
👸小媛:明白了,挺簡單的,哈哈哈。😪
🐶1_bit:這樣基礎就學會了,增刪查改走天下,其實自己做一下小應用基本上學會這個基本就ok了,剩下的你現在已經入門之后就遇見了就去查怎么用就好了。
👸小媛:明白了,這篇文也寫完了吧。
🐶1_bit:對的,又水了一篇文,下篇文再見吧。
👸小媛:想學什么方向的快如入門都可以在評論區留言喲。
🐶1_bit:非常感謝大家支持了。