本文目錄一覽:
- 1、MySQL資料庫常用的搜索引擎有哪些,區別是什麼?
- 2、mysql資料庫
- 3、查詢mysql資料庫中所有表名
- 4、如何查看mysql有什麼資料庫
- 5、搞定MySQL資料庫中文模糊檢索問題
- 6、mysql 怎麼查詢資料庫是否有某個欄位
MySQL資料庫常用的搜索引擎有哪些,區別是什麼?
MyISAM、InnoDB、Heap(Memory)、NDB
貌似一般都是使用 InnoDB的,
mysql的存儲引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事務安全表,其他存儲引擎都是非事務安全表。
最常使用的2種存儲引擎:
1.Myisam是Mysql的默認存儲引擎,當create創建新表時,未指定新表的存儲引擎時,默認使用Myisam。每個MyISAM在磁碟上存儲成三個文件。文件名都和表名相同,擴展名分別是.frm(存儲表定義)、.MYD(MYData,存儲數據)、.MYI(MYIndex,存儲索引)。數據文件和索引文件可以放置在不同的目錄,平均分布io,獲得更快的速度。
2.InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是對比Myisam的存儲引擎,InnoDB寫的處理效率差一些並且會佔用更多的磁碟空間以保留數據和索引。
mysql資料庫
MySQL資料庫一般指MySQL,MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發。
mysql是目前網站以及APP應用上用得較多的一個開源的關係型資料庫系統,可以對數據進行保存,分段化的數據保存,也可以對其數據進行檢索,查詢等功能的資料庫。
默認的mysql資料庫中存有一個庫這個就是mysql的系統資料庫,可以對其保存系統的數據包括mysql資料庫的信息,資料庫root賬號,普通賬號,以及資料庫的名稱,還有資料庫的一些表還有一些數字型的數據類型結構都會有所保存。
mysql資料庫的優點
(1)MySQL資料庫是用C和C++語言編寫的,並且使用了多種編輯器進行測試,以保證源碼的可移植性。
(2)支持多個操作系統例如:Windows、Linux、Mac OS等等。
(3)支持多線程,可以充分的利用CPU資源。
(4)為多種編程語言提供API,包括C語言、Java、PHP、Python語言等。
(5)MySQL優化了SQL演算法,有效的提高了查詢速度。
(6)MySQL內提供了用於管理,檢查以及優化資料庫操作的管理工具。
(7)它能夠作為一個單獨的應用程序應用在客戶端伺服器網路環境中,也可以作為一個庫嵌入到其他的軟體中並提供多種語言支持。
查詢mysql資料庫中所有表名
查找所有表的語句
select table_name
from information_schema.tables
where table_schema=’當前資料庫’
mysql use mysql
Database changed
mysql show tables;
+—————————+
| Tables_in_mysql |
+—————————+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+—————————+
28 rows in set (0.05 sec)
show tables即為顯示當前資料庫中所有的表。
根據具體問題類型,進行步驟拆解/原因原理分析/內容拓展等。
具體步驟如下:/導致這種情況的原因主要是??
如何查看mysql有什麼資料庫
1、同時按下鍵盤上的win+r按鍵,調出運行框,並在彈出的運行框中輸入cmd後按下回車按鍵。
2、在彈出的頁面中輸入mysql -u root -p命令,並點擊鍵盤上的回車按鍵。
3、在彈出的頁面中輸入需要查詢的賬號的密碼並按下鍵盤上的回車按鍵。
4、這樣就可以查看到所有的資料庫。
搞定MySQL資料庫中文模糊檢索問題
在MySQL下,在進行中文模糊檢索時,經常會返回一些與之不相關的記錄,如查找「%a%」時,返回的可能有中文字元,卻沒有a字元存在。本人以前也曾遇到過類似問題,經詳細閱讀MySQL的Manual,發現可以有一種方法很方便的解決並得到滿意的結果。
例子:
希望通過「標題」對新聞庫進行檢索,關鍵字可能包含是中英文,如下SQL語句:
QUOTE:
select
id,title,name
from
achech_com.news
where
title
like
‘%a%’
返回的結果,某些title欄位確定帶了「a」關鍵字,而有些則只有中文,但也隨之返回在檢索結果中。
解決方法,使用BINARY屬性進行檢索,如:
QUOTE:
select
id,title,name
from
achech_com.news
where
binary
title
like
‘%a%’
返回的結果較之前正確,但英文字母區分大小寫,故有時在檢索如「Achech」及「achech」的結果是不一樣的。知道了使用BINARY屬性可以解
決前面這個問題,再看看MySQL支持的UCASE及CONCAT函數,其中UCASE是將英文全部轉成大寫,而CONCAT函數的作用是對字元進行連
接,以下是我們完全解決後的SQL語句:
QUOTE:
select
id,title,name
from
achech_com.news
where
binary
ucase(title)
like
concat(‘%’,ucase(‘a’),’%’)
檢索的步驟是先將屬性指定為BINARY,以精確檢索結果,而被like的title內容存在大小寫字母的可能,故先使用ucase函數將欄位內容全部
轉換成大寫字母,然後再進行like操作,而like的操作使用模糊方法,使用concat的好處是傳進來的可以是直接的關鍵字,不需要帶「%」萬用符,
將「’a’」直接換成你的變數,在任何語言下都萬事無憂了。當然你也可以這麼寫:
QUOTE:
select
id,title,name
from
achech_com.news
where
binary
ucase(title)
like
ucase(‘%a%’)
檢索的結果還算滿意吧,不過速度可能會因此而慢N毫秒。
mysql 怎麼查詢資料庫是否有某個欄位
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。
2、之後在該界面中,點擊左上角「新建查詢」選項。
3、接著在該界面中,輸入查詢資料庫是否有某個欄位的sql語句「select count(*) from information_schema.columns where table_name = ‘test1’ and column_name = ‘grade’」。
4、然後在該界面中,點擊左上方「執行」按鈕。
5、最後在該界面中,顯示查詢資料庫有某個欄位。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/289358.html