MySQL命令行下载导出、导入、查询常用命令详解

除了用第三方软件管理MySQL数据库外,MySQL本身也提供了管理数据库的操作命令,可以在CentOS终端直接使用MySQL命令,用于MySQL数据库的创建、表的管理、SQL查询等管理操作。

(1)登录MySQL数据库

用SSH客户端连接CentOS服务器,打开终端命令输入窗口,在终端输入窗口输入命令:

mysql -uroot –p

该命令用root账号以密码方式登录MySQL,回车后提示输入密码,输入MySQL的登录密码。登录成功后,终端窗口会进入MySQL命令方式。如图3-44所示。

注意:输入MySQL密码时,终端输入窗口不会回显输入的密码,光标也不会移动。
在这里插入图片描述
图 3-44 登录MySQL数据库

(2)显示所有的数据库

登录MySQL成功后,如果需要查看MySQL已创建的数据库,可以在终端窗口输入命令:

show databases;

注意:MySQL命令的结束符为;

该命令显示MySQL所有已创建的数据库。从图3-45可以看出,执行该命令后,终端窗口显示了当前MySQL下有四个数据库,分别是information_schema\mysql\performance_schema\sys\,这四个数据库都是系统数据库。
在这里插入图片描述
图 3-45 显示所有已创建的数据库

(3)创建数据库

我们安装使用MySQL,一般都要创建自己的数据库,为编写的应用系统提供数据库支撑。创建数据库的命令为:

create database <数据库名>

例如,在终端窗口输入命令:

create database mydatabase;

该命令用于创建新的数据库,命令中的mydatabase为新创建数据库的名称。执行该命令后,可以用show databases命令查看mydatabase数据库是否已存在。从图3-46可以看出,mydatabase数据库已创建成功。
在这里插入图片描述
图 3-46 创建数据库

(4)删除数据库

删除数据库是一个谨慎操作,有可能造成重要数据的丢失。如果确实需要删除已经存在的数据库,删除数据库的命令为:

drop database <数据库名>

例如,在终端窗口输入命令:

drop database mydatabase;

该命令删除数据库名称为mydatabase的数据库,执行命令后,mydatabase数据库被删除。可以用show databases命令查看mydatabase数据库是否被删除。从图3-47可以看出,mydatabase数据库已被删除。
在这里插入图片描述
图 3-47 删除数据库

(5)打开数据库

登录MySQL后,如果要对某一具体的数据库进行操作,例如查询、创建表等。需要先用use命令打开该数据库,数据库打开成功后,才能对该数据库进行后续操作。

在终端窗口输入如下命令:

create database mydatabase;

创建一个新的数据库,然后在终端窗口输入如下命令:

use mydatabase;

使用use命令打开mydatabase数据库,终端窗口输出“Database changed”,说明打开成功。如图3-48所示。
在这里插入图片描述
图 3-48 打开mydatabase数据库

(6)创建数据库表

打开数据库后,可以使用创建数据表命令,在已打开的数据库中创建一个新表。创建一个新表的命令为:

create table <表名> ( <字段名1> <类型1> [,…<字段名n> <类型n>]);

例如,建立一个名为student的学生表,表结构信息如下:
在这里插入图片描述
在终端窗口输入如下命令:
在这里插入图片描述
因命令字符比较长,用截图给出。其中语句Query OK, 0 rows affected (0.02 sec)为执行命令后,MySQL给出的反馈消息,具体意思是执行成功,0行被影响。如图3-49所示。
在这里插入图片描述
图 3-49 创建一个新表

(7)查看数据库表结构

查看库中的表:
show tables;

打开数据库后,可以查看指定表的结构。查看指定表结构的命令为:

desc <表名>;

例如,查看前面创建的student表结构,在终端窗口输入命令:

desc student;

使用desc命令打开student表,终端窗口显示student表结构。如图所示。
在这里插入图片描述
图 3-50 查看数据库表结构

(8)在表中插入记录

打开数据库后,可以使用插入记录命令在指定表中插入记录,插入记录命令为:

insert into <表名> [( <字段名1>[,…<字段名n > ])] values (值1 )[, (值n )];

例如,在student表中插入一条记录,其中字段id的值为,字段name的值为’joan’,字段sex的值为0,字段degree的值为89.2,在终端窗口输入命令:

insert into student values(1,’ joan ',0, 89.2);

该命令将一条记录插入student表中,若记录插入成功,终端窗口输出“Query OK, 1 row affected (0.00 sec)”信息。若记录插入失败,则输出错误信息。如图3-51所示。
在这里插入图片描述
图 3-51 在表中插入记录

(9)查询表中的记录

打开数据库后,可以查询指定表中记录,查询表所有记录的命令为:

select <字段1,字段2,…> from <表名> where <表达式>;

例如,查询student表中所有的记录,在终端窗口输入命令:

select id,name,sex,degree from student;

命令执行成功后,在终端窗口输出student表中的所有记录,如图3-52所示。
在这里插入图片描述
图 3-52 查询表中记录
也可以查询限定的记录,输入如下命令,可以限定查询结果为第0条到第1条记录,也就是返回第一条记录:

select id,name,sex,degree from student limit 0,1;

执行命令后,只返回第一条记录,如图3-53所示。
在这里插入图片描述
图 3-53 查询限定记录

(10)删除数据库表

当数据库表不再使用时,可以删除数据库表。删除数据库表的命令为:

drop table <表名>;

例如,删除student表,可以输入如下命令:

drop table student;

drop table命令用于删除一个或多个表,删除前您必须拥有每个表的DROP权限。执行该命令后,所有的表数据和表定义会被删除,因此本命令要谨慎使用。

(11)导出数据库文件

数据库备份和转移都要用到导出数据库命令,导出数据库命令将整个数据库文件转储为SQL文件,导出命令为:

mysqldump -u 用户名 –p 数据库名 > 导出的文件名;

例如,将mydatabase数据导出为mydatabase_out.sql文件,在终端窗口输入命令:

(11.1)导出数据和结构

mysqldump –u root –p mydatabase > mydatabase_out.sql;

(11.2)只导出表结构 其中-d 表示只导出表结构,不导出数据

mysqldump -d -u root -p mydatabase > mydatabase_out.sql;

(11.3)导出数据库其中某表的数据和结构

mysqldump –u root –p mydatabase tablebase > tablebase_out.sql;

注意:该命令不能在MySQL内执行,要退出MySQL,在终端窗口命令行下执行。
mysql退出三种方法:
mysql > exit;
mysql > quit;
mysql > \q;

执行命令后,mydatabase_out.sql文件被默认存储在根目录下,在终端窗口输入ls命令可以查看到输出的文件。如图所示。
在这里插入图片描述
图 3-54 导出数据库文件

(12)导入数据库文件
注意:此方法需要先连接数据库,是mysql内的命令

语法格式:

先指定使用的数据库:use database;
再使用导入数据库命令:source sqlFilePath(后面没有分号)
sqlFilePath : sql脚本的路径。如我将sql脚本放在了D盘,我的sql脚本的名字是”test_sql.sql”。则路径为”D:\test_sql.sql”。
命令执行情况如下图所示:
在这里插入图片描述
图 3-55 导入数据库文件

注意:上图中,第一次执行没有成功,因为在sql脚本中没有使用use语句指定数据库,所以需要先指定数据库。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章