自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個節(jié)省時間的MySQL命令

數(shù)據(jù)庫 MySQL
編者在工作中積累起來了一些MySQL命令行客戶端技巧,這些技巧或多或少會幫助您節(jié)省大量的時間。

雖然有許多基于GUI的MySQL客戶端存在,如著名的phpMyAdmin和SQLYog,但我一直喜歡原生的MySQL命令行客戶端,的確,在未熟悉這些命令行接口(CLI)之前,我們需要花一些時間來熟悉它們,特別是你平時不是經(jīng)常在具有強大的CLI環(huán)境的操作系統(tǒng)下工作時,但只要經(jīng)過一些練習,你就可以通過CLI管理用戶,瀏覽你的數(shù)據(jù)庫和執(zhí)行其它任務,其快感是其它人體會不到的。

在這篇文章中,我將會介紹我在工作中積累起來的一些MySQL命令行客戶端技巧,不管你嘗試其中一個還是所有技巧,我敢保證你一定會節(jié)省大量的時間。

順便提一下,MySQL命令行客戶端適應所有操作系統(tǒng),當然包括Windows,但因為Windows原生CLI環(huán)境讓人畏懼,因此推薦Windows用戶下載并安裝Console,它是Windows命令行的一個替代解決方案,提供了更強大的功能,如方便的文本選擇,多標簽窗口等。

1、登錄過程自動化

正確配置的MySQL服務器需要你提供用戶名和密碼進行身份驗證,通常情況下,我們可以直接在mysql命令后加上用戶名,出于安全考慮,密碼就不跟上了,回車執(zhí)行時,命令提示符會提醒你輸入密碼。

  1. %>mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. ...

通過這一個小小的改進,一年可以少輸入幾千次用戶名,累計起來在登錄時間上可以節(jié)省幾個小時,創(chuàng)建一個.my.cnf文件,將其放在你的home目錄下,如果是Windows,文件名則為my.ini,并且要放在MySQL安裝目錄下,在這個文件中,添加下面的代碼,請使用你的登錄信息替換占位符。

  1. [client] host = your_mysql_server user = your_username password = your_password

一定要正確設置這個文件的權(quán)限,防止敏感數(shù)據(jù)被偷窺。

2、自動切換數(shù)據(jù)庫

登錄客戶端后,你需要切換到目標數(shù)據(jù)庫,通常我們會使用下面這個命令來切換數(shù)據(jù)庫:

  1. mysql>use wjgilmore_dev;

如果你想登錄后自動切換到目標數(shù)據(jù)庫,可以在上一步介紹的文件中添加下面的命令,注意位置也要放在[client]小節(jié):

  1. database = your_database_name

3、從腳本發(fā)送命令

設計一個新數(shù)據(jù)庫時,我喜歡使用MySQL Workbench(MySQL工作臺)設計模式和關系,它是一個特別強大的工具,你可以在圖形界面下管理你的模式,然后同步到MySQL服務器,或?qū)QL命令導出到一個文件,方便以后再導入到MySQL。

如果你喜歡手寫代碼,如創(chuàng)建大量的存儲過程,或執(zhí)行一個很長的連接,你可以將SQL保存為一個文件,然后將這個文件傳遞給客戶端執(zhí)行,如:

  1. %>mysql < schema.sql

當然你需要指定連接字符串,或象前面一樣通過配置文件來指定。

4、垂直顯示結(jié)果

即使是很簡單的表模式,也會包含幾列字段,例如下面的表由11個字段組成,當我執(zhí)行一個全結(jié)構(gòu)查詢時,輸入結(jié)果如下:

  1. mysql> select * from accounts where username = 'wjgilmore';
  2. +----+-----------+------------------+------------------------------
  3. ----+----------+-----------+------------+-----------+--------------
  4. --------------------+---------------------+---------------------+
  5. | id | username | email | password | zip_code | latitude | longitude | confirmed | recovery | created_on | last_login |
  6. +----+-----------+------------------+-------------------------------
  7. ---+----------+-----------+------------+-----------+-----------------
  8. -----------------+---------------------+---------------------+
  9. | 7 | wjgilmore | wj@wjgilmore.com | 2b877b4b825b48a9a0950dd5bd1f264d | 43201 | 39.984577 | -83.018692 | 1 | 8bnnwtqlt2289q2yp81tuge82fty501h | 2010-09-16 14:48:41 | 2010-10-27 15:49:44 |
  10. +----+-----------+------------------+----------------------------------
  11. +----------+-----------+------------+-----------+----------------------
  12. ------------+---------------------+---------------------+

顯然我們不能接受,也無法閱讀這種顯示結(jié)果,使用G命令將上面丑陋的顯示結(jié)果轉(zhuǎn)換為垂直型。

  1. mysql> select * from accounts where username = 'wjgilmore'G
  2. *************************** 1. row ***************************
  3. id: 7 username: wjgilmore email: wj@wjgilmore.com
  4. password: 2b877b4b825b48a9a0950dd5bd1f264d zip_code: 43201
  5. latitude: 39.984577 longitude: -83.018692
  6. confirmed: 1 recovery: 8bnnwtqlt2289q2yp81tuge82fty501h
  7. created_on: 2010-09-16 14:48:41 last_login: 2010-10-27 15:49:44

這樣看起來就更舒服一點。
 

5、啟用Tab鍵自動完成功能

