从零学Java MySQL

MySQL

初识数据库

思考:

现阶段数据存储方式有哪些?

  • 变量、数组、对象、集合,数据保存在内存中:瞬时状态。
  • 文件存储:持久化状态。

以上存储方式有缺点吗?

  • 存储数据量级小。
  • 没有访问安全限制。
  • 没有备份、恢复机制。

1 什么是数据库?

概念:

  • 按照数据结构来组织、存储和管理数据的仓库。
  • 是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。

数据库的分类:

结构描述
网状结构以节点形式存储和访问。
层次结构定向有序的树状结构实现存储和访问。
关系结构Oracle、DB2、MySQL、SQL Server,以表格(Table)存储,多表间建立关联关系,通过分类、合并、连接、选取等运算实现访问。
非关系结构【NoSQL】ElastecSearch、MongoDB、Redis,多数使用哈希表,表中以键值(key-value)的方式实现特定的键和一个指针指向的特定数据。

2 数据库管理系统

**概念:**操作和管理数据库的大型软件,用于建立、使用和维护数据库。

常见的数据库管理系统(DBMS):

数据库管理系统描述
Oracle被认为是业界目前比较成功的关系型数据库管理系统。
DB2DB2数据库系统采用多进程多线索体系结构,其功能足以满足大中公司的需要。
SQL ServerMicrosoft 公司推出的关系型数据库管理系统。
SQLLite应用在手机端的数据库。

初识MySQL

**概念:**广泛使用的关系型数据库管理系统。

  • 1995发布MySQL1.0
  • 2000成立MySQL AB公司
  • 2005发布MySQL5.0
  • 2008被Sun公司收购,发布MySQL5.1
  • 2009Sun被Oracle收购,2010发布MySQL5.5

背景:

  • 由瑞典MySQL AB公司开发,现属于Oracle旗下产品。
  • 是当下最流行的关系型数据库之一。

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

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

MySQL卸载

方式1:一般卸载方法停止服务:

  1. 使用services.msc命令打开服务,找到mysql57关闭。
  2. 控制面板卸载
  3. 删除文件夹
    • 安装位置 program files
    • 数据位置 ProgramData
  4. 检查服务
    • 如果没有删除,手动删除,sc delete mysql57,使用管理员身份运行cmd。

方式2:使用安装包卸载:【推荐】

  • 再次启动安装包,卸载所有组件即可。

MySQL安装

1 配置环境变量

Windows:【可选】

  • MYSQL_HOME:

    C:\Program Files\MySQL\MySQL Server 5.7

  • PATH:

    追加 %MYSQL_HOME%\bin

编码配置:

  • C:\ProgramData\MySQL\MySQL Server 5.7中打开my.ini文件
    • default-character-set=utf8mb4
    • character-set-server=utf8mb4

注意:

  • ProgramData文件夹可能被隐藏
  • 修改后重启MySQL服务

2 MySQL目录结构及配置文件

核心文件:

文件夹名称内容
bin命令、程序文件
lib库文件
include头文件
share错误信息和字符集文件

连接MySQL数据库

通过cmd控制台连接数据库:

  • 输入mysql -u root -p
Microsoft Windows [版本 10.0.22621.3007]
(c) Microsoft Corporation。保留所有权利。

C:\Users\胡昊龙>mysql -u root -p
Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.25-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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>

基本命令

MySQL基本语法:

  • MySQL每条命令或语句通常以;结尾;个别可以不用加分号,比如use、quit、exit。
  • MySQL语句不区分大小写。
  • MySQL字符串、日期使用单引号或双引号包裹。
  • MySQL注释:
    • 单行注释:#开头或者–空格开头
    • 多行注释: /多行注释/

1 查看MySQL服务器中所有数据库

  • show databases;

    mysql> #查看MySQL服务器中所有数据库
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | java2308_db1       |
    | java2308_db2       |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)
    
数据库名称描述
information_schema信息数据库,其中保存着关于所有数据库的信息(元数据)。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。
mysql核心数据库,主要负责存储数据库的用户、权限设置、关键字等,以及需要使用的控制和管理信息,不可以删除。
performance_schema性能优化的数据库,MySQL5.5版本中新增的一个性能优化的引擎。
sys系统数据库,MySQL5.7版本中新增的可以快速的了解元数据信息的系统库。便于发现数据库的多样信息,解决性能瓶颈问题。

2 创建数据库

  • create database 数据库名;

    • 最经常使用的创建方式;

      mysql> #创建数据库
      mysql> create database java2308_db1;
      Query OK, 1 row affected (0.00 sec)
      
  • create database 数据库名 character set utf8mb4;

    • 创建数据库, 并指定数据库编码;

      mysql> #创建数据库并设置数据库编码
      mysql> create database java2308_db3 character set utf8mb4;
      Query OK, 1 row affected (0.00 sec)
      
      mysql> show create database java2308_db3;
      +--------------+--------------------------------------------------------------------------+
      | Database     | Create Database                                                          |
      +--------------+--------------------------------------------------------------------------+
      | java2308_db3 | CREATE DATABASE `java2308_db3` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
      +--------------+--------------------------------------------------------------------------+
      1 row in set (0.00 sec)
      
  • create database if not exists 数据库名;

    • 如果该数据库已经存在,该语句将不会执行任何操作。
      如果该数据库不存在,那么这个语句将会创建一个新的数据库。

      mysql> create database if not exists java2308_db1;
      Query OK, 1 row affected, 1 warning (0.00 sec)
      mysql> create database if not exists java2308_db2;
      Query OK, 1 row affected (0.00 sec)
      

3 查看数据库创建信息

  • show create database 数据库名;

    mysql> #查看数据库创建信息
    mysql> show create database java2308_db1;
    +--------------+--------------------------------------------------------------------------+
    | Database     | Create Database
                              |
    +--------------+--------------------------------------------------------------------------+
    | java2308_db1 | CREATE DATABASE `java2308_db1` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
    +--------------+--------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

4 修改数据库编码

  • alter database 数据库名 character set GBK;

    mysql> #修改数据库编码
    mysql> alter database java2308_db3 character set GBK;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> show create database java2308_db3;
    +--------------+----------------------------------------------------------------------+
    | Database     | Create Database                                                      |
    +--------------+----------------------------------------------------------------------+
    | java2308_db3 | CREATE DATABASE `java2308_db3` /*!40100 DEFAULT CHARACTER SET gbk */ |
    +--------------+----------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

5 删除数据库

  • drop database 数据库名;

    mysql> #删除数据库
    mysql> drop database java2308_db3;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | java2308_db1       |
    | java2308_db2       |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)
    

6 查看当前所使用的数据库

  • select database();

    mysql> #查看当前所使用的数据库
    mysql> select database();
    +------------+
    | database() |
    +------------+
    | NULL       |
    +------------+
    1 row in set (0.00 sec)
    

7 切换使用数据库

  • use 数据库名;

    mysql> #切换使用数据库
    mysql> use java2308_db2;
    Database changed
    mysql> #查看当前所使用的数据库
    mysql> select database();
    +--------------+
    | database()   |
    +--------------+
    | java2308_db2 |
    +--------------+
    1 row in set (0.00 sec)
    

客户端工具

Navicat

  • 快速、可靠、价格便宜的数据库管理工具。
  • 专为简化数据库的管理及降低系统管理成本而设。

在这里插入图片描述

SQLyog

  • SQLyog提供了完整的图形界面
  • 拥有广泛的预定义工具和查询、友好的视觉界面、类似 Excel 的查询结果编辑界面等优点。
  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贰贰柒丶阿拽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值