MySQL(01)—安装与使用

安装与使用

图解MySQL程序结构

image-20210817100754276

1. MySQL数据库产品的介绍

1.1 MySQL产品的特点
  • MySQL数据库隶属于MySQL AB公司,总部位于瑞典,后被Oracle收购。

  • 优点:

    – 成本低:开放源代码,一般可以免费试用

    – 性能高:执行很快

    – 简单:很容易安装和使用

2. MySQL数据库的安装

  • DBMS分为两类:

    – 基于共享文件系统的DBMS (Access )

    – 基于客户机——服务器的DBMS (MySQL、Oracle、SqlServer)

  • MySQL的版本

2.1下载

Windows安装程序MySQL Installer MSI。

image-20210817103058472

下载离线安装版(文件大的那个)。需要注意的是,这里的32-bit是指安装程序Installer是32位,并非指下载的MySQL是32位,实际上MySQL会适应系统位数。

image-20210817102936648

点击**”No thanks, just start my download”**开始下载。

image-20210817102826741

2.2 安装

下载完成之后双击安装,可以选择自定义安装。

img

image-20210817104842064

image-20210817104958534

我一般安装以下两个就够。具体情况请根据你的实际需求。

MySQL Server 8.0.26 - X64:服务器

MySQL Workench 8.0.26 - X64:数据可视化管理工具

image-20210817110434593

一路执行或下一步。

image-20210817110700697

image-20210817110839698

image-20210817110919637

image-20210817111049201

这一步要注意,最好选择传统密码验证方式,否则使用第三方数据库管理软件在连接时会报错。

image-20210817111151168

密码很重要,本人设置密码与锁屏密码一致,便于记忆

image-20210817113736168

Windows Service Name: Windows托管服务名,用于停止、启动

image-20210817113910167

image-20210817114145727

image-20210817114218504

image-20210817114243171

image-20210817114306719

添加MySQL系统环境变量。

image-20210817114532726

到此,安装完成!

2.3 验证登陆

打开管理员CMD,输入密码。

image-20210817114954715

2.4 使用workbench可视化工具

image-20210817115112191

image-20210817115234402

image-20210817115345133

2.5 更改MySQL数据存储路径的方法

先停止mysql服务

(1)停止服务,管理员进入cmd >net stop MySQL (mysql的服务名:查找方法:右键我的电脑–>管理–>服务,然后找到mysql的服务名即可);

image-20210817115856877

image-20210817120106794

(2)将mysql安装路径下的data目录下的文件(通常是C:\ProgramData\MySQL\MySQL Server\Data)拷贝到自己想要储存的路径如:datadir=C:\Files\MySQLData;

(3)修改”my.ini”配置文件,记事本打开找到Datadir的部分

image-20210817120357477

修改为:

image-20210817122546594

datadir=C:/Files/MySQLData\Data【备注:这里是”/”而不是”\”,一般的配置文件都这样】

(4)重启mysql服务验证一下是否成功,管理员进入cmd >net start MySQL80

image-20210817122630329

接着进入mysql创建一个数据库看一下

image-20210817123421886

image-20210817123447043

1
2
3
>mysql –u root –p
>输入密码
>create database xiong;

可以看到原先的data目录没有生成”xiong”的database,而在我们新建的mysqlData路径目录下多了”xiong”的database。更改到此完毕。

image-20210817123519140

2.6MySQL卸载
(1)先停止服务

服务器名是你安装时写的Windows服务名。

image-20210817123717794

(2)1.使用安装程序Installer卸载

安装程序不仅用来安装MySQL(可安装多个不同版本的MySQL服务),还可以用来修复及卸载MySQL。使用它卸载的好处就是能卸载干净,卸载不干净再重装很可能会出问题!

点击Remove

image-20210817123906965

image-20210817123947729

完成卸载,重启计算机。

(2)2.使用命令卸载
1
2
net stop mysql      # 停服务
mysqld remove mysql   # 卸载服务
2.7. 启动和停止MySQL服务
  • 方式一:通过计算机管理方式

    右击计算机—管理—服务—启动或停止MySQL服务

  • 方式二:通过命令行方式

    启动:net start mysql服务名

    停止:net stop mysql服务名

2.8 MySQL服务端的登录和退出
  • 登录

    mysql -h 主机名 -u 用户名 -p 密码

  • 退出

    exit

3. MySQL数据库的使用

