Hadoop集群(第11期)_常用MySQL数据库命令
1、系统管理
1.1 连接MySQL
格式: mysql -h主机地址 -u用户名 -p用户密码
举例:
例1:连接到本机上的MySQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令"mysql –u root –p",回车后提示你输密码,如果刚安装好MySQL,超级用户"root"是没有密码的,故直接回车即可进入到MySQL中了,MySQL的提示符是: mysql>。
例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h 110.110.110.110 -u root –p abcd123
备注:u与root可以不用加空格,其它也一样。
退出MySQL命令: exit (回车)。
1.2 修改新密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
举例:
例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令:
mysqladmin -u root -password ab12
备注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
例2:再将root的密码改为djg345。
mysqladmin -u root -p ab12 password djg345
1.3 增加新用户
备注:和上面不同,下面的因为是MySQL环境中的命令,所以后面都带一个分号";"作为命令结束符。
格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码'
举例:
例1:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test2@localhost identified by 'abc';
或者
grant all privileges on *.* to test2@localhost identified by 'abc';
然后刷新权限设置。
flush privileges;
例2:如果你不想test2有密码操作数据库"mydb"里的数据表,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by '';
1.4 启动停止MySQL
1)Windows环境下
首先进入DOS环境,然后进行下面操作。
-
启动服务
net start mysql
-
停止服务
net stop mysql
2)Linux环境下
-
启动服务
service mysql start
-
停止服务
service mysql stop
2、数据库操作
2.1 库操作
1)创建数据库
命令:create database <数据库名>
例如:建立一个名为xhkdb的数据库
mysql> create database xhkdb;
2)显示所有的数据库
命令:show databases (注意:最后有个s)
mysql> show databases;
3)删除数据库
命令:drop database <数据库名>
例如:删除名为 xhkdb的数据库
mysql> drop database xhkdb;
4)连接数据库
命令: use <数据库名>
例如:如果xhkdb数据库存在,尝试存取它
mysql> use xhkdb;
屏幕提示:Database changed
5)查看当前使用的数据库
mysql> select database();
6)当前数据库包含的表信息
mysql> show tables; (注意:最后有个s)
2.2 表操作
备注:操作之前使用"use <数据库名>"应连接某个数据库。
1)建表
命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
2)获取表结构
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3)删除表
命令:drop table <表名>
例如:删除表名为 MyClass 的表
mysql> drop table MyClass;
4)插入数据
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如:往表 MyClass中插入二条记录,这二条记录表示:编号为1的名为Tom的成绩为96.45,编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5。
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5)查询表中的数据
-
查询所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表 MyClass 中所有数据
mysql> select * from MyClass;
-
查询前几行数据
例如:查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
或者
mysql> select * from MyClass limit 0,2;
6)删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
7)修改表中数据
命令:update 表名 set 字段=新值,… where 条件
mysql> update MyClass set name='Mary' where id=1;
8)在表中增加字段
命令:alter table 表名 add字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table MyClass add passtest int(4) default '0'
9)更改表名
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改为YouClass
mysql> rename table MyClass to YouClass;
10)更新字段内容
命令:update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,'旧内容','新内容');
例如:文章前面加入4个空格
update article set content=concat(' ',content);
3、数据库导入导出
3.1 从数据库导出数据库文件
使用"mysqldump"命令
首先进入DOS界面,然后进行下面操作。
1)导出所有数据库
格式:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]
2)导出数据和数据结构
格式:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]
举例:
例1:将数据库mydb导出到e:\MySQL\mydb.sql文件中。
打开开始à运行à输入"cmd",进入命令行模式。
c:\> mysqldump -h localhost -u root -p mydb >e:\MySQL\mydb.sql
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
例2:将数据库mydb中的mytable导出到e:\MySQL\mytable.sql文件中。
c:\> mysqldump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql
例3:将数据库mydb的结构导出到e:\MySQL\mydb_stru.sql文件中。
c:\> mysqldump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql
备注:-h localhost可以省略,其一般在虚拟主机上用。
3)只导出数据不导出数据结构
格式:mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径]
4)导出数据库中的Events
格式:mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]
5)导出数据库中的存储过程和函数
格式:mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]
3.2 从外部文件导入数据库中
1)使用"source"命令
首先进入"mysql"命令控制台,然后创建数据库,然后使用该数据库。最后执行下面操作。
mysql>source [备份文件的保存路径]
2)使用"<"符号
首先进入"mysql"命令控制台,然后创建数据库,然后退出MySQL,进入DOS界面。最后执行下面操作。
mysql -u root –p < [备份文件的保存路径]