今天看了下老男孩老师的《mysql数据库常用命令分享》,突然想起自己当初从一点基础都没有,到现在会那么一点皮毛了,现在把自己汇总的命令分享给大家,命令都是本人亲自实践过的,不是网上的复制粘贴。

 

  1. #常用命令# 
  2. 导出整个数据库结构和数据 
  3. mysqldump -uroot -p123456 database > dump.sql 
  4. 导出单个数据表结构和数据 
  5. mysqldump -uroot -p123456 database tablename > tablename.sql 
  6. 导出整个数据库结构(不包含数据,-d参数) 
  7. mysqldump -d -uroot -p123456 database > dump.sql 
  8. 导出单个数据表结构(不包含数据) 
  9. mysqldump -d -uroot -p123456 database table > dump.sql 
  10. 导出整个数据库数据(不包含结构,-t参数) 
  11. mysqldump -t -uroot -p123456 database > dump.sql 
  12. 导出部分表数据(忽略几张表,连同结构都会忽略,--ignore-table参数) 
  13. mysqldump -uroot -p123456 --ignore-table=database.tablename --ignore-table=database.tablename --ignore-table=database.tablename database > database.sql 
  14. 以一行一行形式导出数据(--skip-extended-insert参数) 
  15. mysqldump -uroot -p123456 --skip-extended-insert databae tablename >dump.sql 
  16. 导出数据库(记录:file和position记录的位置就是slave从master端复制文件的起始位置,此参数一般用于同步,--master-data=1参数) 
  17. mysqldump -uroot -p --master-data=1 database > database.sql 
  18. 根据某个条件导出数据(-w参数) 
  19. mysqldump -uroot -p123456 database table -w"条件语句(where后面的sql语句)">dump.sql 
  20. 脚本自动执行source命令方法(-e参数) 
  21. mysql(注意:是mysql,而不是mysqldump) -uroot -p123456 database -e "source xxx.sql" 
  22. 删除权限 
  23. REVOKE privileges ON 数据库名[.表名] FROM user_name 
  24. --ex:revoke select,lock tables on reed.* from reed@localhost identified by "reed";  
  25. 更改表字段 
  26. alter table 表名 modify 字段 varchar(20); 
  27. 删除字段 
  28. ALTER TABLE 表名 drop 字段; 
  29. 更新表 
  30. update 表 set 字段 where 条件 
  31. 加主键 
  32. alter table 表名 add PRIMARY KEY  (`字段`); 
  33. 调整字段顺序 
  34. ALTER TABLE `t_trans_jnl_his` CHANGE `b45` `b45` varchar(79) after `extradata`(把b45字段放到extradata字段后面); 
  35. 添加远程主机访问数据库权限 
  36. grant 权限 on 数据库名.表 to 用户名@'远程主机IP' identified by "密码"
  37. --ex1:grant select,insert,update,delete on dbebs.* to username@'172.16.30.15' identified by "password"; 
  38. --ex2:grant  ALL PRIVILEGES  on dbebs.* to username@'172.16.30.15' identified by "password"; 
  39. 修改用户密码 
  40. 1)Mysqladmin –uroot –p password '' 
  41. 2)mysql> use mysql; 
  42.   mysql> update user set password=password('test'where user='root'
  43.   mysql> flush privileges
  44. 添加双机热备所需的用户、权限 
  45. GRANT REPLICATION SLAVE ON *.* TO '用户名'@'对端IP' IDENTIFIED BY '密码'
  46. GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO  '用户名'@'对端IP' IDENTIFIED BY '密码'
  47. 添加用户查询、导数据权限 
  48. grant select,lock tables,file on *.* to reed@localhost identified by "reed"
  49. 统计字符串长度 
  50.  select id,name,hkMerchantNo,char_length(hkMerchantNo) from merch order by length(hkMerchantNo) desc limit 20;