MySQL系列:MySQL的基本使用

来源:https://www.cnblogs.com/imyanger/archive/2019/11/16/11874240.html
-Advertisement-
Play Games

資料庫的基本操作 在MySQL資料庫中,對於一個MySQL示例,是可以包含多個資料庫的。 在連接MySQL後,我們可以通過 show databases; 來進行查看有那麼資料庫。這裡已經存在一些庫了,其中information_schema、auth、mysql、performance_schem ...


資料庫的基本操作

在MySQL資料庫中,對於一個MySQL示例,是可以包含多個資料庫的。

在連接MySQL後,我們可以通過 show databases; 來進行查看有那麼資料庫。這裡已經存在一些庫了,其中information_schema、auth、mysql、performance_schema這幾個庫時是MySQL內置的(不同版本略有差異)。

那如何新建自己的資料庫呢?使用CREATE DATABASE 資料庫名; 即可。

CREATE DATABASE 資料庫名;

這裡我們已經成功創建了mysql_xuexi這個資料庫了,然後我們再次show databases; 查詢,就可以看到mysql_xuexi已經在列表了。

在建完這個庫後,我覺得取得名字不好,想改成mysql_study,因為還沒有任何表在裡面,所以我想刪了重建(如果有表存在,修改資料庫名還是有些複雜的,所以取名這件事生下來還是要慎重對待)。

刪除資料庫使用DROP DATABASE 資料庫名;語句、

DROP DATABASE 資料庫名;

當然刪庫是一個危險的動作,為了避免刪庫跑路,刪庫前務必做兩件事,一確認自己沒有發燒,二確認自己的確認是對的。這裡我的庫剛建的,所以確認無誤了。

67ac8d458fed1bf9e6ac50fcf91f0067.png

然後創建了mysql_study資料庫,那我們現在想使用這個庫,該怎麼做?

我們需要先切換到該庫下,使用USE 資料庫名稱;語句。

USE 資料庫名稱;

切換到對應庫後,我們可以使用SHOW TABLES;來查看庫中的表。因為剛剛創建的,還是熱乎的,所以裡面什麼也沒有。

表的基本操作

那我們快來創建第一個表吧,使用CREATE TABLE 語句,當然還需要定義表的列屬性等。

CREATE TABLE 表名 (
    列名1    數據類型    [列的屬性],
    列名2    數據類型    [列的屬性],
    ...
    列名n    數據類型    [列的屬性]
);

例如我們創建最簡單的user表,包含int類型的id,和varchar(5)的name列。

CREATE TABLE user (
    id         INT,
    name    VARCHAR(5)
);

對於創建的表,我們可以使用以下命令查看具體細節。

DESC 表名;
DESCRIBE 表名;
EXPLAIN 表名;
SHOW COLUMNS FROM 表名;
SHOW FIELDS FROM 表名;

對於資料庫的名字,修改不方便, 那表呢?更改表名還是比較容易的,使用ALTER TABLE 表名 RENAME TO 新的表名;即可

ALTER TABLE 表名 RENAME TO 新的表名;

這樣就將表名改為了user_info。那如果要刪除表呢?使用DROP TABLE 表名;

DROP TABLE 表名;

列的基本操作

刪完了我又默默將user表創建回來了,因為還要繼續使用呢。

如果我們想在user表中增加列屬性,如何操作?

ALTER TABLE 表名 ADD COLUMN 列名 數據類型 [列的屬性];

新增age列。

如果要修改列,可以使用下麵的語句,MODIFY只支持改列的屬性,而CHANGE支持修改列名稱和列屬性。

# 修改列屬性
ALTER TABLE 表名 MODIFY 列名 新數據類型 [新屬性];
# 修改列名稱
ALTER TABLE 表名 CHANGE 舊列名 新列名 新數據類型 [新屬性];

比如age,我想改成user_age,且長度只想定義為2位。

要刪除列,既然有ADD、MODIFY、CHANGE,那就應該有DROP,沒錯。

ALTER TABLE 表名 DROP 列名;

數據的基本操作

有了表,也會操作基本的列,但我們平時說的增刪改查,沒有數據怎麼叫增刪改查,所以我們需要來點兒數據。

