从零学Java MySQL

news2024/10/4 23:49:37

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.coloradmin.cn/o/1406084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 之LeetCode刷题记录(十六)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 100. 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在…

DophineScheduler通俗版

1.DophineScheduler的架构 ZooKeeper: AlertServer: UI: ApiServer: 一个租户下可以有多个用户;一个用户可以有多个项目一个项目可以有多个工作流定义,每个工作流定义只属于一个项目;一个租户可…

深入了解WPF控件:常用属性与用法(七)

掌握WPF控件:熟练常用属性(七) Menu 用于为应用程序指定命令或选项的项列表。它允许用户通过选择不同的菜单项来执行不同的命令或操作。 每个 Menu 可以包含多个 MenuItem 控件。 每个 MenuItem 都可以调用命令或调用 Click 事件处理程序。…

5G-A:“繁花”盛开在2024

2019年,我国正式发牌5G,开启5G商用新时代。通信技术十年一代,五年过去了,5G是否要进入“半代更迭”阶段? 2024年被视为5G-A商用元年,是5G走向6G的关键一跃。5G-A以R18为演进起点,在连接速率、网…

机械臂雅可比矩阵的矢量积理解和matlab实现

雅可比矩阵的第Ji列: 关于一些基本概念可以参考博客,部分细节如下: 每个移动关节,Ji可以这样计算: 每个旋转关节,Ji这样计算: 有时候要求按照末端执行器坐标系{n}来执行一些位移旋转之类的…

[Linux]HTTP状态响应码列举

1xx:信息响应类,表示接收到请求并且继续处理 2xx:处理成功响应类,表示动作被成功接收、理解和接受 3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理 4xx:客户端错误&#x…

什么是线段树?

线段树是用于储存区间信息的数据结构。 线段树将区间划分为左右子区间进行递归求解,便形成了树形结构。并通过合并两区间信息从而取得任意区间信息 例如对于数组a{10, 11, 12, 13, 14},那么就可以构建以下线段树 构建 以数组作为线段树的基本结构&…

残差连接是什么意思

残差连接是深度神经网络中一种用于缓解梯度消失问题的技术。它的核心思想是通过将网络的输入直接传递到网络的输出,从而构建了一条直达路径,使得梯度更容易通过整个网络传播。这有助于在训练深层网络时避免梯度消失或梯度爆炸的问题。 在残差连接中&…

linux|操作系统|centos7物理机安装网卡驱动8188gu(内核升级,firmware固件,USB设备管理,module管理)

前言: 目前服务器领域centos7基本是主流的操作系统,而linux相对于Windows来说,软硬件方面的支持是差很多的,在硬件方面来说,以一个免驱的网卡为例,window xp可能不会自动识别到,但Windows10基本…

数据库中的经纬度数据如何在QGIS中显示

思路:必须先将经纬度数据转换成POINT,MULTILINESTRING等格式才能在QGIS中展示 步骤 1、首先在postgresql数据中建一张包括经纬度数据的表 **注意:**如果是新建数据库,一定要执行如下代码,否则后面的函数ST_GeomFrom…

使用fastapi和apifox实现后端接口

使用python文件import fastapi和uvicorn编写接口脚本 格式例: from pydantic import BaseModel from fastapi import FastAPI import uvicorn import jsonappFastAPI()class Response_data(BaseModel):re: strclass YourService():def __init__(self):passdef f(s…

【centos7安装docker】

背景: 学习docker,我是想做一个隔离环境,并且部署的话,希望实现自动化,不为安装软件而烦恼,保证每个人的环境一致。 2C4G内存 50G磁盘的虚拟机事先已经准备完毕。 1.查看下centos版本,docker要…

pytest自动化测试框架—基础篇

Pytest是一种基于Python编程语言的自动化测试框架,它提供了丰富的功能和灵活的扩展性,可以用于单元测试、集成测试、功能测试、端到端测试等多种场景。本文将介绍Pytest框架的基础知识,包括安装、配置、运行测试、断言和参数化等方面。 一、安…

shell脚本概念与命令

一、shell的作用 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当 了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执 行的操作传递给内核执行,…

二分法——C++

二分分为整数二分和浮点数二分,其中比较复杂的是整数二分,简单一点的是浮点数二分。 我们首先来说明整数二分,主要来讲解模板。 整数二分: 我们先来说一说使用二分法的前提,要有单调性,然后可以根据某种性质来划分成…

【算法小记】——机器学习中的概率论和线性代数,附线性回归matlab例程

内容包含笔者个人理解,如果错误欢迎评论私信告诉我 线性回归matlab部分参考了up主DR_CAN博士的课程 机器学习与概率论 在回归拟合数据时,根据拟合对象,可以把分类问题视为一种简答的逻辑回归。在逻辑回归中算法不去拟合一段数据而是判断输入…

linux杀毒软件clamav安装使用

1、下载 在下面地址下载:https://www.clamav.net/downloads 2、安装 clamav-1.2.1.linux.x86_64.rpm放在/home路径。 执行: chmod -R 777 /home/clamav-1.2.1.linux.x86_64.rpm rpm -ivh clamav-1.2.1.linux.x86_64.rpm3、下载病毒库 下载路径&am…

数仓建设学习路线(三)元数据管理

什么是元数据? 简单来说就是描述数据的数据,更直白来说就是描述表名、表制作者、表字段、表生命周期、表存粗等信息的数据 元数据该如何管理 工具化 开源: 可通过atlas获取表依赖及信息做二次开发,或者完成可视化界面 平台化&am…

梳理Langchain-Chatchat知识库API接口

一.Langchain-Chatchat 知识库管理 1.Langchain-Chatchat 对话和知识库管理界面 Langchain-Chatchat v0.28 完整的界面截图,如下所示: 2.知识库中源文件和向量库 知识库 test 中源文件和向量库的位置,如下所示: 3.知识库表结构 k…

JavaWeb之开发介绍 --黑马笔记

什么是 Web ? Web:全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站。 Web 网站的工作流程 上图解释: 当你在浏览器中输入网址或点击一个链接时,浏览器会向前端服务器发起请求&…