亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

備份數據庫的sql語句怎么寫

發布時間:2021-05-25 13:39:10 來源:億速云 閱讀:1708 作者:小新 欄目:MySQL數據庫

小編給大家分享一下備份數據庫的sql語句怎么寫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

備份數據庫的sql語句是“mysqldump”,語法格式“mysqldump -u 用戶名稱 -p 數據庫名稱 [數據表名稱 ...]> 備份文件名稱.sql”;其中,“>”用來告訴mysqldump將備份數據表的定義和數據寫入備份文件。

本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

數據庫的主要作用就是對數據進行保存和維護,所以備份數據是數據庫管理中最常用的操作。為了防止數據庫意外崩潰或硬件損傷而導致的數據丟失,數據庫系統提供了備份和恢復策略。

保證數據安全的最重要的一個措施就是定期的對數據庫進行備份。這樣即使發生了意外,也會把損失降到最低。

數據庫備份是指通過導出數據或者復制表文件的方式來制作數據庫的副本。當數據庫出現故障或遭到破壞時,將備份的數據庫加載到系統,從而使數據庫從錯誤狀態恢復到備份時的正確狀態。

MySQL 中提供了兩種備份方式,即 mysqldump 命令以及 mysqlhotcopy 腳本。由于 mysqlhotcopy 只能用于 MyISAM 表,所以 MySQL 5.7 移除了 mysqlhotcopy 腳本。

使用 mysqldump 命令備份數據庫

mysqldump 命令執行時,可以將數據庫中的數據備份成一個文本文件。數據表的結構和數據將存儲在生成的文本文件中。

使用 mysqldump 命令備份一個數據庫的語法格式如下:

mysqldump -u username -p dbname [tbname ...]> filename.sql

對上述語法參數說明如下:

  • username:表示用戶名稱;

  • dbname:表示需要備份的數據庫名稱;

  • tbname:表示數據庫中需要備份的數據表,可以指定多個數據表。省略該參數時,會備份整個數據庫;

  • 右箭頭“>”:用來告訴 mysqldump 將備份數據表的定義和數據寫入備份文件;

  • filename.sql:表示備份文件的名稱,文件名前面可以加絕對路徑。通常將數據庫備份成一個后綴名為.sql的文件。

注意:mysqldump 命令備份的文件并非一定要求后綴名為.sql,備份成其他格式的文件也是可以的。例如,后綴名為.txt的文件。通常情況下,建議備份成后綴名為.sql 的文件。因為,后綴名為.sql的文件給人第一感覺就是與數據庫有關的文件。

示例:

下面使用 root 用戶備份 test 數據庫下的 student 表。打開命令行(cmd)窗口,輸入備份命令和密碼,運行過程如下:

C:\Windows\system32>mysqldump -uroot -p test student>C:\student.sql
Enter password: ****

注意:mysqldump 命令必須在 cmd 窗口下執行,不能登錄到 MySQL 服務中執行。

輸入密碼后,MySQL 會對 test 數據庫下的 student 數據表進行備份。之后就可以在指定路徑下查看剛才備份過的文件了。student.sql 文件中的部分內容如下:

-- MySQL dump 10.13  Distrib 5.7.29, for Win64 (x86_64)
--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version 5.7.29-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
--此處刪除了部分內容
--
-- Table structure for table `student`
--
DROP TABLE IF EXISTS `student`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `student` (
  `id` int(4) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `stuno` int(11) DEFAULT NULL,
  `age` int(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `student`
--
LOCK TABLES `student` WRITE;
/*!40000 ALTER TABLE `student` DISABLE KEYS */;
INSERT INTO `student` VALUES (1,'zhangsan',23,18),(2,'lisi',24,19),(3,'wangwu',25,18),(4,'zhaoliu',26,18);
/*!40000 ALTER TABLE `student` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
......
-- Dump completed on 2019-03-09 13:03:15

student.sql 文件開頭記錄了 MySQL 的版本、備份的主機名和數據庫名。

文件中,以“--”開頭的都是 SQL 語言的注釋。以 “/*!40101” 等形式開頭的是與 MySQL 有關的注釋。40101 是 MySQL 數據庫的版本號,這里就表示 MySQL 4.1.1。如果恢復數據時,MySQL 的版本比 4.1.1 高,“/*!40101”和“*/”之間的內容被當作 SQL 命令來執行。如果比 4.1.1 低,“/*!40101”和“*/”之間的內容被當作注釋。“/*!”和“*/”中的內容在其它數據庫中將被作為注釋忽略,這可以提高數據庫的可移植性。

DROP 語句、CREATE 語句和 INSERT 語句都是數據庫恢復時使用的;“DROP TABLE IF EXISTS 'student' ”語句用來判斷數據庫中是否還有名為 student 的表,如果存在,就刪除這個表;CREATE 語句用來創建 student 表;INSERT 語句用來恢復所有數據。文件的最后記錄了備份的時間。

注意:上面 student.sql 文件中沒有創建數據庫的語句,因此,student.sql 文件中的所有表和記錄必須恢復到一個已經存在的數據庫中。恢復數據時,CREATE TABLE 語句會在數據庫中創建表,然后執行 INSERT 語句向表中插入記錄。

執行完后,可以在 C:\下面看到名為 all.sql 的文件,這個文件中存儲著所有數據庫的信息。

以上是“備份數據庫的sql語句怎么寫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝州市| 双辽市| 健康| 洪江市| 克东县| 金阳县| 乌兰浩特市| 江孜县| 双辽市| 灌南县| 南乐县| 鹤庆县| 溧水县| 乌海市| 宣武区| 交口县| 门源| 台江县| 锦屏县| 芦山县| 淄博市| 平陆县| 甘德县| 广昌县| 偏关县| 镇原县| 龙井市| 林甸县| 葵青区| 岳西县| 新龙县| 手游| 莱芜市| 大关县| 大庆市| 汕头市| 涞源县| 灌南县| 颍上县| 祁东县| 衡东县|