使用INSERT插入數據,在不指定列的時候,按列的順序插入,而且必須是列的值必須包含全量的列,而聲明列則自由的多

INSERT INTO 表名 VALUES(列1的值,列2的值, ...);
INSERT INTO 表名(列1, 列2, ...) VALUES(列1的值,列2的值, ...);

例如在user表插入數據。

INSERT INTO user VALUES(1,'zs');
INSERT INTO user(id,name) VALUES(2,'ls');
 INSERT INTO user(name,id) VALUES('ww',3);

至於查詢,相信你已經看到了,使用SELECT語句,SELECT * FROM 表名;是最基本的查詢,*表示查看所有的列屬性,查詢一般需要配合WHERE等條件篩選,操作較複雜,後面會繼續深入。

SELECT 列1, 列2, ... FROM 表名 [WHERE條件];

修改數據,我們使用UPDATE語句。更新的本質是修改那些符合條件的數據,也即先查詢出對應數據,然後再對其做更改。所以一般查詢也是需要結合WHERE語句的,不帶WHERE的語句會將表中的數據全部更改,這個日常中一定要註意。


UPDATE 表名 SET 列1=列的新值1, 列2=列的新值2, ... [WHERE 條件]

至於刪除,使用DELETE語句,該語句一樣是個危險語句,註意千萬要帶上WHERE,除非你是真的要刪除所有數據,或者一時腦子發燒了。

DELETE FROM 表名 [WHERE 條件];

至此,MySQL的基本使用就差不多OK了,當然還有些複雜的語句,我們將在後續繼續學習。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 關於Jenkins集群 在 "《快速搭建Jenkins集群》" 一文中,我們藉助docker快速搭建了Jenkins集群,今天就在這個集群環境中創建pipeline任務,體驗Jenkins集群下的並行任務; 環境信息 整個集群環境一共有三臺電腦,信息如下: | 主機名 | IP地址 | 作用 | | ...
  • 關於Jenkins集群 在Jenkins上同時執行多個任務時,單機性能可能達到瓶頸,使用Jenkins集群可以有效的解決此問題,讓多台機器同時處理這些任務可以將壓力分散,對單機版Jenkins的單點故障的隱患也有分散作用,今天就來實戰快速搭建Jenkins集群,Jenkins版本是2.190.2; ...
  • 1. 線程概念的引入背景 1.1 進程 之前我們已經瞭解了操作系統中進程的概念,程式並不能單獨運行,只有將程式裝載到記憶體中,系統為它分配資源才能運行,而這種執行的程式就稱之為進程。程式和進程的區別就在於:程式是指令的集合,它是進程運行的靜態描述文本;進程是程式的一次執行活動,屬於動態概念。在多道編程 ...
  • ```c++ //遍歷演算法 #include using namespace std; typedef struct BiNode{ char data; struct BiNode *lchild,*rchild; }BiTNode,*BiTree; void CreratBiTree(BiTre... ...
  • 場景 一步一步教你在IEDA中快速搭建SpringBoot項目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/87688277 在使用IDEA新建SpringBoot的Web項目時,在輸入Artifact時提示: Artifac ...
  • 良心製作,JVM原理速記複習Java虛擬機總結思維導圖面試必備。 一、運行時數據區域 線程私有 程式計數器 記錄正在執行的虛擬機位元組碼指令的地址(如果正在執行的是Native方法則為空),是唯一一個沒有規定OOM(OutOfMemoryError)的區域。 Java虛擬機棧 每個Java方法在執... ...
  • Python讀位元組某一位的值,設置某一位的值,二進位位操作 在物聯網實際應用項目開發中,為了提升性能,與設備端配合,往往最終使用的是二進位位元組串方式進行的通信協議封裝,更會把0和1、True和False、Yes和No這樣的布爾值每8個只占用一個位元組,用位元組中的位來表示。減少傳輸量,減少對網路穩定性的 ...
  • 工廠模式 前言 工廠模式又稱為創建模式,它是建對象的一種最佳方式。工廠模式的本質就是用工廠方法代替new操作創建一種實例化對象的方式。 在之前,如果我們想實例化一個對象Simple,一般會想到的方法就是通過構造器來創建Simple simple = new Simple(參數)。但是,如果創建sim ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...