MYSQL 資料庫操作基礎筆記

2021-07-17 05:24:19 字數 4447 閱讀 9435

一、基礎知識。

總目錄:

分章節(只列出重要章節):

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 表的名字 項的名字 資料型別,項的名字 資料型...