《MySQL:MySQL數據庫的基本操作》

1.創建數據庫

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,

create_specification] ...]

create_specification:

[DEFAULT] CHARACTER SET charset_name

[DEFAULT] COLLATE collation_name

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

創建數據庫,本質就是在/var/lib/mysql下創建一個目錄。

創建表,本質就是在/var/lib/mysql對應的目錄下創建相應文件。

創建數據庫的時候,有兩個編碼集:

  1. 數據庫編碼集:數據庫未來存儲數據,采用的編碼格式。
  2. 數據庫校驗集:支持數據庫進行字段比較使用的編碼,本質也是一種讀取數據庫中數據采用的編碼格式。

數據庫無論對數據做任何操作,都必須保證操作和編碼是編碼一致的。

  • 創建名為db1的數據庫

create database db1;

注意:當創建數據庫沒有指定字符集和校驗規則時,系統使用默認的字符集utf8,和校驗規則utf8_ general_ ci(/etc/my.cnf/的配置文件中已經配置了utf8為默認字符集)

  • 創建字符集為utf8,和校驗規則為utf8_general_ci的數據庫db2

create database db2 charset=utf8 collate utf8_general_ci;

  • ?創建字符集為gbk,和校驗規則為gbk_chinese_ci的數據庫db3;

2.字符集和校驗規則

字符集主要是控制用什么語言。比如utf8就可以使用中文。

2.1查看系統默認字符集和校驗規則

  • show variables like 'character_set_database';
  • show variables like 'collation_database';

2.2查看數據庫支持的字符集和校驗規則

  • show charset;
  • show collation;

2.3校驗規則對數據庫的影響

  • 不區分大小寫

創建一個數據庫,校驗規則使用utf8_general_ci(不區分大小寫)

test1數據庫字符集為utf8,校驗規則為utf8_general_ci。

查找和排序結果。不區分大小寫。

  • 區分大小寫

創建一個數據庫,校驗規則使用utf8_bin(區分大小寫)

test2數據庫字符集為utf8,校驗規則為utf8_bin。

查找和排序結果。區分大小寫。

3.查看數據庫

查看創建數據庫的完整SQL語句。

4.刪除數據庫

DROP DATABASE [IF EXISTS] db_ name;

刪除一個數據庫之后,數據庫內部就看不到對應的數據庫了;數據庫里的表也全部被刪除。本質就是刪除/var/lib/mysql下的一個目錄。

注意:不要隨意刪除一個數據庫。

? ? ?

5.修改數據庫

ALTER DATABASE db_name

[alter_spacification [,alter_spacification]...]

alter_spacification:

[DEFAULT] CHARACTER SET charset_name

[DEFAULT] COLLATE collation_name

  • 修改數據庫,主要是修改數據庫的字符集和校驗規則

更改test1數據庫的字符集。

6.數據庫的備份和恢復

6.1備份

# mysqldump -P3306 -u root -p 密碼 -B 數據庫名 > 數據庫備份存儲的文件路徑

可以打開看看test1.sql 文件里的內容,備份其實把我們當時整個創建數據庫,建表,導入數據的語句都裝載這個文件中。

6.2恢復

# mysql> source D:/mysql-5.7.22/mytest.sql;

恢復,其實就是按照當時創建數據庫的所有操作又執行了一遍。

6.3注意

  • 如果備份的不是數據庫,而是其中的一張表
# mysqldump -u root -p 數據庫名 表名1 表名2 > D:/mytest.sql

需要先創建數據庫,再執行source。

  • 同時備份多個數據庫

# mysqldump -u root -p -B 數據庫名1 數據庫名2 ... > 數據庫存放路徑

  • 如果備份一個數據庫時,沒有帶上-B參數

在恢復數據庫時,需要先創建空數據庫,然后使用數據庫,再使用source來還原。

7.查看連接情況

show processlist;

以上,就是關于數據庫的相關基本操作。

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

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

相關文章

深入簡出:KL散度、交叉熵、熵、信息量簡介、交叉熵損失

學習這些的最終目的 1、量化兩個概率分布的差異 2、推導交叉熵損失 一、KL散度 KL散度就是用來量化兩個概論分布的差異,如何量化? 計算真實概論分布P信息量 和 估計概論分布為Q,但實際概率分布為P時信息量的差值 那么設,概率分…

MySQL:Join連接的原理

連接查詢的執行過程: 確定第一個需要查詢的表【驅動表】 選取代價最小的訪問方法去執行單表查詢語句 從驅動表每獲取到一條記錄,都需要到t2表中查找匹配的記錄 兩表連接查詢需要查詢一次t1表,兩次t2表,在兩表的連接查詢中&…

【Drools+springboot3規則匹配】

文章目錄 一、 業務場景概述二、整體技術架構三、Drools概述1. Drools 簡介2. Drools Rete 算法與flink-cep的區別?2.1 Rete 算法概述2.2 Flink CEP 概述四、代碼實現4.1 導入依賴4.2 從kafka消費數據4.3 核心類,觸發匹配操作并將匹配數據寫入mysql4.4 Drools 管理4.5 相關的…

深入理解 Android Handler

一、引言 Handler 在安卓中的地位是不言而喻的,幾乎維系著整個安卓程序運行的生命周期,但是這么重要的一個東西,我們真的了解它嗎?下面跟隨著我的腳步,慢慢揭開Hanler的神秘面紗吧! 本文將介紹Handler 的運…

