MySQL數據庫與表結構操作指南

前言:本文系統梳理MySQL核心操作語句。內容覆蓋建庫建表、結構調整、數據遷移全流程(包含創建/修改/刪除/備份場景)。希望它們能幫你快速解決問題。

庫結構操作

一、庫的創建

    一個庫的簡單創建:

    create database 庫名;

    注意:database是單數,不要寫成databases。?

    比如創建一個名為d1的庫:

    直接創建:

    create database d1;

    判斷該庫是否存在,不存在則創建:

    create database if not exists d1;

    如下:?

    除此之外在shell命令行中對應mysql目錄下創建文件夾,同樣相當于創建庫:?

    使用show databases;指令同樣能查到:?

    這里只是說明庫的本質就是文件夾,但千萬不要以這種方式創建庫。

    以下是刪除庫的語句,我們對d2進行刪除:

    drop database d2;

    最后我們來看庫創建的語法:

    CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
    create_specification] ...]
    create_specification:
    [DEFAULT] CHARACTER SET charset_name
    [DEFAULT] COLLATE collation_name

    說明:

    • 大寫的表示關鍵字
    • [] 是可選項
    • CHARACTER SET: 指定數據庫采用的字符集
    • COLLATE: 指定數據庫字符集的校驗規則

    1.編碼與校驗

    ????????在創建庫時可以在庫名后面指定字符集和校驗集。如果不帶則默認使用配置文件中所設的字符集和校驗集。

    字符集,校驗集的關系:

    字符集

    • 相當于"字典":定義所有可用字符的集合

    • 為每個字符分配唯一的代碼點(Code Point)

    • 例如:ASCII字符集包含128個字符,Unicode字符集包含14+萬字符

    校驗集

    • 相當于"使用規則":定義字符的比較、排序和匹配規則

    • 解決如何對文本數據進行查詢、排序等操作

    • 例如:是否區分大小寫、重音符號如何處理。

    查看數據庫支持的字符集:

    show charset;

    查看數據庫支持的校驗集:

    show collation;

    創建庫后,庫的字符集和校驗集會在文件db.opt中存儲,如下:

    utf8_general_ci:utf8格式,不區分大小寫。

    utf8_bin:utf8格式,區分大小寫。

    通常在查找指定數據或排序時體現出它們的區別。?

    創建庫時指明字符集和校驗集的兩種方式:

    2.庫的備份和恢復

    2.1.備份

    ????????數據庫通常會帶有備份工具,在shell命令行創建一個目錄,這里命名為MySQL。在MySQL目錄下使用以下指令進行備份:

    mysqldump -P3306 -uroot -B 庫名 > 生成備份文件名.sql
    • mysqldump:備份指令
    • -P3306:指定端口號
    • -uroot:指定用什么用戶身份
    • -B:填寫-B選項后恢復數據庫時不用先創建該庫。
    • >: 重定向

    對d1庫在MySQL目錄下進行備份:

    事實上它備份的不是數據而是操作,我們可以把d1.sql打開查看。?

    2.2.恢復

    恢復庫的語句:

    source 備份文件的路徑;

    二、庫的查改

    查看一共有哪些庫:

    show databases;

    查看某個庫的詳細信息(即創建庫時帶的信息)

    show create database 庫名;

    修改庫結構:

    alter database 庫名 選項(如編碼集,校驗集);

    與創建相比只是把create改成了alter。?

    表結構操作

    進行表操作首先要進入庫,使用use進入庫:

    use 庫名;

    查看當前所在的庫:?

    select database();

    三、表的創建

    語法:

    CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
    ) character set 字符集 collate 校驗規則 engine 存儲引擎;

    說明:

    • field:表示列名。
    • datatype:表示列的類型。
    • character set:字符集,如果沒有指定字符集,則以所在數據庫的字符集為準。
    • collate:校驗規則,如果沒有指定校驗規則,則以所在數據庫的校驗規則為準。

    在/var/lib/mysql/d1中新增了對應的兩個文件。

    表的備份:

    mysqldump -P3306 -uroot 庫名 表名1,表名2,... > 備份的文件;

    表的恢復和庫的恢復相同。?

    四、表的刪改查

    查看表結構

    查看庫中有哪些表:

    show tables;

    查看指定表信息:?

    desc 表名;

    查看指定表的詳細信息(即創建時的信息):

    show create table 表名;

    ?或:

    show create table 表名 \G

    修改表結構

    重命名:

    alter table 原表名 rename to 新表名;

    這里to可以省略。

    新增列:

    alter table 表名 add 新增列的屬性(列名,類型,...) after 列1; 

    ?after選項可不加,表示把新增列放在列1后面。

    改列屬性:

    alter table 表名 modify 列名 列的其他屬性(類型,...);

    注意它是把原來的列信息丟棄,新增列信息。而不是做局部修改,所以需要把列信息寫全。?

    改列名:

    alter table 表名 change 原列名 新的列屬性(新列名,類型,...);

    刪除列:

    alter table 表名 drop 列名;

    刪除表:?

    drop table 表名;

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/diannao/82267.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/diannao/82267.shtml
    英文地址,請注明出處:http://en.pswp.cn/diannao/82267.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    【WEB3】區塊鏈、隱私計算、AI和Web3.0——數據民主化(1)

    區塊鏈、隱私計算、AI,是未來Web3.0至關重要的三項技術。 1.數據民主化問題 數據在整個生命周期(生產、傳輸、處理、存儲)內的隱私安全,則是Web3.0在初始階段首要解決的問題。 數據民主化旨在打破數據壟斷,讓個體能…

    C語言—指針2

    1. const 修飾變量 1.1 const修飾變量 變量被const修飾時,變量此時為常變量,本質為常量,語法上不可被修改,但是如果此時需要修改變量值,可以通過指針的方式修改。 雖然此時通過指針的方式確實修改了變量的值&#xff…

    高級架構軟考之網絡OSI網絡模型

    高級架構軟考之網絡: 1.OSI網絡模型: a.物理層: a.物理傳輸介質物理連接,負責數據傳輸,并監控數據 b.傳輸單位:bit c.協議: d:對應設備:中繼器、集線器 b.數據鏈路層: a.…

    el-table計算表頭列寬,不換行顯示

    1、在utils.js中封裝renderHeader方法 2、在el-table-column中引入: 3、頁面展示:

    MySQL OCP和Oracle OCP怎么選?

    近期oracle 為慶祝 MySQL 數據庫發布 30 周年,Oracle 官方推出限時福利:2025 年 4 月 20 日至 7 月 31 日期間,所有人均可免費報考 MySQL OCP(Oracle Certified Professional)認證考試(具體可查看MySQL OCP…

    2025最新免費視頻號下載工具!支持Win/Mac,一鍵解析原畫質+封面

    軟件介紹 適用于Windows 2025 最新5月蝴蝶視頻號下載工具,免費使用,無廣告且免費,支持對原視頻和封面進行解析下載,親測可用,現在很多工具都失效了,難得的幾款下載視頻號工具,大家且用且珍…

    Python學習之路(八)-多線程和多進程淺析

    在 Python 中,多線程(Multithreading) 和 多進程(Multiprocessing) 是實現并發編程的兩種主要方式。它們各有優劣,適用于不同的場景。 一、基本概念 特性多線程(threading)多進程(multiprocessing)并發模型線程共享內存空間每個進程擁有獨立內存空間GIL(全局解釋器鎖…

    Spark緩存--persist方法

    1. 功能本質 persist:這是一個通用的持久化方法,能夠指定多種不同的存儲級別。存儲級別決定了數據的存儲位置(如內存、磁盤)以及存儲形式(如是否序列化)。 2. 存儲級別指定 persist:可以通過傳入…

    裸辭8年前端的面試筆記——JavaScript篇(一)

    裸辭后的第二個月開始準備找工作,今天是第三天目前還沒有面試,現在的行情是一言難盡,都在瘋狂的壓價。 下邊是今天復習的個人筆記 一、事件循環 JavaScript 的事件循環(Event Loop)是其實現異步編程的關鍵機制。 從…

    什么是死信隊列?死信隊列是如何導致的?

    死信交換機(Dead Letter Exchange,DLX) 定義:死信交換機是一種特殊的交換機,專門用于**接收從其他隊列中因特定原因變成死信的消息**。它的本質還是交換機,遵循RabbitMQ中交換機的基本工作原理&#xff0c…

    9. 從《蜀道難》學CSS基礎:三種選擇器的實戰解析

    引言:當古詩遇上現代網頁設計 今天我們通過李白的經典詩作《蜀道難》來學習CSS的三種核心選擇器。這種古今結合的學習方式,既能感受中華詩詞的魅力,又能掌握實用的網頁設計技能。讓我們開始這場穿越時空的技術之旅吧! 一、HTML骨架…

    三角網格減面算法及其代表的算法庫都有哪些?

    以下是三角網格減面算法及其代表庫/工具的詳細分類,涵蓋經典算法和現代實現: ??1. 頂點聚類(Vertex Clustering)?? ??原理??:將網格空間劃分為體素柵格,合并每個柵格內的頂點。??特點??&#…

    URP - 屏幕圖像(_CameraOpaqueTexture)

    首先需要在unity中開啟屏幕圖像開關才可以使用該紋理 同樣只有不透明對象才能被渲染到屏幕圖像中 若想要該對象不被渲染到屏幕圖像中,可以將其Shader的渲染隊列改為 "Queue" "Transparent" 如何在Shader中使用_CameraOpaqueTexture&#xf…

    vue 和 html 的區別

    使用 Vue.js 和原生 HTML 開發 Web 應用有顯著的區別,主要體現在開發模式、功能擴展、性能優化和維護性等方面。以下是兩者的對比分析: 🧱 原生 HTML(HTML CSS JavaScript) 特點: 靜態結構:H…

    LeetCode[226] 翻轉二叉樹

    思路: 使用遞歸,歸根結底還是左右節點互相倒,那么肯定需要一個temp節點在中間傳遞,最后就是遞歸,沒什么說的 代碼: /*** Definition for a binary tree node.* public class TreeNode {* int …

    冪等的幾種解決方案以及實踐

    目錄 什么是冪等? 解決冪等的常見解決方案: 唯一標識符案例 數據庫唯一約束 案例 樂觀鎖案例 分布式鎖(Distributed Locking) 實踐精選方案 首先 為什么不直接使用分布式鎖呢? 自定義實現冪等組件&#xff01…

    PowerShell中的Json處理

    1.定義JSON字符串變量 PS C:\WINDOWS\system32> $body {"Method": "POST","Body": {"model": "deepseek-r1","messages": [{"content": "why is the sky blue?","role"…

    奧威BI:AI+BI深度融合,重塑智能AI數據分析新標桿

    在數字化浪潮席卷全球的今天,企業正面臨著前所未有的數據挑戰與機遇。如何高效、精準地挖掘數據價值,已成為推動業務增長、提升競爭力的核心議題。奧威BI,作為智能AI數據分析領域的領軍者,憑借其創新的AIBI融合模式,正…

    【Linux網絡】網絡協議基礎

    網絡基礎 計算機網絡背景 獨立模式:計算機之間相互獨立 網絡互聯:多臺計算機連接在一起,完成數據共享 局域網LAN:計算機數量更多了,通過交換機和路由器連接在一起 廣域網WAN:將遠隔千里的計算機都連在一起 所謂"局域網"和"廣域網"只是一個相對的概念.比…

    LabVIEW表面粗糙度測量及算法解析

    在制造業和科研領域,表面粗糙度測量對保障產品質量、推動材料研究意義重大。表面粗糙度作為衡量工件表面加工質量的關鍵指標,直接影響著工件諸如磨損、密封、疲勞等機械性能。隨著技術的發展,LabVIEW 在表面粗糙度測量及數據處理中發揮著不可…