软件测试学习 之 MySQL 命令行操作

连接登录

mql -u用户名 -p密码(密码明文)

或者

mql -u用户名 -p(直接回车)

****(密码显示为*号)

查看所有数据库

show databases;

使用某个数据库

use 数据库名

use mydb;

查看当前使用的数据库

mysql> select database();
+------------+
| database() |
+------------+
| mydb       |
+------------+
1 row in set (0.00 sec)

 查看数据库中所有的表

show tables;

注:如果数据库中存在试图,则同时显示出来,命名视图时注意区分,推荐以’v_‘作为前缀 

查看表结构

desc 表名  --以列表的方式呈现

mysql> desc score;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| scid  | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| sid   | int(10) unsigned | NO   |     | NULL    |                |
| cid   | int(5) unsigned  | NO   |     | NULL    |                |
| score | float(5,2)       | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
4 rows in set (0.04 sec)

show create tablse 表名 --以Sql语句的方式呈现

mysql> show create table score;
---部分省略---
 CREATE TABLE `score` (
  `scid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `sid` int(10) unsigned NOT NULL,
  `cid` int(5) unsigned NOT NULL,
  `score` float(5,2) DEFAULT NULL,
  PRIMARY KEY (`scid`)
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8
---部分省略---
1 row in set (0.00 sec)

说明:

ENGINE=INNODB 表示将数据库的引擎设置为InnoDB,从MySQL 5.6开始默认使用该引擎。

AUTO_INCREMENT=10 表示自动增长的起始值为10

DEFAULT CHARSET=utf8表示设置数据库的默认字符集为utf8

【问题记录】

select 查询中文出现乱码

mysql> select name from student limit 1;
+-----------+
| name      |
+-----------+
| 璇歌憶浜?   |
+-----------+
1 row in set (0.00 sec)

解决方法

修改字符集(退出重新登录失效)

set charset gbk;
mysql> select name from student limit 1;
+--------+
| name   |
+--------+
| 诸葛亮  |
+--------+
1 row in set (0.00 sec)

 退出登录

三种命令方式:exit / quit / \q

windows下导出/备份数据库

1. 进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

输入的命令行:

cd D:\Program Files\MySQL\MySQL Server 5.5\bin

或者将windows的环境变量path中添加该目录,可跳过第1步

 2. 导出数据库:mysqldump.exe -u 用户名 -p 数据库名 > 导出的文件名 
如输入的命令行:

mysqldump -u root -p1234 mydb> mydb_bak.sql  

 如果导出单张表的话在数据库名后面输入表名即可

mysqldump -u root -p1234 mydb student > mydb_student_bak.sql

3. 文件mydb_bak.sql自动生成到执行命令的目录下

C:\Users\Administrator>mysqldump -u root -p1234 mydb> mydb_bak.sql

生成的sql文件就在 C:\Users\Administrator目录下

windows下导入/恢复数据库

1. 将要导入的.sql文件移至执行命令的目录
2. 进入MySQL:mysql -u 用户名 -p密码
3. 在MySQL中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库;

mysql>create database news;

4. 输入:mysql>use 目标数据库名

mysql>use news;

5. 导入文件:mysql>source 导入的文件名; 

mysql>source mydb_bak.sql;

Linux下MySQL的备份与还原 

1. 备份 

进入到MySQL库目录,根据自己的MySQL的安装情况调整目录

[root@localhost ~]# cd /var/lib/mysql
[root@localhost mysql]# mysqldump.exe -u root -proot voice>voice.sql 


2. 还原
方法一(新建数据库):
进入MySQL

[root@localhost ~]# mysql -u root -p 回车,输入密码,

依次输入并执行以下命令(注意备份文件在当前目录下)

[root@localhost mysql]# show databases;

[root@localhost mysql]# create database voice;

[root@localhost mysql]# use voice;

[root@localhost mysql]# source voice.sql;

再次出现"mysql>"并且没有提示错误即还原成功。 

方法二(已有数据库):

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) 
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。

3. 总结一下Linux下MySQL的一些命令:
1.Linux下启动mysql的命令: 
mysqladmin start 
或者 /ect/init.d/mysql start (前面为mysql的安装路径)
2.Linux下重启mysql的命令: 
mysqladmin restart 
或者 /ect/init.d/mysql restart (前面为mysql的安装路径)
3.Linux下关闭mysql的命令: 
mysqladmin shutdown 
或者 /ect/init.d/mysql shutdown (前面为mysql的安装路径)

---------------------
部分内容参考以下作者文章修改 
作者:Accompany_l 
原文:https://blog.csdn.net/java001122/article/details/80340037 

猜你喜欢

转载自blog.csdn.net/jian3x/article/details/88375553