重復輸入表名和字段名無疑是很乏味的,給mysql客戶端傳遞一個--auto-rehash參數(shù),或是在my.ini文件中添加下面的命令來啟用Tab鍵自動完成功能。

  1. [mysql] auto-rehash

6、改變提示符

我不止一次想查看或修改被告知表不存在的模式,遇到這種情況我常常會很恐懼,大多數(shù)時候我登錯數(shù)據(jù)庫,導致錯誤地刪除不該刪除的表,通過修改MySQL客戶端提示符,讓它顯示當前操作的數(shù)據(jù)庫名字,從而避免誤操作,為了讓mysql客戶端具備這種交互性,登錄后執(zhí)行下面的命令即可:

  1. mysql>prompt [d]> [dev_wjgilmore_com]>

你可能希望***保持這種效果,簡單,只需要將下面的命令添加到你的配置文件中即可:

  1. prompt = [d]>

當然不僅限于提示數(shù)據(jù)庫名字,還可以顯示當前日期和時間,主機名和用戶名,請閱讀MySQL手冊了解更全面的信息。

7、使用安全更新預防災難

前面我也提到,當表被意外刪除時可能會引起恐懼,我相信不止我一個人有類似的經(jīng)歷,除了不小心執(zhí)行了DROP TABLE外,更讓人崩潰的是忽略WHERE子句的UPDATE命令,例如,假設你想使用下面的命令修改用戶的用戶名:

  1. mysql>UPDATE users set User = 'wjgilmore' WHERE User = 'wjgilmore-temp';

但當你沖忙地想出去吃飯時,可能忘記敲入后面的WHERE子句

  1. mysql>UPDATE users set User = 'wjgilmore';

一旦你按下回車,后果就很嚴重,users表中所有用戶的用戶名全部被修改為wjgilmore了,為了避免這種低級,但又會帶來災難性后果的錯誤,請在配置文件中添加下面的命令:

  1. safe-updates

8、使用命令文檔

許多用戶都知道m(xù)ysql客戶端的內(nèi)置文檔,輸入help命令時,它會顯示一長串的命令列表。

  1. mysql>help
  2. ... List of all MySQL commands: Note that all text commands must be
  3. first on line and end with ';' ? (?) Synonym
  4. for `help'. clear (c) Clear the current input statement.
  5. connect (r) Reconnect to the server. Optional arguments are db and host. delimiter (d)
  6. Set statement delimiter. ...

如果你不知道DESCRIBE命令如何使用,只需要輸入

  1. mysql>help describe;
  2. Name: 'DESCRIBE' Description: Syntax:
  3. {DESCRIBE | DESC} tbl_name [col_name | wild] DESCRIBE provides information about the columns in a table.
  4. It is a shortcut for SHOW COLUMNS FROM. These statements also display information for views. (See [HELP SHOW COLUMNS].) ...

9、使用Pager

有時你可能想查看表的某一行數(shù)據(jù),但在屏幕上往往會顯示滿屏的數(shù)據(jù),除了使用LIMIT子句外,開啟客戶端pager,設置你的系統(tǒng)分頁實用程序:

  1. mysql>pager more PAGER set to 'more'

如果要禁用pager,執(zhí)行nopager命令即可。

10、將輸出內(nèi)容轉(zhuǎn)儲到文件

你可能偶爾需要將SQL執(zhí)行結(jié)果輸出到一個文本文件,可以使用SELECT INTO OUTFILE command命令達到目的,或直接在mysql客戶端中啟用tee命令,并制定輸出文件實現(xiàn)同樣的功能,如:

  1. mysql>tee sales_report.txt

小結(jié)

不管你是挑選其中一部分還是嘗試這10個技巧,它們都會為你節(jié)省大量的時間和精力,并會減輕你的痛苦,如果你知道其它MySQL命令行技巧,不妨在評論中一起分享一下吧!

原文出處:http://www.developer.com/db/10-command-line-timesavers-for-mysql-tasks.html

【編輯推薦】

  1. MySQL數(shù)據(jù)庫集群進行正確配置步驟
  2. MySQL 集群在Server1與Server2上如何安裝MySQL
  3. MySQL集群配置
  4. MySQL集群自動安裝腳本
  5. MySQL觸發(fā)器如何正確使用
責任編輯:艾婧 來源: IT168
相關推薦

2024-05-13 12:36:51

Python代碼

2022-12-26 17:33:43

Jupyterpython

2022-05-02 17:52:53

Python編程語言

2011-08-01 09:36:53

Linux管理員

2011-07-29 10:32:09

Linux管理員命令行

2022-04-13 13:51:12

DevSecOps工具開發(fā)管道

2022-12-19 15:25:22

Linux命令

2020-04-27 11:11:54

數(shù)據(jù)湖數(shù)據(jù)人工智能

2020-01-16 10:20:45

piwheels樹莓派Linux

2020-02-27 15:53:01

開發(fā)技能代碼

2011-09-29 11:33:35

Linux

2023-09-18 11:32:37

Python計算

2020-03-10 10:12:14

CIO自動化人力資源

2023-08-13 16:46:36

2022-05-23 15:38:28

Windows 11Windows 10微軟

2009-08-24 08:59:10

IT白領網(wǎng)絡應用

2018-07-09 09:00:00

開源網(wǎng)絡管理操作系統(tǒng)

2018-07-03 10:33:51

服務器運維Linux

2021-06-11 08:00:00

人工智能航空工具

2019-11-08 10:27:11

Linux鍵盤快捷鍵
點贊
收藏

51CTO技術(shù)棧公眾號