欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在docker中的mysql容器內(nèi)執(zhí)行命令與執(zhí)行SQL文件方式

 更新時(shí)間:2025年01月26日 08:37:23   作者:m0_74824574  
文章介紹了如何通過(guò)Docker進(jìn)入MySQL容器執(zhí)行SQL文件,并總結(jié)了MySQL清空表數(shù)據(jù)的三種方法:TRUNCATE、DROP和DELETE,每種方法都有其適用場(chǎng)景和特點(diǎn)

docker的mysql容器內(nèi)執(zhí)行命令與執(zhí)行SQL文件

通過(guò) docker ps -a 查詢當(dāng)前運(yùn)行的容器,找到想執(zhí)行命令的容器名稱。

docker ps -a

若想執(zhí)行sql文件,則將sql文件放入當(dāng)前文件夾下后將項(xiàng)目?jī)?nèi)的 SQL 文件拷貝到 mysql 容器內(nèi)部的 root下。

sudo docker cp /root/enterprise.sql mysql:/root/

然后進(jìn)入 mysql 容器內(nèi)部。

docker exec -it mysql /bin/bash

進(jìn)入mysql容器內(nèi)部執(zhí)行以下命令后回車,輸入數(shù)據(jù)庫(kù)密碼進(jìn)入 mysql 數(shù)據(jù)庫(kù)

mysql -u root -p

如圖:

切換到對(duì)應(yīng)的數(shù)據(jù)庫(kù)下,例如數(shù)據(jù)庫(kù) zd,記得后面要加分號(hào)

use zd;

現(xiàn)在就可以對(duì)此數(shù)據(jù)庫(kù)執(zhí)行相關(guān)命令了,若想執(zhí)行sql文件,則運(yùn)行以下命令,_/root/enterprise.sql_為剛剛復(fù)制進(jìn)來(lái)的文件路徑,具體路徑請(qǐng)根據(jù)個(gè)人調(diào)整。

source /root/enterprise.sql

如果沒(méi)有出現(xiàn)報(bào)錯(cuò),則此sql文件執(zhí)行成功!

以下是mysql常用命令:

MySQL清空表數(shù)據(jù)三種方法

1.1 清空表數(shù)據(jù):truncate

sql命令:

#清空多張表、庫(kù)中所有表的數(shù)據(jù)
truncate table table_name1,table_name2,...;

#清空單張表的數(shù)據(jù)
truncate table table_name;

注意:

  • truncate會(huì)刪除表中的所有數(shù)據(jù)、釋放空間,但是保留表結(jié)構(gòu) 只能操作表,不能與where一起使用
  • truncate刪除操作立即生效,原數(shù)據(jù)不放到rollback segment中,不能rollback,操作不觸發(fā)trigger
  • truncate刪除數(shù)據(jù)后會(huì)釋放表空間、重置Identity(標(biāo)識(shí)列、自增字段),相當(dāng)于自增列會(huì)被置為初始值,又重新從1開(kāi)始記錄、而非接著原來(lái)的id數(shù)
  • truncate刪除數(shù)據(jù)后不寫(xiě)服務(wù)器log,整體刪除速度快

1.2 刪除表:drop

sql命令:

drop table table_name;
drop table if exists table_name;

注意:

  • drop會(huì)刪除整個(gè)表,包括表結(jié)構(gòu)和數(shù)據(jù),釋放空間
  • 立即執(zhí)行,執(zhí)行速度最快
  • 不可回滾

1.3 刪除/清空表數(shù)據(jù):delete

sql命令:

#刪除部分?jǐn)?shù)據(jù)
delete from tb_name where clause;

#清空表,僅刪除數(shù)據(jù)、保留表結(jié)構(gòu),同時(shí)也不釋放表空間
delete from tb_name;

注意:

  • 刪除表中數(shù)據(jù)而不刪除表結(jié)構(gòu),也不釋放空間
  • delete可以刪除一行、多行、乃至整張表
  • 每次刪除一行,都在事務(wù)日志中為所刪除的每行記錄一項(xiàng),可回滾
  • 如果不加where條件,表示刪除表中所有數(shù)據(jù),僅刪除數(shù)據(jù)、保留表結(jié)構(gòu),同時(shí)也不釋放表空間

MySQL、Mariadb、PostgreSQL刪除表數(shù)據(jù)、清空表命令 都可用以上三種命令。

