MySQL与SQL语言实战(一)数据库搭建与操作

一、MySQL数据库搭建与操作

我们在实际项目中,如何用到数据库?

  • 测试数据构造(假设你搞不定mock)
  • 清理和还原被测系统数据, 一键恢复原来的老数据
  • 测试数据的提取
  • 写数据的校验

1、数据库概览

  • 关系型数据库(RDBMS):
    • MySQL、Oracle、Postgres、SQLite(Android用得较多)、SQLServer
  • NoSQL数据库:MongoDB、Redis、HBase
  • 图数据库:Neo4j
  • NewSQL:RethinkDB

2、搭建MySQL

  • 官网:https://www.mysql.com

  • 5.7版本比较经典

  • docker hub官网:https://registry.hub.docker.com/_/mysql

  • docker run --name mysql -v $PWD/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=insane -d mysql:5.7

    image.png

  • MySQL官方自带工具
    4.5 MySQL Client Programs

    • 4.5.1 mysql —The MySQL Command-Line Cllient
    • 4.5.2 mysqladmin -Client for Administering a MySQL Server
    • 4.5.3 mysqlcheck —A Table Maintenance Program
    • 4.5.4 mysqldump —A Database Backup Program
    • 4.5.5 mysqlimport — A Data lmport Program
    • 4.5.6 mysqlpump —A Database Backup Program
    • 4.5.7 mysqlshow — Display Database, Table, and Column Information
    • 4.5.8 mysqlslap —Load Emulation Client


      image.png

进入容器后输入mysqltab键可以查看工具集

3、MySQL操作工具--MySQL Workbench

  • workbench是官网公司,会紧跟mysql的更新,算是一个正统的工具。只有这个工具不满足的时候,再考虑其他工具去辅助。也可以使用Navicat,这里不做过多介绍。

  • 下载地址:https://dev.mysql.com/downloads/workbench/

    image.png

  • 创建连接


    image.png
  • 功能菜单:从左往右依次是

    • 新建SQL命令窗口
    • 打开SQL脚本文件
    • 打开Inspector
    • 新建数据库
    • 新建数据表
    • 新建视图
    • 新建存储程序
    • 新建函数
    • 查询
    • 重连数据库


      image.png
  • 新建数据库


    image.png
  • 新建数据表


    image.png

4、命令行连接

  • 进入mysql容器:docker exec -it mysql bash

  • 查看数据库命令:mysql --help

    • -D:指定数据库Database
    • -e:执行指定命令execute
    • -h:指定主机host
    • -P:指定端口号(大写P)
    • -p:输入密码(小写p)
    • -U:用户名
      image.png
  • 非交互式执行数据库命令:mysql -h 127.0.0.1 -uroot -p -Dinsane -e 'show databases;'

    image.png

  • 进入mysql交互式命令行:mysql -h [ip] -uroot -p,输入密码即可

  • show databases;

    image.png

  • 查看帮助文档:\hhelp;

    image.png

  • 使用指定数据库:use insane;

    image.png

  • 查看当前数据库的表:show tables;

    image.png

  • 插入数据:insert into insane_table values(1,'insane_loafer');

  • 查询表的所有数据:select * from insane_table;

    image.png

  • 退出数据库:\q

    image.png

Tips:可以使用tab键补全。

假设服务器在远程:docker run -it -v /Users/seveniruby/projects/test_db:/data/ --rm mysql bash -c "cd /data; mysql -h sql.testing-studio.com -u root -p < /data/employees.sql"
假设数据库服务器你可以直接访问,可以执行:docker exec -i mysql mysql -h sql.testing-studio.com -uroot -phogwarts < /tmp/demo.sql

5、phpmyadmin数据库管理平台

  • 与workbench类似,只不过是在浏览器中进行操作
  • docker run -d --name myadmin -e PMA_ARBITRARY=1 -p 3080:80 phpmyadmin/phpmyadmin
  • 访问3080端口


    image.png

    image.png

数据操作

1、测试数据库

  • 官网测试数据库:https://github.com/datacharmer/test_db

    image.png

  • 导入数据库

    1. 将数据库文件下载到本地再上传到docker服务器中


      image.png
    2. 拷贝目录到mysql容器下:docker cp test_db-master/ mysql:/root/

    3. 进入到数据库目录文件


      image.png
    4. 将数据库文件导入到数据库中:mysql -h 127.0.0.1 -uroot -p < employees.sql

      image.png

  • 也可自定义数据库名称进行导入:

    • 1)只需修改前三行即可


      image.png
    • 2)修改命令:cat /root/test_db-master/employees.sql | sed -e 's#employees;#employees_insane;#g'

      image.png

    • 3)使用管道符导入数据库:cat /root/test_db-master/employees.sql | sed -e 's#employees;#employees_insane;#g' | mysql -h 127.0.0.1 -uroot -p

你可能感兴趣的:(MySQL与SQL语言实战(一)数据库搭建与操作)