MySQL 常用命令详解

来源:互联网 发布:python软件开发 编辑:程序博客网 时间:2024/05/19 21:44
  1. Mysql安装目录  
  2. 数据库目录  
  3. /var/lib/mysql/  
  4. 配置文件  
  5. /usr/share/mysql(mysql.server命令及配置文件)  
  6. 相关命令  
  7. /usr/bin(mysqladmin mysqldump等命令)  
  8. 启动脚本  
  9. /etc/init.d/mysql(启动脚本文件mysql的目录)  
  10.   
  11. 系统管理  
  12. 连接MySQL  
  13. 格式: mysql -h 主机地址 -u用户名 -p用户密码  
  14. 例 1:连接到本机上的 MySQL。  
  15. hadoop@ubuntu:~$ mysql -uroot -pmysql;  
  16.   
  17. 例 2:连接到远程主机上的 MYSQL。  
  18. hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql;  
  19.   
  20. 修改新密码  
  21. 在终端输入:mysql -u用户名 -p密码,回车进入Mysql。  
  22. use mysql;  
  23. update user set password=PASSWORD('新密码'where user='用户名' 
  24. flush privileges; #更新权限  
  25. quit; #退出  
  26.   
  27. 增加新用户  
  28. 格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码'  
  29. 举例:  
  30. 例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有  
  31. 查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:  
  32. mysql>grant select,insert,update,delete on *.* to root@localhost identified by 'mysql' 
  33. 或者  
  34. grant all privileges on *.* to root@localhost identified by 'mysql' 
  35. 然后刷新权限设置。  
  36. flush privileges;  
  37.   
  38. 例 2:如果你不想 root 有密码操作数据库“mydb”里的数据表,可以再打一个命令将密码消掉。  
  39. grant select,insert,update,delete on mydb.* to root@localhost identified by '' 
  40.   
  41. 删除用户  
  42. hadoop@ubuntu:~$ mysql -u用户名 -p密码  
  43. mysql>delete from user where user='用户名' and host='localhost' 
  44. mysql>flush privileges;  
  45. //删除用户的数据库  
  46. mysql>drop database dbname;  
  47.   
  48. 数据库操作  
  49. 显示所有的数据库  
  50. mysql> show databases;(注意:最后有个 s)  
  51.   
  52. 创建数据库  
  53. mysql> create database test;  
  54.   
  55. 连接数据库  
  56. mysql> use test;  
  57.   
  58. 查看当前使用的数据库  
  59. mysql> select database();  
  60.   
  61. 当前数据库包含的表信息  
  62. mysql> show tables; (注意:最后有个 s)  
  63.   
  64. 删除数据库  
  65. mysql> drop database test;  
  66.   
  67. 表操作  
  68. 备注:操作之前使用“use <数据库名>”应连接某个数据库。  
  69. 建表  
  70. 命令:create table <表名> (<字段名 1> <类型 1> [,..<字段名 n> <类型 n>]);  
  71. 例子:  
  72. mysql> create table MyClass(  
  73. id int(4) not null primary key auto_increment,  
  74. name char(20) not null,  
  75. sex int(4) not null default '0' 
  76. degree double(16,2));  
  77.   
  78. 获取表结构  
  79. 命令: desc 表名,或者show columns from 表名  
  80. 例子:  
  81. mysql> describe MyClass  
  82. mysql> desc MyClass;  
  83. mysql> show columns from MyClass;  
  84.   
  85. 删除表  
  86. 命令:drop table <表名>  
  87. 例如:删除表名为 MyClass 的表  
  88. mysql> drop table MyClass;  
  89.   
  90. 插入数据  
  91. 命令:insert into <表名> [( <字段名 1>[,..<字段名 ])] values 值 )[, 值 )]  
  92. 例子:  
  93. mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang'96.59);  
  94.   
  95. 查询表中的数据  
  96. 查询所有行  
  97. mysql> select from MyClass;  
  98.   
  99. 查询前几行数据  
  100. 例如:查看表 MyClass 中前 行数据  
  101. mysql> select from MyClass order by id limit 0,2;  
  102. 或者  
  103. mysql> select from MyClass limit 0,2;  
  104.   
  105. 删除表中数据  
  106. 命令:delete from 表名 where 表达式  
  107. 例如:删除表 MyClass 中编号为 的记录  
  108. mysql> delete from MyClass where id=1;  
  109.   
  110. 修改表中数据  
  111. 命令:update 表名 set 字段=新值,... where 条件  
  112. mysql> update MyClass set name='Mary' where id=1;  
  113.   
  114. 在表中增加字段  
  115. 命令:alter table 表名 add 字段 类型 其他;  
  116. 例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为  
  117. mysql> alter table MyClass add passtest int(4) default '0'  
  118.   
  119. 更改表名  
  120. 命令:rename table 原表名 to 新表名;  
  121. 例如:在表 MyClass 名字更改为 YouClass  
  122. mysql> rename table MyClass to YouClass;  
  123.   
  124. 更新字段内容  
  125. 命令:update 表名 set 字段名 新内容  
  126. update 表名 set 字段名 replace(字段名, '旧内容''新内容');  
  127. 例如:文章前面加入 个空格  
  128. update article set content=concat(   'content);  
  129.   
  130. 数据库导入导出  
  131. 从数据库导出数据库文件  
  132. 使用“mysqldump”命令  
  133. 首先进入 DOS 界面,然后进行下面操作。  
  134. 1)导出所有数据库  
  135. 格式:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]  
  136.   
  137. 2)导出数据和数据结构  
  138. 格式:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]  
  139. 举例:  
  140. 例 1:将数据库 mydb 导出到 e:\MySQL\mydb.sql 文件中。  
  141. 打开开始->运行->输入“cmd”,进入命令行模式。  
  142. c:\> mysqldump -h localhost -u root -p mydb >e:\MySQL\mydb.sql  
  143. 然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。  
  144.   
  145. 例 2:将数据库 mydb 中的 mytable 导出到 e:\MySQL\mytable.sql 文件中。  
  146. c:\> mysqldump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql  
  147.   
  148. 例 3:将数据库 mydb 的结构导出到 e:\MySQL\mydb_stru.sql 文件中。  
  149. c:\> mysqldump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql  
  150. 备注:-h localhost 可以省略,其一般在虚拟主机上用。  
  151.   
  152. 3)只导出数据不导出数据结构  
  153. 格式:  
  154. mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径]  
  155.   
  156. 4)导出数据库中的Events  
  157. 格式:mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]  
  158.   
  159. 5)导出数据库中的存储过程和函数  
  160. 格式:mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]  
  161.   
  162. 从外部文件导入数据库中  
  163. 1)使用“source”命令  
  164. 首先进入“mysql”命令控制台,然后创建数据库,然后使用该数据库。最后执行下面操作。  
  165. mysql>source [备份文件的保存路径]  
  166.   
  167. 2)使用“<”符号  
  168. 首先进入“mysql”命令控制台,然后创建数据库,然后退出 MySQL,进入 DOS 界面。最后执行下面操作。  
  169. mysql -u root –p [备份文件的保存路径]  
MySQL常用命令详解