使用原則

使用原則總結(jié)如下:

  • 當(dāng)你不需要該表時(shí)(刪除數(shù)據(jù)和結(jié)構(gòu)),用drop;
  • 當(dāng)你仍要保留該表、僅刪除所有數(shù)據(jù)表內(nèi)容時(shí),用truncate;
  • 當(dāng)你要?jiǎng)h除部分記錄、且希望能回滾的話,用delete;

在沒(méi)有備份的情況下,謹(jǐn)慎使用drop、truncate。

在實(shí)際應(yīng)用中,要根據(jù)具體需求和場(chǎng)景選擇合適的操作。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker端口映射實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)的方法

    Docker端口映射實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)的方法

    本篇文章主要介紹了Docker端口映射實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段ip沖突導(dǎo)致無(wú)法訪問(wèn)網(wǎng)絡(luò)的兩種解決方法

    Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段ip沖突導(dǎo)致無(wú)法訪問(wèn)網(wǎng)絡(luò)的兩種解決方法

    本文主要介紹了Docker網(wǎng)段和內(nèi)網(wǎng)網(wǎng)段沖突導(dǎo)致無(wú)法訪問(wèn)網(wǎng)絡(luò)的兩種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 半小時(shí)實(shí)現(xiàn)基于ChatGPT搭建微信機(jī)器人

    半小時(shí)實(shí)現(xiàn)基于ChatGPT搭建微信機(jī)器人

    這篇文章主要為大家介紹了基于ChatGPT搭建微信機(jī)器人過(guò)程示例詳解,半小時(shí)就能完成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 如何用docker部署kafka

    如何用docker部署kafka

    本文詳細(xì)介紹了使用Docker快速搭建Kafka集群的步驟,包括選用wurstmeister/kafka鏡像、配置文件修改、集群?jiǎn)?dòng)與管理,適合需要在Docker環(huán)境中部署Kafka的開(kāi)發(fā)者參考
    2024-09-09
  • Docker部署Apollo的實(shí)現(xiàn)步驟

    Docker部署Apollo的實(shí)現(xiàn)步驟

    眾所周知分布式配置中心在目前也可以說(shuō)是企業(yè)中項(xiàng)目的標(biāo)配了,本文主要介紹了Docker 部署Apollo的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Docker 中的 bootfs、rootfs 簡(jiǎn)介

    Docker 中的 bootfs、rootfs 簡(jiǎn)介

    Docker中的bootfs和rootfs是容器文件系統(tǒng)的兩個(gè)層次,bootfs負(fù)責(zé)內(nèi)核啟動(dòng),而rootfs提供運(yùn)行環(huán)境,容器共享宿主機(jī)內(nèi)核,因此沒(méi)有獨(dú)立的bootfs,只使用精簡(jiǎn)的rootfs,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • 二進(jìn)制部署docker的超詳細(xì)教程

    二進(jìn)制部署docker的超詳細(xì)教程

    部署環(huán)境并不會(huì)一直順利,有些時(shí)候因?yàn)闀r(shí)內(nèi)網(wǎng)環(huán)境,無(wú)法使用yum等情況,對(duì)于一些中間件的部署缺少依賴,我們可以使用二進(jìn)制包的形式部署docker,這篇文章主要給大家介紹了關(guān)于二進(jìn)制部署docker的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • docker?swarm快速部署redis分布式集群的詳細(xì)過(guò)程

    docker?swarm快速部署redis分布式集群的詳細(xì)過(guò)程

    這篇文章主要介紹了docker?swarm快速部署redis分布式集群,只需要通過(guò)docker-compose.yml文件和一個(gè)啟動(dòng)命令就完成redis分布式部署的方式,讓其分別部署在不同機(jī)器上,并實(shí)現(xiàn)集群搭建,需要的朋友可以參考下
    2022-10-10
  • 詳解Docker修改容器端口映射的方法

    詳解Docker修改容器端口映射的方法

    這篇文章主要介紹了詳解Docker修改容器端口映射的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2006-11-11
  • Docker 教程之CentOS安裝 Docker

    Docker 教程之CentOS安裝 Docker

    這篇文章主要介紹了Docker 教程之CentOS安裝 Docker的相關(guān)資料,需要的朋友可以參考下
    2016-12-12

最新評(píng)論