一、基礎知識。
總目錄:
分章節(只列出重要章節):
1、(索引)
2、(連線查詢)
3、(資料備份與還原)
二、其他資料庫的操作。
2.1、檢視資料庫具體table的大小,以及條目總數。檢視資料庫_name = school table_name = student的條目總數+大小。
select table_name, data_length+index_length, table_rows from information_schema.tables where table_schema='school' and table_name='student';
select table_name, concat(round((data_length+index_length)/1024/1024, 2), 'mb'), table_rows from information_schema.tables where table_schema='school' and table_name='student';
下面的是帶上單位的。且還計算了index的大小。
2.2、檢視資料庫的某個database的大小。
select sum(data_length)+sum(index_length) from information_schema.tables where table_schema='school';
select concat(round((sum(data_length)+sum(index_length))/1024/1024, 2), 'mb') from information_schema.tables where table_schema='school';
下面的是帶上單位的sql語句。可以計算出資料庫的大小。
三、關於資料庫備份的詳細解釋。
sqlite資料庫的匯入和匯出
>>匯出
(1)整體的匯出:
sqlite3 data.db
>.output data.sql
>.dump
這樣就將整個db檔案匯出成了sql檔案。sql檔案,是一系列sql語句,並有資料的插入。
或者是將data.db直接匯出為data1.db:
sqlite3 data.db ".dump" |sqlite3 data1.db
這個實際上只是做了乙個備份。
(2)單個**的匯出:
sqlite3 data.db "select * from data_txt_table" > data_txt_table.txt
將data.db中的**data_txt_table匯入到*.txt檔案中去,下圖就是匯出的類似格式。
sqlite資料庫的匯入和匯出 - 東九_西十二 - 東九_西十二的部落格
sqlite3 -html data.db "select * from data_txt_table" > data_txt_table.html
就是將資料庫中的**匯出為html格式的檔案
《匯入(1)整體的匯入:
先建立乙個新資料庫,比如是mydb.db。然後將先前生成的sql檔案全部匯入進來。
sqlite3 mydb.db
>.read dd.sql
(2)單個**匯入:
先判斷匯入檔案的資料分割的格式,比如上面截圖中所示,分割的格式是" | "
sqlite> .separator "|"
sqlite> .import data_txt_table.txt data_txt_table
這樣就成功匯入了。
參考:sqlite的資料匯入 匯出
sqlite表結構和資料的匯入匯出
基本的使用方法總結:
mysql資料庫的備份筆記。
1 匯出所有庫
系統命令行
mysqldump -uusername -ppassword --all-databases > all.sql
2 匯入所有庫
mysql命令列
mysql>source all.sql;
3 匯出某些庫
系統命令行
mysqldump -uusername -ppassword --databases db1db2 > db1db2.sql
4 匯入某些庫
mysql命令列
mysql>source db1db2.sql;
5 匯入某個庫
系統命令行
mysql -uusername -ppassword db1 < db1.sql;
或mysql命令列
mysql>source db1.sql;
備份的*.sql檔案裡使用的編碼,要與資料庫設定的編碼完全一致。
6 匯出某些資料表
系統命令行
mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql
7 匯入某些資料表
系統命令行
mysql -uusername -ppassword db1 < tb1tb2.sql
或mysql命令列
mysql>
user db1;
source tb1tb2.sql;
8 mysqldump字符集設定
mysqldump -uusername -ppassword --default-character-set=gb2312 db1 table1 > tb1.sql
注意:1)對於某些情況下,需要設定資料庫的字符集,要不然會出現亂碼;
2)一定分開處理正式執行環境的資料庫,和test的資料庫,最好是在test資料庫上操作後,再去操作正式執行的資料庫;
3)對於某些版本的mysql,上面3中的命令匯出的*.sql檔案裡的內容的開頭如下:
create database /*!32312 if not exists*/ `g17_00` /*!40100 default character set utf8 */;
use `g17_00`;
---- table structure for table `auth_group`
--上面這個檔案我是從g17_00資料庫匯出的。如果再對該檔案執行mysql -uusername -ppassword db1 < db1.sql; 實際上最後生成的
資料還是g17_00。這個對於g17_00的備份和還原,這個是合理的。
但是如果我是想把g17_00完全複製到g17_01,那麼我就必須要改上面*.sql檔案開頭中的g17_00為g17_01,這樣最後通過該sql檔案匯入的結果就是將g17_00複製為g17_01了。
4)上面3)舉的例子是備份一整個資料庫,其實還可以針對某個表進行備份。
四、mysql中關於表的備份和複製。
1、
create table targettable like sourcetable;insert into targettable select
*from sourcetable
;
2、
show create table runoob_tbl;
create table ***;// 建立表clone_tbl
mysql> insert into clone_tbl (runoob_id,
-> runoob_title,
-> runoob_author,
-> submission_date)
-> select runoob_id,runoob_title,
-> runoob_author,submission_date
-> from runoob_tbl;
具體參考:
mysql複製表
MySQL 資料庫基礎操作
1.建立資料庫 建立乙個名為db1的資料庫 create database db1 tips 當我們建立資料庫沒有指定字符集和校驗規則時,系統使用預設字符集 utf8 檢視系統支援的字符集 show charset 建立乙個使用utf8字符集的資料庫 create database test1 ch...
MySQL資料庫基礎操作
net start mysql net stop mysql mysql u 登入賬戶名 預設情況下是root p 登入密碼 或者 mysql u 登入賬戶名 預設情況下是root p 回車 在系統提示的password後面輸入你的 登入密碼 mysql h ip u 登入賬戶名 預設情況下是roo...
MySQL資料庫基礎操作
1.使用 create 命令建立資料庫,語法如下 create database 資料庫名 此處的資料庫名不需要加雙引號2.資料庫的刪除 drop database 資料庫名 3.資料庫的選擇 use 資料庫名 4.建立資料表 create table 表的名字 項的名字 資料型別,項的名字 資料型...