Table of Contents
数据迁移
Home Database Mysql Tutorial [Sqlite]--)数据迁移备份--从低版本3.6.2到高版本3.8.6

[Sqlite]--)数据迁移备份--从低版本3.6.2到高版本3.8.6

Jun 07, 2016 pm 04:01 PM
sqlite backup data Version migrate

数据迁移 一, 使用.dump命令 命令帮助提示 .dump ?TABLE? ... Dump the database in an SQL text format If TABLE specified, only dump tables matching LIKE pattern TABLE. 理解分析: 默认情况下.dump 命令的输出定向到屏幕。如:.dump 如果要将输出重

数据迁移

一, 使用.dump命令

命令帮助提示

.dump ?TABLE? ... Dump the database in an SQL text format

If TABLE specified, only dump tables matching

LIKE pattern TABLE.

理解分析:

默认情况下.dump 命令的输出定向到屏幕。如:.dump

如果要将输出重定向到文件,请使用.dump[filename]命令,此命令将所有的输出重定向到指定的文件中。若要恢复到屏幕的输出,只需要执行.output stdout命令就OK了。

sqlite>.output file.sql

sqlite>.dump

sqlite>.output stdout

注:如果file.sql不存在,将在当前工作目录中创建该文件。如果文件存在,它将被覆盖。

二,准备测试数据:

CREATE TABLE COMPANY(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2));

INSERT INTO COMPANY

SELECT 1, 'Paul', 32, 'California' ,20000.0 UNION ALL

SELECT 2, 'Allen', 25, 'Texas' ,15000.0 UNION ALL

SELECT 3, 'Teddy', 23, 'Norway' ,20000.0 UNION ALL

SELECT 4, 'Mark', 25, 'Rich-Mond' ,65000.0 UNION ALL

SELECT 5, 'David', 27, 'Texas' ,85000.0 UNION ALL

SELECT 6, 'Kim', 22, 'South-Hall' ,45000.0 UNION ALL

SELECT 7, 'James', 24, 'Houston' ,10000.0 ;

SELECT * FROM COMPANY;

CREATE TABLE t1(id INT,NAME VARCHAR(20));

INSERT INTO t1 SELECT 1,'a' UNION ALL SELECT 2,'b' UNION ALL SELECT 3,'c';

将低版本的表修改表名为临时表COMPANY_TMP。

ALTER TABLE COMPANY RENAME TO COMPANY_TMP;

三,开始备份操作,在低版本3.6.2上面做备份:

[root@name01 ~]# /usr/bin/sqlite3.bak.3.6.2 tim

SQLite version 3.6.20

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite>

sqlite> .headers on

sqlite> .mode columns

sqlite> .output alltables.sql

sqlite> .dump

sqlite>.exit

四,查看生成的备份文件:

[root@name01 ~]# more alltables.sql

PRAGMA foreign_keys=OFF;

BEGIN TRANSACTION;

CREATE TABLE "COMPANY_TMP"(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2));

INSERT INTO "COMPANY_TMP" VALUES(1,'Paul',32,'California',20000);

INSERT INTO "COMPANY_TMP" VALUES(2,'Allen',25,'Texas',15000);

INSERT INTO "COMPANY_TMP" VALUES(3,'Teddy',23,'Norway',20000);

INSERT INTO "COMPANY_TMP" VALUES(4,'Mark',25,'Rich-Mond',65000);

INSERT INTO "COMPANY_TMP" VALUES(5,'David',27,'Texas',85000);

INSERT INTO "COMPANY_TMP" VALUES(6,'Kim',22,'South-Hall',45000);

INSERT INTO "COMPANY_TMP" VALUES(7,'James',24,'Houston',10000);

CREATE TABLE t1(id INT,NAME VARCHAR(20));

INSERT INTO "t1" VALUES(1,'a');

INSERT INTO "t1" VALUES(2,'b');

INSERT INTO "t1" VALUES(3,'c');

COMMIT;

[root@name01 ~]#

看到都是一条条备份成的dml、ddl的sql语句。

五,在高版本3.8.6上面恢复数据

1,在3.8.6上面建立相同的COMPANY表,不过多添加了2个字段IPHONE和LOGIN_DATE,如下所示:

