从零学Java MySQL

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.mzph.cn/news/644303.shtml

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

相关文章

leetcode—课程表 拓扑排序

1 题目描述 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 …

《WebKit 技术内幕》学习之五(2): HTML解释器和DOM 模型

2.HTML 解释器 2.1 解释过程 HTML 解释器的工作就是将网络或者本地磁盘获取的 HTML 网页和资源从字节流解释成 DOM 树结构。 这一过程中,WebKit 内部对网页内容在各个阶段的结构表示。 WebKit 中这一过程如下:首先是字节流,经过解码之…

ORBSLAM3安装

0. C11 or C0x Compiler sudo apt-get install gccsudo apt-get install gsudo apt-get install build-essentialsudo apt-get install cmake1. 依赖 在该目录终端。 1. 1.Pangolin git clone https://github.com/stevenlovegrove/Pangolin.git sudo apt install libglew-d…

Python基础第九篇(Python可视化的开发)

文章目录 一、json数据格式(1).转换案例代码(2).读出结果 二、pyecharts模块介绍三、pyecharts模块入门(1).pyecharts模块安装(2).pyecharts模块操作(1).代码…

C++力扣题目509--斐波那契数 70--爬楼梯 746--最小花费爬楼梯

509. 斐波那契数 力扣题目链接(opens new window) 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n -…

了解WPF控件:PrintDialog常用属性与用法(八)

掌握WPF控件:熟练常用属性(八) PrintDialog -一个对话框,用于在打印文档时显示打印设置参数供用户选择并确认。通过该控件,用户可以选择打印机、打印的范围、打印的份数、打印质量等。 常用属性描述CurrentPageEnab…

制作编写使用说明书:在结构、风格与内容方面需要注意什么?

如今,一个清晰、简洁、易于理解的使用说明书不仅能够帮助用户正确地使用产品,还能提升用户体验并树立品牌形象。而制作编写一份优质的使用说明书需要我们在结构、风格与内容三个方面下功夫。那么在制作编写使用说明书时需要注意哪些关键要素呢&#xff1…

【JavaWeb】日程管理系统 项目搭建 第二期

文章目录 一、数据库准备二、导入依赖 与 JDBC工具类三、pojo包处理四、daodao包工具类 五、service六、controllerservlet 基类 反射 七、加密工具类 MD5八、页面文件九、业务代码9.1 注册业务处理9.2 登录业务处理 总结 一、数据库准备 创建数据库: SET NAMES …

骨传导耳机综评:透视南卡、韶音和墨觉三大品牌的性能与特点

在当前的蓝牙音频设备领域中,骨传导蓝牙运动耳机以其出色的安全特性和舒适的体验,受到了健身爱好者们的广泛好评。这类耳机不同于我们常见的入耳式耳机,它的工作方式是直接通过振动将声音传递到用户的耳骨中,这样既可以享受音乐&a…

【nowcoder】链表的回文结构

牛客题目链接 链表的回文结构 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {} };*/ #include <cstdlib> // 建议大伙自己对照我的代码画下图&#xff0c;假设A链表是&#xff1a;1 2 3 2 1 class PalindromeList { publi…

【学网攻】 第(7)节 -- 生成树配置

文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan【学网攻】 第(5)节 -- Cisco VTP的使用【学网攻】 第(6)节 -- 三层交换机实现VLAN间路由 前言 网络已经成为…

vscode 如何指定启动文件?

launch.json 里面可以指定&#xff0c;launch.json 在打开文件夹的时候可以创建&#xff0c;或者手动创建

不合格机器人工程讲师再读《悉达多》-2024-

一次又一次失败的经历&#xff0c;让我对经典书籍的认同感越来越多&#xff0c;越来越觉得原来的自己是多么多么的无知和愚昧。 ----zhangrelay 唯物也好&#xff0c;唯心也罢&#xff0c;我们都要先热爱这个世界&#xff0c;然后才能在其中找到自己所热爱的事业。 ----zh…

vue2项目打包到测试环境之后报错require is not defined

配置打包命令npm run build:test到测试环境之后报错&#xff0c;打包到生产环境没有问题&#xff0c;查找了项目中的require引入似乎也没啥有问题的地方&#xff0c;所以排除是require的原因 环境变量文件&#xff1a; 打包指令&#xff1a; 解决办法&#xff1a; 将.env.tes…

[docker] Docker 网络和Cgroup

一、Docker 网络 1.1 Docker 网络实现原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&#xff0c;Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c;同时Docker网桥是每个容器的默认…

【C/C++】C/C++编程——C++ 开发环境搭建

C的开发环境种类繁多&#xff0c;以下是一些常见的C 集成开发环境&#xff1a; AppCode &#xff1a;构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C&#xff0c;C,C&#xff0c;Java和Java开发的集成开发环境CLion&#xff1a;来自JetBrains的跨平台的C/C的集成开…

《动手学深度学习(PyTorch版)》笔记2

Chapter2 Preliminaries 2.1 Automatic Differentiation 让计算机实现微分功能&#xff0c; 有以下四种方式&#xff1a; - 手工计算出微分&#xff0c; 然后编码进代码 - 数值微分 (numerical differentiation) - 符号微分 (symbolic differentiation) - 自动微分&#xff0…

java web mvc-03-JFinal

拓展阅读 Spring Web MVC-00-重学 mvc mvc-01-Model-View-Controller 概览 web mvc-03-JFinal web mvc-04-Apache Wicket web mvc-05-JSF JavaServer Faces web mvc-06-play framework intro web mvc-07-Vaadin web mvc-08-Grails JFinal JFinal 是基于 Java 语言的极…

Shell脚本③条件语句、if命令和case命令

目录 一.条件语句 1.test测试条件表达式 2.整数数值比较 &#xff08;1&#xff09;比较两个整数大小 &#xff08;2&#xff09;查看系统剩余内存是否低于1024M 3.逻辑测试 4.三元运算符 二.if命令 1.单分支结构 2.双分支结构 3.多分支结构 三.case语句 四.脚本 …

代码随想录算法训练营第十三天|层序遍历10,226.翻转二叉树,101.对称二叉树

系列文章目录 代码随想录算法训练营第一天|数组理论基础&#xff0c;704. 二分查找&#xff0c;27. 移除元素 代码随想录算法训练营第二天|977.有序数组的平方 &#xff0c;209.长度最小的子数组 &#xff0c;59.螺旋矩阵II 代码随想录算法训练营第三天|链表理论基础&#xff…