[Sqlite]--)数据迁移备份--从低版本3.6.2到高版本3.8.6
数据迁移 一, 使用.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>
至此,整个数据迁移工作顺利结束。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











0. Apakah fungsi artikel ini? Kami mencadangkan DepthFM: model anggaran kedalaman monokular generatif yang serba boleh dan pantas. Sebagai tambahan kepada tugas anggaran kedalaman tradisional, DepthFM juga menunjukkan keupayaan terkini dalam tugas hiliran seperti mengecat kedalaman. DepthFM cekap dan boleh mensintesis peta kedalaman dalam beberapa langkah inferens. Mari kita baca karya ini bersama-sama ~ 1. Tajuk maklumat kertas: DepthFM: FastMonocularDepthEstimationwithFlowMatching Pengarang: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

DDREASE ialah alat untuk memulihkan data daripada fail atau peranti sekat seperti cakera keras, SSD, cakera RAM, CD, DVD dan peranti storan USB. Ia menyalin data dari satu peranti blok ke peranti lain, meninggalkan blok data yang rosak dan hanya memindahkan blok data yang baik. ddreasue ialah alat pemulihan yang berkuasa yang automatik sepenuhnya kerana ia tidak memerlukan sebarang gangguan semasa operasi pemulihan. Selain itu, terima kasih kepada fail peta ddasue, ia boleh dihentikan dan disambung semula pada bila-bila masa. Ciri-ciri utama lain DDREASE adalah seperti berikut: Ia tidak menimpa data yang dipulihkan tetapi mengisi jurang sekiranya pemulihan berulang. Walau bagaimanapun, ia boleh dipotong jika alat itu diarahkan untuk melakukannya secara eksplisit. Pulihkan data daripada berbilang fail atau blok kepada satu

Mengenai Llama3, keputusan ujian baharu telah dikeluarkan - komuniti penilaian model besar LMSYS mengeluarkan senarai kedudukan model besar Llama3 menduduki tempat kelima, dan terikat untuk tempat pertama dengan GPT-4 dalam kategori Bahasa Inggeris. Gambar ini berbeza daripada Penanda Aras yang lain Senarai ini berdasarkan pertempuran satu lawan satu antara model, dan penilai dari seluruh rangkaian membuat cadangan dan skor mereka sendiri. Pada akhirnya, Llama3 menduduki tempat kelima dalam senarai, diikuti oleh tiga versi GPT-4 dan Claude3 Super Cup Opus yang berbeza. Dalam senarai tunggal Inggeris, Llama3 mengatasi Claude dan terikat dengan GPT-4. Mengenai keputusan ini, ketua saintis Meta LeCun sangat gembira, tweet semula dan

Prestasi JAX, yang dipromosikan oleh Google, telah mengatasi Pytorch dan TensorFlow dalam ujian penanda aras baru-baru ini, menduduki tempat pertama dalam 7 penunjuk. Dan ujian tidak dilakukan pada TPU dengan prestasi JAX terbaik. Walaupun dalam kalangan pembangun, Pytorch masih lebih popular daripada Tensorflow. Tetapi pada masa hadapan, mungkin lebih banyak model besar akan dilatih dan dijalankan berdasarkan platform JAX. Model Baru-baru ini, pasukan Keras menanda aras tiga hujung belakang (TensorFlow, JAX, PyTorch) dengan pelaksanaan PyTorch asli dan Keras2 dengan TensorFlow. Pertama, mereka memilih satu set arus perdana

1. Buka aplikasi WeChat pada peranti lama, klik [Saya] di penjuru kanan sebelah bawah, pilih fungsi [Settings] dan klik [Chat]. 2. Pilih [Chat History Migration and Backup], klik [Migrate], dan pilih platform yang anda ingin pindahkan peranti. 3. Klik [Pilih sembang untuk dipindahkan], klik [Pilih semua] di penjuru kiri sebelah bawah, atau pilih rekod sembang sendiri. 4. Selepas memilih, klik [Mula] di sudut kanan bawah untuk log masuk ke akaun WeChat ini menggunakan peranti baharu. 5. Kemudian imbas kod QR untuk mula memindahkan rekod sembang Pengguna hanya perlu menunggu pemindahan selesai.

Membuat sandaran dan memulihkan pangkalan data MySQL dalam PHP boleh dicapai dengan mengikuti langkah berikut: Sandarkan pangkalan data: Gunakan arahan mysqldump untuk membuang pangkalan data ke dalam fail SQL. Pulihkan pangkalan data: Gunakan arahan mysql untuk memulihkan pangkalan data daripada fail SQL.

Menghadapi ketinggalan, sambungan data mudah alih perlahan pada iPhone? Biasanya, kekuatan internet selular pada telefon anda bergantung pada beberapa faktor seperti rantau, jenis rangkaian selular, jenis perayauan, dsb. Terdapat beberapa perkara yang boleh anda lakukan untuk mendapatkan sambungan Internet selular yang lebih pantas dan boleh dipercayai. Betulkan 1 – Paksa Mulakan Semula iPhone Kadangkala, paksa memulakan semula peranti anda hanya menetapkan semula banyak perkara, termasuk sambungan selular. Langkah 1 – Hanya tekan kekunci naikkan kelantangan sekali dan lepaskan. Seterusnya, tekan kekunci Turun Kelantangan dan lepaskannya semula. Langkah 2 - Bahagian seterusnya proses adalah untuk menahan butang di sebelah kanan. Biarkan iPhone selesai dimulakan semula. Dayakan data selular dan semak kelajuan rangkaian. Semak semula Betulkan 2 – Tukar mod data Walaupun 5G menawarkan kelajuan rangkaian yang lebih baik, ia berfungsi lebih baik apabila isyarat lemah

Video terbaru robot Tesla Optimus dikeluarkan, dan ia sudah boleh berfungsi di kilang. Pada kelajuan biasa, ia mengisih bateri (bateri 4680 Tesla) seperti ini: Pegawai itu juga mengeluarkan rupanya pada kelajuan 20x - pada "stesen kerja" kecil, memilih dan memilih dan memilih: Kali ini ia dikeluarkan Salah satu sorotan video itu ialah Optimus menyelesaikan kerja ini di kilang, sepenuhnya secara autonomi, tanpa campur tangan manusia sepanjang proses. Dan dari perspektif Optimus, ia juga boleh mengambil dan meletakkan bateri yang bengkok, memfokuskan pada pembetulan ralat automatik: Berkenaan tangan Optimus, saintis NVIDIA Jim Fan memberikan penilaian yang tinggi: Tangan Optimus adalah robot lima jari di dunia paling cerdik. Tangannya bukan sahaja boleh disentuh
