mysql學習總結

2021-09-08 17:08:26 字數 2492 閱讀 2646

一、innodb特點

優點:1、支援事務

2、行鎖

3、支援外來鍵

缺點:1、不支援全文索引

二、myisam

blob和text列可以被索引。

可以把資料檔案和索引檔案放在不同目錄,用data directory和index directory選項create table以獲得更高的速度

mysql備份:

1:mysqldump

幾個常用用例:

1.匯出整個資料庫

mysqldump -u 使用者名稱 -p 資料庫名 > 匯出的檔名

2.匯出乙個表

mysqldump -u 使用者名稱 -p 資料庫名 表名》 匯出的檔名

3.匯出乙個資料庫結構

-d 沒有資料 --add-drop-table 在每個create語句之前增加乙個drop table

4.匯入資料庫

常用source 命令

進入mysql資料庫控制台,

如mysql -u root -p

mysql>use 資料庫

然後使用source命令,後面引數為指令碼檔案(如這裡用到的.sql)

mysql>source d:\wcnc_db.sql

表複製:

create table a like b

此種方式在將表b複製到a時候會將表b完整的字段結構和索引複製到表a中來。

如果想複製資料可以在建立後用:

insert into table a  select * from b where ...

create table a as select x,x,x,xx from b limit 0

此種方式只會將表b的字段結構複製到表a中來,但不會複製表b中的索引到表a中來。這種方式比較靈活可以在複製原表表結構的同時指定要複製哪些字段,並且自身複製表也可以根據需要增加字段結構,及複製資料

兩種方式在複製表的時候均不會複製許可權對錶的設定。比如說原本對錶b做了許可權設定,複製後,表a不具備類似於表b的許可權。

1 檢視系統支援的儲存引擎

show engines;

2 檢視表使用的儲存引擎

兩種方法:

a、show table status from db_name where name='table_name';

b、show create table table_name;

如果顯示的格式不好看,可以用\g代替行尾分號

有人說用第二種方法不準確,我試了下,關閉掉原先預設的innodb引擎後根本無法執行show create table table_name指令,因為之前建的是innodb表,關掉後預設用myisam引擎,導致innodb表資料無法被正確讀取。

3 修改表引擎方法

alter table table_name engine=innodb;

4 關閉innodb引擎方法

關閉mysql服務: net stop mysql

找到mysql安裝目錄下的my.ini檔案:

找到default-storage-engine=innodb 改為default-storage-engine=myisam

找到#skip-innodb 改為skip-innodb

啟動mysql服務:net start mysql

mysql建立和刪除表

如何執行乙個mysql的sql指令碼檔案

平時sql語句比較短的情況下,可以通過在mysql shell 介面下一條條的執行並檢視輸出結果 。如果sql語句比較多的情況下,這種方法就不現實了 。只能通過直接執行sql檔案的方式 。

方法一:mysql 呼叫法

操作方式如下:

mysql –u

使用者名稱–p密碼

–d資料庫<【

sql指令碼檔案路徑全名】

如果想輸出到檔案,可以按下面的方式執行:

mysql 

–uroot

–p123456

-dtest

\test\ss

.sql

>d:

\dd.

txt

注:該方法在windows和linux平台下都可以 。

方法二:source 命令法

該方法是先登陸進入mysql控制台,並通過source 命令呼叫sql檔案 ,如:

mysql 

–uroot

–p123456

-dtest

mysql

>

source

/opt

/test

.sql

檢視:

MySql學習總結

mysql 5.1參考手冊 使用筆記 除標準sql語言外 1 啟動指令碼位置 選項檔案位置 如果使用rpm包安裝指令碼位置在 etc init.d mysqld 選項位置 etc my.cnf 2 啟動服務方法 啟動服務 service mysqld start 開機自動啟動 chkconfig m...

mysql學習總結

mysql常用命令 建立表a,複製表b的資料結構,不複製資料 create table a like b 複製表b的資料內容到表a中 前提是表a與表b資料結構一致 insert into a select from b 檢視表a的建立語句 show create table a 檢視表a的資料結構 ...

mySql 學習總結

今天基本完成了專案的模組的基本功能,剩下的就是對專案的吃透,對各種工具類的掌握,其中sql語句的書寫就顯得很重要了,特別是新的任務就是 寫乙個統計板塊,sql語句基本從網上各大扒,基本已經成型,上沒有完成的是對sql語句執行完之後得到的資料的封裝並且 給前端 現總結今天的sql函式 select s...