讀書筆記 -- MySQL架構

1、MySQL邏輯架構 最上層的服務并不是 MySQL所獨有的,大多數基于網絡的客戶端/服務器的工具或者服務都有類似的架構。比如連接處理、授權認證、安全等等。 第二層架構是 MySQL 比較有意思的部分。大多數 MySQL 的核心服務功能都在這一層包括查詢解析、分析、…

linux 4.14內核jffs2文件系統不自動釋放空間的bug

前段時間在做spi-nor flash項目的時候,使用jffs2文件系統,發現在4.14內核下存在無法釋放空間的bug,后來進行了修復,修復后功能正常,現將修復patch公開,供后來者學習: diff --git a/fs/jffs2/ac…

vue3+vite 實現.env全局配置

首先創建.env文件 VUE_APP_BASE_APIhttp://127.0.0.1/dev-api 然后引入依賴: pnpm install dotenv --save-dev 引入完成后,在vite.config.js配置文件內加入以下內容: const env dotenv.config({ path: ./.env }).parsed define: { // 將…

Oracle 19c部署之手工建庫(四)

#Oracle #19c #手工建庫 手工創建Oracle數據庫(也稱為手工建庫)是指在已經安裝了Oracle數據庫軟件的基礎上,通過手動執行一系列命令和步驟來創建一個新的數據庫實例。這種方法與使用Database Configuration Assistant (DBCA)等工具自動創建數…

【Reading Notes】(8.3)Favorite Articles from 2025 March

【March】 雷軍一度登頂中國首富,太厲害了(2025年03月02日) 早盤,小米港股一路高歌猛進,暴漲4%,股價直接飆到52港元的歷史新高。這一波猛如虎的操作,直接把雷軍的身家拉到了2980億元&#xff0c…

【Python爬蟲基礎篇】--1.基礎概念

目錄 1.爬蟲--定義 2.爬蟲--組成 3.爬蟲--URL 1.爬蟲--定義 網絡爬蟲,是一種按照一定規則,自動抓取互聯網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。隨著網絡的迅速發展,萬維網成為大量信息的載體…

C語言超詳細結構體知識

1.自定義類型:結構體的介紹 在之前的博客中,我們簡單介紹過了關于結構體的基本知識,這里我們稍微復習一下。 結構體(struct)是C語言中一種重要的復合數據類型,它允許將不同類型的數據組合成一個整體。 1.1結構體的定義 結構體使…

C++學習:六個月從基礎到就業——內存管理:new/delete操作符

C學習:六個月從基礎到就業——內存管理:new/delete操作符 本文是我C學習之旅系列的第十七篇技術文章,也是第二階段"C進階特性"的第二篇,主要介紹C中動態內存管理的核心操作符——new和delete。查看完整系列目錄了解更多…

15~30K,3年以上golang開發經驗

繼續分享最新的面經,前面發的兩篇大家也可以看看: 「坐標上海,20K的面試強度」「北京七貓,薪資25~35K,瞧瞧面試強度」 今天分享的是golang開發崗面經,要求是3年以上golang開發經驗,薪資為15~3…

Python爬蟲實戰:獲取優志愿專業數據

一、引言 在信息爆炸的當下,數據成為推動各領域發展的關鍵因素。優志愿網站匯聚了豐富的專業數據,對于教育研究、職業規劃等領域具有重要價值。然而,為保護自身數據和資源,許多網站設置了各類反爬機制。因此,如何高效、穩定地從優志愿網站獲取計算機專業數據成為一個具有…

ArcPy工具箱制作(下)

在上一篇博客中,我們已經初步了解了如何制作ArcPy工具箱,包括工具箱的基本概念、準備工作、腳本編寫以及將腳本轉換為工具箱的步驟。今天,我們將繼續深入探討ArcPy工具箱的制作,重點介紹一些進階技巧和優化方法. 一、優化工具箱的…

不一樣的flag 1(迷宮題)

題目 做法 下載壓縮包,解壓,把解壓后的文件拖進Exeinfo PE進行分析 32位,無殼 扔進IDA(32位),找到main,F5反編譯 沒啥關鍵詞,ShiftF12也找不到什么有用的點 從上往下分析吧 puts(…

工程化實踐:Flutter項目結構與規范

工程化實踐:Flutter項目結構與規范 在Flutter項目開發中,良好的工程化實踐對于提高開發效率、保證代碼質量和團隊協作至關重要。本文將從項目結構、代碼規范、CI/CD流程搭建以及包管理等方面,詳細介紹Flutter項目的工程化最佳實踐。 項目結…

[Java · 初窺門徑] Java 語言初識

🌟 想系統化學習 Java 編程?看看這個:[編程基礎] Java 學習手冊 0x01:Java 編程語言簡介 Java 是一種高級計算機編程語言,它是由 Sun Microsystems 公司(已被 Oracle 公司收購)于 1995 年 5 …

1187. 【動態規劃】競賽總分

題目描述 學生在我們USACO的競賽中的得分越多我們越高興。我們試著設計我們的競賽以便人們能盡可能的多得分。 現在要進行一次競賽,總時間T固定,有若干類型可選擇的題目,每種類型題目可選入的數量不限,每種類型題目有一個si(解答…