MySQL常用命令
时间:2010-07-15 来源:explore
1. 导出整个数据库,包括表结构和数据
mysqldump -u 用户名 -p密码 数据库名 > *\*\*.sql //-p和密码之间不能有空格
2. 导出一个表,包括表结构和数据
mysqldump -u 用户名 -p密码 数据库名 表名> *\*\*.sql
3. 只导出数据库表结构
mysqldump -u 用户名 -p密码 -d 数据库名 > *\*\*.sql //-d表示没有数据
4. 导入数据库
首先进入MySQL, 然后使用source *\*\*.sql命令
5. 显示命令
show databases //显示所有数据库名
use 数据库名 //选中某一数据库
show tables //显示所有表名
desc 表名 //表名显示表结构
show grants; //查看当前用户的权限
show grants for 用户名@localhost //查看其它用户的权限
6. 删除命令
drop database 数据库名
drop table 表名
delete from 表名 where ... //清空几行或整个表中的数据
7. 修改表
alter table 表名 add column 列名 类型 默认值 //添加列
alter table 表名 drop column 列名 //删除列
update 表名 set 列名=值 where ... //更新表中某一列数据
rename table 原表名 to 新表名 //重命名表,重命名数据库好像6.0的版本才可以
insert into 表名(字段1,字段2) values(values1,values2)
8. 添加用户 //revoke撤销权限的用法与grant类似,把to改成from即可。
grant all privileges on *.* to 用户名@"%" identified by "密码"//添加任何机器都能登录的用户,第一个*是数
// 据库名,第二个*是表名
grant all privileges on 数据库名.* to 用户名@"ip地址" identified by "密码"//添加在某一机器能登录的用户
grant select,insert,delete,update on 数据库名.* to 用户名@"%" identified by "密码";
grant select,insert,delete,update on 数据库名.表名 to 用户名@"%" identified by "密码"; //指定表
grant select(id, username) on 数据库名.表名 to 用户名@"%" identified by "密码"; //指定列
9.删除用户
revoke语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然
可以连接服务器。要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录:
use mysql;
delete from user where User='user_name' and Host='host_name';
flush privileges;
delete语句删除用户记录,而FLUSH语句告诉服务器重载授权表。当你使用grant和revoke语句时,表自动重
载,而你直接修改授权表时不是。