<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] >[success] # 數據庫操作(創建和增、刪、改、查) <br> >[success] ## 創建庫 接下來我們完成下面這 **2** 個操作: * 通過 **workbench** 創建一個 **myblog** 數據庫 * 執行 `show databases;` 查詢 1. 首先 **點擊圖片中的圓柱體圖標** ,這個圖標就是創建庫的按鈕 ![](https://img.kancloud.cn/8e/55/8e55c4cb2cf83119a7f07f0c4ee387d8_1183x891.png) 2. **輸入我們要創建的數據庫名稱** ,然后 **點擊 apply 進行創建** ![](https://img.kancloud.cn/aa/3d/aa3d668caa4b64c4c42c8840dc08b48d_1182x891.png) 3. 這時候會彈出一個確認框,確認框中有一句話 `CREATE SCHEMA `myblog` ;` ,這句話是 **workbench** 自動為我們生成的 **SQL語句** ,這句話的的意思是 **創建一個名為 myblog 的庫** , 然后 **點擊 apply 進行創建** ![](https://img.kancloud.cn/64/20/64204efb070fd0cf3b212676fc9e34ec_780x593.png) 4. 會彈出一個窗口,告訴你創建成功了,然后點擊 **Finish** ![](https://img.kancloud.cn/f8/fe/f8fef1d8125cdd317862d67f7372598a_780x591.png) 然后把這個窗口也關閉 ![](https://img.kancloud.cn/78/d3/78d380585d08ae47cb128506ec6fe9ca_1179x891.png) 5. 這時候執行 `show databases;` 進行查詢,就可以看到已經新加入了一個 **myblog** 庫 ![](https://img.kancloud.cn/5c/20/5c20467dff9eaf4e99824de42be6ce52_1185x884.png) >[success] ## 刪除庫 1. **刪除庫** 只需要 **在庫名稱處單擊右鍵** ,點擊 **Drop Schema...** ![](https://img.kancloud.cn/fa/f7/faf7355e6179297c8a4aec9d642cd0eb_1181x888.png) 2. 點擊 **Review SQL** ![](https://img.kancloud.cn/e1/a0/e1a0c66228f3fdc0f07708f7f6edeafb_430x318.png) 3. **點擊Execute** ![](https://img.kancloud.cn/ee/d7/eed7a6893f71aa09ff8434d8cd290b0d_542x379.png) >[success] ## 創建表 下面這 **2個截圖** 是我們在 **項目需求分析時** ,做存儲時候的講解的圖, **第 1 個圖是存儲用戶的表,第 2 個圖是存儲博客的表** >[success] ### 創建用戶表 * **id** : **id** 是為了保證 **每一行都不能重復** ,**id** 是標識,**它是會遞增的,123456這樣遞增** ,這里需要注意:**如果創建了 10 條數據,把前 9 條都刪除了,后續數據的 id 是從 11 繼續開始遞增,刪除數據后,后續的數據不會進行篡位** * **username** : **username** 就是 **用戶名** * **password** : **password** 就是 **密碼** ,目前還是 **明文密碼** ,后續會講 **密碼如何加密** * **realname** : **realname** 就是 **中文名** ,如果是英文系統還分為 **firstname** 和 **lastname** ![](https://img.kancloud.cn/2f/82/2f824e3b35e45fbe29d4b6d791ca8fd7_554x147.png) 上圖不光有 **表結構** 還有 **內容** ,例如: **張三、李四都屬于內容** ,**但是在建表時候我們只會建表結構,而不會建內容,表結構包括如下內容:** * **column** : **column** 代表 **列** ,這個 **表有多少列** ,里面是 **列名稱** * **datatye** : **datatye** 代表 **數據類型** ,**具體數據類型說明可查看結尾總結的表格** * **pk 主鍵** : **pk 主鍵** 意思是我們所有 **id** 不可以重復,**Y代表不可以重復** * **nn 不為空** : **nn 不為空** 意思是這一列是否允許為空, **Y代表不能為空** * **AI 自動增加** : **AI 自動增加** 添加數據時每次會自動增加 **id** , **Y代表自動增加** * **Default** : **Default** 是默認值,我們暫時不設置默認值 ![](https://img.kancloud.cn/a2/2e/a22e7a57daa40423731dc1ea004f2711_684x277.png) 接下來開始正式使用 **workbench** 來創建表 1. 首先展開我們要的 **myblog** 庫 ![](https://img.kancloud.cn/f8/71/f871df05bdc28cf67991be177bbac041_1200x900.png) 2. 在 **Tables** 上單機右鍵,選擇 **Create Table...** ![](https://img.kancloud.cn/e4/d6/e4d66ecd54c3c764b45a37d28499cb1c_1182x893.png) 3. 然后 **按照我們上面的表結構來創建表** ,完成后 **點擊 apply** ![](https://img.kancloud.cn/bf/dd/bfdd030725e4bf28fa5249e4585e2c45_1200x900.png) 4. 點完后會彈出一個窗口,窗口中為我們 **自動生成了建表的 SQL語句** ,然后點擊 **apply** ![](https://img.kancloud.cn/4e/ad/4ead4dd3d03bce6923c7d43870e63030_791x595.png) 5. 接下來會彈出一個窗口提示創建成功了,點擊 **Finish** ![](https://img.kancloud.cn/15/64/15640fbbd18dc7e1b8583ac0e00df874_800x600.png) 然后把這個窗口也關閉掉 ![](https://img.kancloud.cn/a6/c8/a6c8018fe9d1e79ebb6fbc0759d69ec2_1200x900.png) 6. 此時 **點擊刷新按鈕**,然后展開 **users 庫** ,就能看到 **新增加了 1 張表** ,然后點擊 **Columns** 就可以看到剛剛添加的 **列名稱** ![](https://img.kancloud.cn/49/a4/49a475e8ab81b830364c334b9f74f57c_1200x900.png) >[success] ### 創建博客表 * **id** : **id** 是為了保證 **每一行都不能重復** ,**id** 是標識,**它是會遞增的,123456這樣遞增** ,這里需要注意:**如果創建了 10 條數據,把前 9 條都刪除了,后續數據的 id 是從 11 繼續開始遞增,刪除數據后,后續的數據不會進行篡位** * **title** : **title** 是標題 * **createtime** : **createtime** 是 **創建時間,創建時間** 是使用的 **13** 位毫秒數 **時間戳** 整數 * **author** : **author** 是作者 ![](https://img.kancloud.cn/a7/a6/a7a66eab4a2592acc7fbfcd9b8f1db45_563x147.png) **表結構包括如下內容:** * **column** : **column** 代表 **列** ,這個 **表有多少列** ,里面是 **列名稱** * **datatye** : **datatye** 代表 **數據類型** ,**具體數據類型說明可查看結尾總結的表格** * **pk 主鍵** : **pk 主鍵** 意思是我們所有 **id** 不可以重復,**Y代表不可以重復** * **nn 不為空** : **nn 不為空** 意思是這一列是否允許為空, **Y代表不能為空** * **AI 自動增加** : **AI 自動增加** 添加數據時每次會自動增加 **id** , **Y代表自動增加** * **Default** : **Default** 是默認值,時間戳默認設置個0 ![](https://img.kancloud.cn/51/ad/51ad1e28e9dec3d2edd1af1cbb042598_627x291.png) 接下來開始創建 **blogs** 表,順序與 創建 **users** 表順序一致,如果想看前幾個步驟可以去看上面創建 **users** 表的步驟,這里 **前幾個步驟就不在重復了,只展示建表時候的畫面** ![](https://img.kancloud.cn/ca/8b/ca8b4533ba27c1a1fe18bb1f8f872825_1200x900.png) >[success] ## 修改表 1. 在想要修改的表名上 **單機右鍵** 點擊 **Alter Table...** ![](https://img.kancloud.cn/44/81/4481154c880ffacd55be9239c68a5236_1181x887.png) 2. 此時會彈出修改界面 ![](https://img.kancloud.cn/12/fb/12fb71b90ba6a45b80b5b1ed24e48262_1200x900.png) 這樣就可以直接修改了,修改后點擊 **apply** >[success] ## 刪除表 1. 在想要刪除的表名上 **單機右鍵** 點擊 **Drop Table...** ![](https://img.kancloud.cn/e3/20/e320390f980e1375b101aa9a6ffa349f_1174x883.png) 2. **點擊 Rview SQL** ![](https://img.kancloud.cn/d5/9e/d59ec9093bee8cb6e8c5c9d52e7e9010_1183x883.png) 3. **點擊 Execute** 就刪除完成了 ![](https://img.kancloud.cn/ca/4f/ca4f231356bdebccaf5ea801d6ad5993_1200x900.png) >[success] ## 表操作(增、刪、改、查) * **增刪改查** * **使用SQL語句** 注意:【-- 】**2 個** 橫杠一個空格,是 **SQL** 語句中的注釋 **SQL語句如下:** ~~~ use myblog; -- 使用myblog庫,要對哪個庫進行操作就要 use 哪個庫 -- show tables; -- 顯示這個數據庫所有的表 -- 【增加功能】 -- (不用寫id,因為id自增) -- password是MySQL關鍵字,寫反斜杠包裹起來才可以使用 -- 下面SQL語句的意思:向 users 表中添加數據, values方法的參數分別對應前面的幾個值 -- insert into users(username, `password`, realname) values('lisi', '123', '李四'); -- 【修改功能】 -- 修改 users 表中 username 等于 list 的數據的 realname 改為 李四2 -- update users set realname='李四2' where username='lisi'; -- 如果更新2個字段的話,加個逗號 -- update users set realname='李四2', password=456 where username='lisi'; -- 直接執行上面修改數據的語句可能會報錯,意思是安全模式不能修改,所以需要一次執行下面這個語句,執行完就刪掉就行 -- SET SQL_SAFE_UPDATES = 0; -- 【查詢功能】 -- 查詢 users 表中全部列的數據(一般情況下避免使用 * 號,* 會耗費性能) -- select * from users; -- 查詢指定列, 查詢 id 和 username 列的數據 -- select id, username from users -- 根據查詢條件查詢數據(使用where來添加條件進行查詢,username等于zhangsan的用戶) -- select * from users where username='zhangsan'; -- 根據查詢條件查詢數據 > 多條件查詢(username等于zhangsan并且password等于123) -- select * from users where username='zhangsan' and `password`='123'; -- 根據查詢條件查詢數據 > 多條件查詢(username等于zhangsan或者password等于123) -- select * from users where username='zhangsan' or `password`='123'; -- 根據查詢條件查詢數據 > 多條件查詢(username等于zhangsan或者password不等于123) -- select * from users where username='zhangsan' or `password` <> '123'; -- 模糊查詢(用like 與 %包裹要查詢的名字, 來模糊查詢用戶名稱中包含zhang的數據) -- select * from users where password like'%zhang%'; -- 排序(order by id ,根據id來排序,默認情況下是正序) -- select * from users where username='zhangsan' or `password`='123' order by id; -- 排序(order by id desc 根據id排序倒敘) -- select * from users where username='zhangsan' or `password`='123' order by id desc; -- 【刪除功能】 -- 一定要加 where 條件進行刪除,不然的話會把表中數據全部刪除 -- 刪除 username 為 lisi 的數據 -- delete from users where username='lisi'; ~~~ 可以把這些指令放入到 **workbench** 中運行測試。 >[success] ### 軟刪除 **需要注意:在正式環境中刪除數據并不是像上面的 SQL 指令一樣直接把數據刪除,而是軟刪除** ,**正式環境** 中**數據庫** 會有一個 **state 字段,默認等于 1** ![](https://img.kancloud.cn/ff/e3/ffe3051bb34e2016b72e2ef0b8438590_1180x884.png) 這里可以看到所有數據的 **state** 都是 **1** ,等于 **1** 代表數據是可用的 ![](https://img.kancloud.cn/58/31/5831eb2d603438b90ed4d8d493284f02_802x270.png) **刪除時改成 0** ~~~ -- 把 users 表中 username 等于 lisi 的數據的 state 修改成 0 update users set state='0' where username='lisi' -- 軟刪除(假刪除) ~~~ **軟刪除** 的好處就是 **數據可以恢復** ,**改成 1 就又恢復了** ,根據項目需求而定,因為我們這里要學習刪除指令所以暫時不使用軟刪除 >[success] ### 添加假數據 為了接下來學習時候 **數據庫** 中有 **測試數據** ,我們先 **手動向數據庫中插入幾條假數據** ,**SQL 指令** 如下: ~~~ insert into users(username, `password`, realname) values('lisi', '123', '李四'); insert into users(username, `password`, realname) values('zhangsan', '123', '張三'); insert into blogs(title, content, createtime, author) values('標題A', '內容A', '1646361945579', 'zhangsan'); insert into blogs(title, content, createtime, author) values('標題B', '內容B', '1646362886241', 'lisi'); ~~~ 然后 **鼠標滑動光標點擊workbench上的閃電圖標一起執行,就可以把他們四個都添加到數據庫了** >[success] ## 總結 **MySQL表結構中的常用數據類型** : | 數據類型 | 應用場景 | | --- | --- | | int | id、數字整數都可以用int類型 | | varchar | **字符串類型數據** 都可以使用 **varchar** ,可以限制位數 **varchar(20)** 代表20位字符串長度 | | longtext | 博客內容, **longtext** 類型不限長度,最多可以 **儲存 4G** 大小的內容 | | bigint | **時間戳** 是 **13位整數** 就不可以使用 **int** 類型了,所以就需要使用 **bigint(20)** ,20位整數 | **字符串** 一般用 **varchar** 就可以,如果很長很長內容的話就用 **longtext** ,**整數** 一般情況下用 **int** 就可以,如果 **整數** 不滿足條件的話就要 **bigint**,這些類型 **基本上滿足我們日常系統中所有的數據類型**。 **常用語句 :** ~~~ show databases; // 查詢所有庫 CREATE SCHEMA myblog; // 新建 myblog 庫 DROP DATABASE `myblog`; // 刪除 myblog 庫 // 在myblog庫中創建users表 CREATE TABLE `myblog`.`users` ( `id` INT NOT NULL AUTO_INCREMENT, `username` VARCHAR(20) NOT NULL, `password` VARCHAR(20) NOT NULL, `realname` VARCHAR(10) NOT NULL, PRIMARY KEY (`id`)); // 刪除 myblog 庫 users 表 DROP TABLE `myblog`.`users`; // 查詢MySQL版本 select version() ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看