DROP TABLE IF EXISTS COMPANY;

CREATE TABLE COMPANY(

ID INT NOT NULL,

NAME VARCHAR(20),

AGE INT,

ADDRESS VARCHAR(20),

SALARY DECIMAL(7,2),

IPHONE VARCHAR(16)

NOT NULL,LOGIN_DATE DATETIME

);

INSERT INTO COMPANY

SELECT 1, 'Paul', 32, 'California' ,20000.0,'14782121412',DATETIME('NOW') UNION ALL

SELECT 2, 'Allen', 25, 'Texas' ,15000.0,'13982121412',DATETIME('NOW') ;

SELECT * FROM COMPANY;

2, 开始恢复导入原来备份的数据sql脚本

[root@name01 ~]# sqlite3 ti

SQLite VERSION 3.8.6 2014-08-15 11:46:33

Enter ".help" FOR USAGE hints.

sqlite> .headers ON

sqlite> .MODE COLUMNS

sqlite> .READ alltables.sql

sqlite> .TABLE

COMPANY COMPANY_TMP t1

sqlite>

3,在数据迁移从旧临时表迁移到新表之前,查下现有表的数据

sqlite>SELECT * FROM COMPANY;

ID NAME AGE ADDRESS SALARY IPHONE LOGIN_DATE

---------- ---------- ---------- ---------- ---------- ----------- -------------------

1 Paul 32 California 20000 14782121412 2014-08-29 11:14:07

2 Allen 25 Texas 15000 13982121412 2014-08-29 11:14:07

sqlite>

4,开始使用INSERT迁移数据到新添加字段的表COMPANY

sqlite> INSERT INTO COMPANY(ID,NAME,AGE,ADDRESS,SALARY,IPHONE) SELECT ID,NAME,AGE,ADDRESS,SALARY,'' FROM COMPANY_TMP ;

sqlite> SELECT * FROM COMPANY;

ID NAME AGE ADDRESS SALARY IPHONE LOGIN_DATE

---------- ---------- ---------- ---------- ---------- ----------- -------------------

1 Paul 32 California 20000 14782121412 2014-08-29 11:14:07

2 Allen 25 Texas 15000 13982121412 2014-08-29 11:14:07

1 Paul 32 California 20000

2 Allen 25 Texas 15000

3 Teddy 23 Norway 20000

4 Mark 25 Rich-Mond 65000

5 David 27 Texas 85000

6 Kim 22 South-Hall 45000

7 James 24 Houston 10000

sqlite>

看到迁移数据之后的显示,旧表数据已经迁移到新表了。

六,最后删除旧的临时表

sqlite> DROP TABLE IF EXISTS COMPANY_TMP;

sqlite>

至此,整个数据迁移工作顺利结束。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1266
29
C# Tutorial
1239
24
Open source! Beyond ZoeDepth! DepthFM: Fast and accurate monocular depth estimation! Open source! Beyond ZoeDepth! DepthFM: Fast and accurate monocular depth estimation! Apr 03, 2024 pm 12:04 PM

0.What does this article do? We propose DepthFM: a versatile and fast state-of-the-art generative monocular depth estimation model. In addition to traditional depth estimation tasks, DepthFM also demonstrates state-of-the-art capabilities in downstream tasks such as depth inpainting. DepthFM is efficient and can synthesize depth maps within a few inference steps. Let’s read about this work together ~ 1. Paper information title: DepthFM: FastMonocularDepthEstimationwithFlowMatching Author: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Use ddrescue to recover data on Linux Use ddrescue to recover data on Linux Mar 20, 2024 pm 01:37 PM

DDREASE is a tool for recovering data from file or block devices such as hard drives, SSDs, RAM disks, CDs, DVDs and USB storage devices. It copies data from one block device to another, leaving corrupted data blocks behind and moving only good data blocks. ddreasue is a powerful recovery tool that is fully automated as it does not require any interference during recovery operations. Additionally, thanks to the ddasue map file, it can be stopped and resumed at any time. Other key features of DDREASE are as follows: It does not overwrite recovered data but fills the gaps in case of iterative recovery. However, it can be truncated if the tool is instructed to do so explicitly. Recover data from multiple files or blocks to a single

