本文目錄一覽:
如何通過Excel查詢MySQL數據庫
這裡介紹一種非常高效的方法。就是藉助Excel插件SqlCel,這個插件在處理數據上面有很多可取之處,非常值得學習。
比如在Excel中有一個訂單ID字段,這個字段總共有2千條記錄,現在我們要查詢這些訂單對應的產品名稱。
在Mysql數據庫中有一張訂單表裡面存儲了所有訂單的詳細信息。我們該怎樣操作才能最快速地查到每個訂單的產品名稱呢?
多數人的做法應該是把Excel中的數據導入到Mysql中,然後寫一個SQL語句匹配訂單表,然後把匹配結果再導出來。這種做法也是可以的,只是非常不方便,單是數據的導入可能就會遇到不少麻煩。用SqlCel處理這個問題就簡單了
插件安裝之後需要連接到Mysql數據庫,點擊“數據庫連接”下的Mysql,輸入連接信息。如下:
連接到數據庫之後,點擊“SQL查詢”進入數據查詢編輯器。
這個編輯器和我們平時使用的編輯器一樣,可以高亮顯示,智能提示,選取執行。同時它還有很多特別的地方,比如定義變量,引用變量、引用Excel單元格、指定數據的來源和去向等。這裡我們要說的是它的一個函數RNGTOSTR,這個函數用來將Excel單元格的值轉為字符串並拼接到SQL語句中。我們在編輯器中寫SQL語句如下:
SELECT DISTINCT PRODUCT_NAME,PRODUCT_ID FROM ORDER_TABLE WHERE PRODUCT_ID IN (‘rngtostr([Sheet1!A1:A1000],’\,’,true)’)
這樣一個SQL語句就可以把每一個產品ID對應的產品名稱查詢到當前Excel中了。
這裡面用到了一個函數rngtostr,放一張官網的截圖看一下具體的用法
如何查看mysql數據庫表裡的數據
一般情況下,mysql會默認提供多種存儲引擎,你可以通過下面的查看:
看你的mysql現在已提供什麼存儲引擎:
mysql
show
engines;
看你的mysql當前默認的存儲引擎:
mysql
show
variables
like
‘%storage_engine%’;
你要看某個表用了什麼引擎(在顯示結果里參數engine後面的就表示該表當前用的存儲引擎):
mysql
show
create
table
表名;
如何查看mysql數據庫
查看當前使用的數據庫,可使用如下命令
mysql select database(); #使用函數database()
mysql show tables; #列頭信息中可看出當前使用的db,格式為:Tables_in_[db_name]
mysql status; #注意結果中的”Current database:”信息
查看系統中有哪些數據庫,
mysql show databases;
更換當前使用的數據庫,
mysql use db_name;
返回當前數據庫下的所有表的名稱
mysql show tables;
或者直接用如下命令
mysql show tables from db_name;
查看錶結構,可使用如下命令
mysql desc 表名;
mysql describe 表名;
mysql show columns from 表名;
mysql show create table 表名;
或者,
mysql use information_schema
mysql select * from columns where table_name=’表名’;
15個 MySQL 菜鳥問題
問題1:你如何確定 MySQL 是否處於運行狀態?
答案: Debian 上運行命令 service mysql status,在RedHat 上運行命令 service mysqld status。然後看看輸出即可。
問題2:如何開啟或停止 MySQL 服務?
答案:運行命令 service mysqld start 開啟服務;運行命令 service mysqld stop 停止服務。
問題3:如何通過 Shell 登入 MySQL?
答案:運行命令 mysql -u root -p
問題4:如何列出所有數據庫?
答案:運行命令 show databases;
問題5: 如何切換到某個數據庫並在上面工作?
答案:運行命令 use database_name; 進入名為 database_name 的數據庫。
問題6:如何列出某個數據庫內所有表?
答案:在當前數據庫運行命令 show tables;
問題7:如何獲取表內所有 Field 對象的名稱和類型?
答案:運行命令 describe table_name;
問題8:如何刪除表?
答案:運行命令 drop table table_name;
問題9:如何刪除數據庫?
答案:運行命令 drop database database-name;
問題10:如何查看錶內所有數據?
答案:運行命令 select * from table_name;
問題11:如何從表(比如 oc_users )中獲取一個 field 對象(比如 uid)的所有數據?
答案:運行命令 select uid from oc_users;
問題12:假設你有一個名為 ‘xyz’ 的表,它存在多個字段,如 ‘createtime’ 和 ‘engine’。名為 engine 的字段由 ‘Memoty’ 和 ‘MyIsam’ 兩種數值組成。如何只列出 ‘createtime’ 和 ‘engine’ 這兩列並且 engine 的值為 ‘MyIsam’?
答案:運行命令 select create_time, engine from xyz where engine = ”MyIsam”;
問題13:如何列出表 ‘xrt’ 內 name 域值為 ‘tecmint’,web_address 域值為 ‘tecmint.com’ 的所有數據?
答案:運行命令 select * from xrt where name = “tecmint” and web_address = “tecmint.com”;
問題14:如何列出表 ‘xrt’ 內 name 域值不為 ‘tecmint’,web_address 域值為 ‘tecmint.com’ 的所有數據?
答案:運行命令 select * from xrt where name != “tecmint” and web_address = “tecmint.com”;
問題15:如何知道表內行數?
答案:運行命令 select count(*) from table_name;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240847.html