MySQL 基础命令学习

MySQL 是现在后端比较主流的数据库,此处记录一些使用 mysql 命令操作数据库的典型用法。一般我们在官网下载数据软件安装之后,
还会顺便下载一个叫做 “MySQLWorkBench” 的程序,这个程序是一个可视化的客户端,用来方便操作MySQL数据库。或者下载像 “Navicat For MySQL” 之类的软件来操作
数据库,它的好处是功能比 “MySQLWorkBench” 更丰富一些,可视化操作也做的比较好。

但是安装额外的软件毕竟很麻烦,而且不同的平台(Windows/OSX/Linux)安装体验也不一样,有的平台是没有可视化操作的软件的。所以学习使用 MySQL 的命令行操作也很
重要,因为这是随着MySQL软件发布的,所以只要安装了MySQL的机器都可以使用mysql命令。

在学习之前在网上搜索一圈,发现最好的教程还是MySQL官网提供的入门教程,浅显易懂,循序渐进。

前提

在MySQL的安装目录下的$MYSQLDIR/bin目录可以找到mysql命令,比如我的mac上是: /usr/local/mysql/bin/mysql ,为了方便使用,可以把这个命令加入到环境变量。
这个命令的主要用途是,可以通过控制台(终端)对数据库做一些操作,比如建表建库,做增删改查的操作。

登陆数据库 命令如下:

shell> mysql -h host -u user -p
Enter password: ********

-h host 是远程服务器的ip地址,-u user 是登陆数据库的用户名,需要注意的是 -p 后面并没有跟随密码(明文密码不安全),敲下这行命令之后,会提示输入密码。

如果数据就是安装在本机,那么不需要 -h host,比如:

shell> mysql -u user -p

退出数据库:

mysql> QUIT
Bye

在成功登陆数据库之后,所有的操作都必须以 “;” 号结尾的,否则不能执行,mysql会把回车理解成换行。(一定要注意“;”号结尾)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blogdb             |
| merchant           |
| mysql              |
| performance_schema |
| spotsdb            |
| sys                |
+--------------------+
7 rows in set (0.01 sec)

另外一点需要注意的是每次操作,后面都会跟着执行用时的时间戳 7 rows in set (0.01 sec) 这个时间并不是数据库真实的操作耗时,见:

These values are imprecise because they represent wall clock time (not CPU or machine time), and because they are affected by factors such as server load and network latency.

常用操作

  1. 查看当前数据库版本和当前时间

    mysql> SELECT VERSION(), CURRENT_DATE;
    +--------------+--------------+
    | VERSION()    | CURRENT_DATE |
    +--------------+--------------+
    | 5.7.1-m4-log | 2012-12-25   |
    +--------------+--------------+
    1 row in set (0.01 sec)
    mysql>
    
  2. 查看当前创建了哪些数据库

    mysql> SHOW DATABASES;
    +----------+
    | Database |
    +----------+
    | mysql    |
    | test     |
    | tmp      |
    +----------+
    
  3. 取用某个数据库(注意和QUIT命令一样,没有;号结尾)

    mysql> USE test
    Database changed
    
  4. 创建一个数据库

    mysql> CREATE DATABASE menagerie;
    
  5. 查看当前数据库下的所有的表

    mysql> SHOW TABLES;
    Empty set (0.00 sec)
    
  6. 创建一张表

    mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
        -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
    
  7. 查看一张表的结构

    mysql> DESCRIBE pet;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name    | varchar(20) | YES  |     | NULL    |       |
    | owner   | varchar(20) | YES  |     | NULL    |       |
    | species | varchar(20) | YES  |     | NULL    |       |
    | sex     | char(1)     | YES  |     | NULL    |       |
    | birth   | date        | YES  |     | NULL    |       |
    | death   | date        | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    
  8. batch模式

    shell> mysql < batch-file > mysql.out
    

其他的基本的增删改查就不再记录了,这些属于SQL语句的范畴,见 简单的SQL语句记录

最后把 mysql -u user -p 加入到我的 SHUTTLE 快捷菜单里,SHUTTLE 是什么,见 Shuttle – Mac 快捷菜单神器

    原文作者:ntop
    原文地址: https://www.jianshu.com/p/7eace0fbf60c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