从零学Java MySQL

news/2024/12/31 1:22:26/

MySQL

文章目录

  • MySQL
    • 初识数据库
      • 思考:
      • 1 什么是数据库?
      • 2 数据库管理系统
    • 初识MySQL
    • MySQL卸载
    • MySQL安装
      • 1 配置环境变量
      • 2 MySQL目录结构及配置文件
    • 连接MySQL数据库
    • 基本命令
      • MySQL基本语法:
      • 1 查看MySQL服务器中所有数据库
      • 2 创建数据库
      • 3 查看数据库创建信息
      • 4 修改数据库编码
      • 5 删除数据库
      • 6 查看当前所使用的数据库
      • 7 切换使用数据库
    • 客户端工具

初识数据库

思考:

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

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

以上存储方式有缺点吗?

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

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 的查询结果编辑界面等优点。

http://www.ppmy.cn/news/1330935.html

相关文章

三、Nacos源码系列:Nacos服务注册流程(二) - NotifyCenter事件发布机制

目录 一、NotifyCenter类分析 1.1、NotifyCenter简介 1.2、DefaultPublisher 1.3、DefaultSharePublisher 二、事件发布 三、事件处理 四、总结 一、NotifyCenter类分析 通过对Nacos服务端处理客户端的服务注册请求的分析,我们看到好像并没有处理很多事情。…

【教程】如何在苹果手机上查看系统文件?

​ 目录 引言 用户登录工具和连接设备 查看设备信息,电池信息 查看硬盘信息 硬件信息 查看 基带信息 销售信息 电脑可对手机应用程序批量操作 运行APP和查看APP日志 IPA包安装测试 注意事项 引言 苹果手机与安卓手机不同,无法直接访问系统文件…

ASCB1系列一体式智能微型断路器 智慧空开-安科瑞 蒋静

1. 概述 ASCB1系列智能微型断路器(一体式)(以下简称智能微型断路器)应用于户内建筑物及类似场所的工业、商业、民用建筑及基础设施等领域低压终端配电网络。智能微型断路器对用电线路的关键电气参数,如电压、电流、功率、温度、漏电、能耗等…

数据结构之树和森林

数据结构之树和森林 1、树的存储结构2、树和森林的遍历2.1、树的遍历2.2、森林的遍历 3、树、森林和二叉树之间的相互转换 数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发&#xff0…

网络协议与攻击模拟_06攻击模拟SYN Flood

一、SYN Flood原理 在TCP三次握手过程中, 客户端发送一个SYN包给服务器服务端接收到SYN包后,会回复SYNACK包给客户端,然后等待客户端回复ACK包。但此时客户端并不会回复ACK包,所以服务端就只能一直等待直到超时。服务端超时后会…

【python文件】生成的csv文件没两行数据之间有一个空行

问题描述 用python代码将数据写入csv文件,但生成的csv文件没两行数据之间有一个空行,如下图所示: 解决办法 在open函数中添加newline,如以下代码所示,即可解决这一问题。 with open(r"C:\Users\xxx\Desktop\DR…

快速入门:使用 Gemini Embeddings 和 Elasticsearch 进行向量搜索

Gemini 是 Google DeepMind 开发的多模态大语言模型家族,作为 LaMDA 和 PaLM 2 的后继者。由 Gemini Ultra、Gemini Pro 和 Gemini Nano 组成,于 2023 年 12 月 6 日发布,定位为 OpenAI 的竞争者 GPT-4。 本教程演示如何使用 Gemini API 创建…

简述Elasticsearch(ES)是什么 全文搜索概念 (倒排索引 管理文档)

今天 我们来说说 NoSql 中的 Elasticsearch 大家基本都叫它 ES 官方介绍 它是一个分布式全文搜索引擎 分布式是一个系统架构的概念 而 全文搜索引擎 全文搜索 可以说基本大家天天都在接触 就比如 我们京东购物 想买什么东西 在全文输入框中搜索 它就会在所有物品中 帮你找出需…