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
持续更新。。