有些时候我们不得不去用命令行操作mysql数据库,下面是笔者总结的常见操作命令:
1.连接
命令: mysql -h主机地址 -u用户名 -p密码
本地:连接 cmd进入mysql/bin之后, 输入mysql -uroot -p然后回车 会提示你输入密码 接着回车即可(如果密码为空);
远程连接:假设远程主机的IP为:222.222.212.212,用户名为root,密码为abcdef。则键入以下命令:
mysql -h222.222.212.212 -uroot -pabcdef
2.对数据库和表的操作
查看用户拥有权限的数据库 : show databases;(注意分号)
创建数据库test: create database testdb;
切换到testdb数据库: use testdb;
删除数据库testdb: drop database testdb;
查看当前数据库中有权限的表: show tables;
创建表s_position,department,,depart_pos,testtable:
create table s_position
(
id int not null auto_increment,
name varchar(20) not null default '经理', #设定默认值
description varchar(100),
primary key PK_positon (id) #设定主键
);
create table department
(
id int not null auto_increment,
name varchar(20) not null default '系统部', #设定默认值
description varchar(100),
primary key PK_department (id) #设定主键
);
create table depart_pos
(
department_id int not null,
position_id int not null,
primary key PK_depart_pos (department_id,position_id) #设定复和主键
);
create table testtable
(
id int not null auto_increment primary key, #设定主键
name varchar(20) not null default '无名氏', #设定默认值
department_id int not null,
position_id int not null,
unique (department_id,position_id) #设定唯一值
);
查看表testtable的结构: desc testtable;
删除表testtable:
drop table testtable;
修改表结构 操作数据(增,删,改,查)
.....(同sql语句,略)
3. 备份和恢复
对数据的备份和恢复命令,在网上有许多种版本,经笔者亲身测验,下面的命令是可行方法之一:
备份数据库testdb:
本地:mysqldump -uroot -pabcdef testdb>e:testdb.sql
远程:mysqldump -h222.222.212.212 -uroot -pabcdef testdb>e:testdb.sql
这里假设数据库的用户名和密码分别是root和abcdef, 导出到额盘根目录下,得到的testdb.sql是一个sql脚本,不包括建库的语句,所以你需要手工创建数据库下次才可以导入 恢复数据库testdb;
恢复数据库testdb: 首先 需要创建一个空库testdb(原因如上);
命令:
本地:mysql -uroot -pabcdef testdb<e:testdb.sql
远程:mysql -h222.222.212.212 -uroot -pabcdef testdb<e:testdb.sql
后面e:testdb.db代表本地sql文件路径,如果mysql安装在本地可以把sql文件考到mysql/bin的安装目录下,就不用写路径了.
注:在网上有些朋友说,mysql的安装目录必须为默认目录(即c:/mysql),否则会出问题,笔者也测验了一下在安装d盘的效果,结果暂时没有发现什么问题.,这说明有时候命令执行异常可能和安装目录无关.^_^