經常手動操作數據庫、建表、更改和查詢數據,脫離DBA發現很多問題自己以前沒搞過,慢慢總結下來,持續更新ing!!!!!
- \G結尾 ERROR:No query specified 問題
先檢查一下是否是寫成\G; \G本來就是結尾,再加上;所以纔會出錯。對了如果還不知道\G是幹什麼的,那運行下面的sql看一下吧。select * from 表名 limit 1\G
- mysql導出數據
經常遇到需要將sql語句的查詢結果保存下來,這個語句就可以了mysql -h*** -P3307 -uwork -p*** --default-character=utf8 數據庫名 -e"select id from test">test
-
mysql自動補全
用linux的時候想必大家都記住了按tab(自動補全),那mysql有沒有自動補全呢?肯定有啊,輸入幾個字母按下tab,mysql會將表的名字自動補全。有時候大家用的時候沒有效果,那是因爲沒有打開這個功能,打開這個功能的方法暫時我知道有兩個。
(1)編輯mysql的配置文件(vim /etc/my.cnf),如果不在這裏大家自己找吧,在裏面增加 auto-rehash
(2)連接mysql的時候加上參數log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character=utf8 #這裏哦 auto-rehash
例:
mysql -u******** -p***** --auto-rehash
- 有時候要向數據庫中insert或者update數據,數據少得時候手動一下方便,要是成千上萬條的話,入過沒有好的方式,那就太麻煩了。可以通過下面的命令。sql.year文件裏面是需要執行的語句。
mysql -h服務器 -u用戶名 -p密碼 --default-character=utf8 -P3306 vipmember <sql.year
-
建表的時候指定長度做什麼?
我們建表的時候經常指定int(2) ,括號內的數值是顯示寬度,用於顯示寬度小於指定的列寬度的值時從左側填滿寬度。例如,INT(5) ZEROFILL的列,值4檢索爲00004。