3.1 MySQL语法规范
  • 不区分大小写
  • 每句话用;或\g结尾
  • 各子句一般分行写
  • 关键字不能缩写也不能分行
  • 用缩进提高语句的可读性
  • 注释
    • 单行注释 :#注释文字
    • 单行注释:– 注释文字
    • 多行注释:/*注释文字*/
  1. 进入mysql,在命令行中输入:mysql -uroot -p ####(其中:####表示密码)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    xiong@SURFACE-PRO6 C:\Users\xiong
    # net start MySQL80
    MySQL80 服务正在启动 .
    MySQL80 服务已经启动成功。

    xiong@SURFACE-PRO6 C:\Users\xiong
    # mysql -h localhost -P 3306 -u root -p
    Enter password: ******
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 8
    Server version: 8.0.26 MySQL Community Server - GPL

    Copyright (c) 2000, 2021, Oracle and/or its affiliates.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    mysql>
  2. 新建一个数据库:create database 数据库名;

    1
    2
    mysql> create xiong;
    Query OK, 0 rows affected (0.06 sec)
  3. 查看mysql中有哪些个数据库:show databases;

    xiong为自己建立的数据库,其他几个数据库为mysql自带的样例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | sys |
    | xiong |
    +--------------------+
    5 rows in set (0.01 sec)

    mysql>

  4. 使用一个数据库:use数据库名称;

    使用“xiong”数据库,显示 Database changed

    1. 使用show tables;,查看数据库表中的内容,显示为Empty set

      1
      2
      3
      4
      5
      mysql> use xiong                                                                  
      Database changed
      mysql> show tables
      -> ;
      Empty set (0.01 sec)
    2. 查看当前所处的数据库:select database();

      显示处在“xiong”

      1
      2
      3
      4
      5
      6
      7
      mysql> select database();
      +------------+
      | database() |
      +------------+
      | xiong |
      +------------+
      1 row in set (0.00 sec)
    3. 在“xiong”里查看“mysql”数据库

      show tables from 数据库名;

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      mysql> show tables from mysql;
      +------------------------------------------------------+
      | Tables_in_mysql |
      +------------------------------------------------------+
      | columns_priv |
      | component |
      | db |
      | default_roles |
      | engine_cost |
      | func |
      | general_log |
      | global_grants |
      | gtid_executed |
      | help_category |
      | help_keyword |
      | help_relation |
      | help_topic |
      | innodb_index_stats |
      | innodb_table_stats |
      | password_history |
      | plugin |
      | procs_priv |
      | proxies_priv |
      | replication_asynchronous_connection_failover |
      | replication_asynchronous_connection_failover_managed |
      | replication_group_configuration_version |
      | replication_group_member_actions |
      | role_edges |
      | server_cost |
      | servers |
      | slave_master_info |
      | slave_relay_log_info |
      | slave_worker_info |
      | slow_log |
      | tables_priv |
      | time_zone |
      | time_zone_leap_second |
      | time_zone_name |
      | time_zone_transition |
      | time_zone_transition_type |
      | user |
      +------------------------------------------------------+
      37 rows in set (0.01 sec)
  5. 在数据库中新建一个表:create database 表名(列名 类型,...);

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    mysql> create table stuinfo(
    -> id int,
    -> name varchar(20)
    -> );
    Query OK, 0 rows affected (0.06 sec)

    mysql> show tables;
    +-----------------+
    | Tables_in_xiong |
    +-----------------+
    | stuinfo |
    +-----------------+
    1 row in set (0.00 sec)
    1. 查看表的结构 desc 表名;

      1
      2
      3
      4
      5
      6
      7
      8
      mysql> desc stuinfo;
      +-------+-------------+------+-----+---------+-------+
      | Field | Type | Null | Key | Default | Extra |
      +-------+-------------+------+-----+---------+-------+
      | id | int | YES | | NULL | |
      | name | varchar(20) | YES | | NULL | |
      +-------+-------------+------+-----+---------+-------+
      2 rows in set (0.01 sec)
    2. 在表中添加数据insert into 表名 values(属性1,属性2...) (属性1的值,属性2的值...);

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      mysql> desc stuinfo;
      +-------+-------------+------+-----+---------+-------+
      | Field | Type | Null | Key | Default | Extra |
      +-------+-------------+------+-----+---------+-------+
      | id | int | YES | | NULL | |
      | name | varchar(20) | YES | | NULL | |
      +-------+-------------+------+-----+---------+-------+
      2 rows in set (0.01 sec)

      mysql> insert into stuinfo (id, name) values(1001,'小天才');
      Query OK, 1 row affected (0.11 sec)

      mysql> insert into stuinfo (id, name) values(1002,"花江");
      Query OK, 1 row affected (0.01 sec)

      mysql> select * from stuinfo;
      +------+--------+
      | id | name |
      +------+--------+
      | 1001 | 小天才 |
      | 1002 | 花江 |
      +------+--------+
      2 rows in set (0.00 sec)
    3. 修改表中数据 update 表名 set 属性 = xxx where 限制条件;

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      mysql> update stuinfo
      -> set name = "天空龙"
      -> where id = 1002;
      Query OK, 1 row affected (0.01 sec)
      Rows matched: 1 Changed: 1 Warnings: 0

      mysql> select * from stuinfo;
      +------+--------+
      | id | name |
      +------+--------+
      | 1001 | 小天才 |
      | 1002 | 天空龙 |
      +------+--------+
      2 rows in set (0.01 sec)
  6. 查看服务器版本:

    1. 在mysql命令行下:select version();

      1
      2
      3
      4
      5
      6
      7
      mysql> select version();
      +-----------+
      | version() |
      +-----------+
      | 8.0.26 |
      +-----------+
      1 row in set (0.01 sec)
    2. 在cmd下:mysql --version

      1
      2
      3
      xiong@SURFACE-PRO6 C:\Users\xiong
      # mysql --version
      mysql Ver 8.0.26 for Win64 on x86_64 (MySQL Community Server - GPL)
3.2 图形化数据库管理软件的使用

此处以DataGrip为例

1.新建项目

image-20210817204911546

2.选择数据源

image-20210817204810167

3.设置

image-20210817204608049

4.连接成功

image-20210817204715308

5.右键选中的数据库连接。选择Jump to Query Console,即可在控制台中书写sql语句了

image-20210817210942876

6.添加多个数据库源:File –> DataSource –>选择数据源

image-20210817211336419

点击 + 选择数据库类型,并新建连接

image-20210817211437787