750,000 rounds of one-on-one battle between large models, GPT-4 won the championship, and Llama 3 ranked fifth 750,000 rounds of one-on-one battle between large models, GPT-4 won the championship, and Llama 3 ranked fifth Apr 23, 2024 pm 03:28 PM

Regarding Llama3, new test results have been released - the large model evaluation community LMSYS released a large model ranking list. Llama3 ranked fifth, and tied for first place with GPT-4 in the English category. The picture is different from other benchmarks. This list is based on one-on-one battles between models, and the evaluators from all over the network make their own propositions and scores. In the end, Llama3 ranked fifth on the list, followed by three different versions of GPT-4 and Claude3 Super Cup Opus. In the English single list, Llama3 overtook Claude and tied with GPT-4. Regarding this result, Meta’s chief scientist LeCun was very happy and forwarded the tweet and

Google is ecstatic: JAX performance surpasses Pytorch and TensorFlow! It may become the fastest choice for GPU inference training Google is ecstatic: JAX performance surpasses Pytorch and TensorFlow! It may become the fastest choice for GPU inference training Apr 01, 2024 pm 07:46 PM

The performance of JAX, promoted by Google, has surpassed that of Pytorch and TensorFlow in recent benchmark tests, ranking first in 7 indicators. And the test was not done on the TPU with the best JAX performance. Although among developers, Pytorch is still more popular than Tensorflow. But in the future, perhaps more large models will be trained and run based on the JAX platform. Models Recently, the Keras team benchmarked three backends (TensorFlow, JAX, PyTorch) with the native PyTorch implementation and Keras2 with TensorFlow. First, they select a set of mainstream

How to migrate WeChat chat history to a new phone How to migrate WeChat chat history to a new phone Mar 26, 2024 pm 04:48 PM

1. Open the WeChat app on the old device, click [Me] in the lower right corner, select the [Settings] function, and click [Chat]. 2. Select [Chat History Migration and Backup], click [Migrate], and select the platform to which you want to migrate the device. 3. Click [Select chats to be migrated], click [Select all] in the lower left corner, or select chat records yourself. 4. After selecting, click [Start] in the lower right corner to log in to this WeChat account using the new device. 5. Then scan the QR code to start migrating chat records. Users only need to wait for the migration to complete.

How to use MySQL backup and restore in PHP? How to use MySQL backup and restore in PHP? Jun 03, 2024 pm 12:19 PM

Backing up and restoring a MySQL database in PHP can be achieved by following these steps: Back up the database: Use the mysqldump command to dump the database into a SQL file. Restore database: Use the mysql command to restore the database from SQL files.

Slow Cellular Data Internet Speeds on iPhone: Fixes Slow Cellular Data Internet Speeds on iPhone: Fixes May 03, 2024 pm 09:01 PM

Facing lag, slow mobile data connection on iPhone? Typically, the strength of cellular internet on your phone depends on several factors such as region, cellular network type, roaming type, etc. There are some things you can do to get a faster, more reliable cellular Internet connection. Fix 1 – Force Restart iPhone Sometimes, force restarting your device just resets a lot of things, including the cellular connection. Step 1 – Just press the volume up key once and release. Next, press the Volume Down key and release it again. Step 2 – The next part of the process is to hold the button on the right side. Let the iPhone finish restarting. Enable cellular data and check network speed. Check again Fix 2 – Change data mode While 5G offers better network speeds, it works better when the signal is weaker

Tesla robots work in factories, Musk: The degree of freedom of hands will reach 22 this year! Tesla robots work in factories, Musk: The degree of freedom of hands will reach 22 this year! May 06, 2024 pm 04:13 PM

The latest video of Tesla's robot Optimus is released, and it can already work in the factory. At normal speed, it sorts batteries (Tesla's 4680 batteries) like this: The official also released what it looks like at 20x speed - on a small "workstation", picking and picking and picking: This time it is released One of the highlights of the video is that Optimus completes this work in the factory, completely autonomously, without human intervention throughout the process. And from the perspective of Optimus, it can also pick up and place the crooked battery, focusing on automatic error correction: Regarding Optimus's hand, NVIDIA scientist Jim Fan gave a high evaluation: Optimus's hand is the world's five-fingered robot. One of the most dexterous. Its hands are not only tactile

See all articles