1. 儘力使用sql語句進行資料庫操作,而不是使用可視化操作工具,因為有一天你會突然發現,sql語句都忘掉了,這是一件很悲哀的事情。
2. sql語句敲錯了以後,錯誤提示非常不明顯,所以儘力敲準確,我經常會因為一個 typo 浪費時間。
3. mysqldump5 -uroot -ppasswd database_name table_name;
使用 mysqladmin 命令列 修改 使用者名稱密碼的方式。最正確的格式如下:
mysqladmin -u root -p password 123456
接下來會提示
Enter password:
如果你是第一次登陸還沒修改過密碼,直接斷行符號就可以了(我使用的是mysql5.0版本,4.0以前版本初始密碼都是root)。
這是 root 密碼就修改成了 123456 。
4. 如果想實現不輸入密碼,使用參數一定要這樣: -ppasswd, 而不是這樣 -p passwd (passwd 是我們的密碼)
5. sql 語句記憶法則:對錶格結構操作的指令:create alter drop 後面要加 table table_name;
對資料操作的指令:update insert into delete from 直接加 table_name;
6. 顯示warning:
show warnings;
7.在mysql下執行Shell 指令, mysql> \! ls;
8.查詢null的時候:
select * from table_name where col is null;
9. Reset auto_increment ALTER
TABLE tablename AUTO_INCREMENT = 1
10. 查看資料庫版本: select @@version;
11. ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
解決方案:
1) 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2) 授權法。例如,你想myuser使用mypassword從任何主機串連到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許使用者myuser從ip為192.168.1.3的主機串連到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;
12. 刪除資料庫中 以 myprefix_開頭的所有表格:
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' ) AS statement FROM information_schema.tables WHERE table_name LIKE 'myprefix_%';
擷取到指令後,執行即可。
13. select 出來的資料存入文字檔中:
select * into outfile "/Users/rocco/a.txt" from xxx;
注意:路徑 /Users/rocco/ 必須mysql可寫,否則不會成功。
14. 匯出表格時候排除某個表 mysqldump -uxxx -pxxx --ignore-table=database.table1 --ignore-table=database.table2 > backup.sql
持續更新。。