Mac IntelliJ IDEA连接和操作MySQL数据库

2023-05-16

想要IntelliJ IDEA后台开发,数据库的连接时必不可少的,这里我们选择开源的,同时也是使用人数比较多的一种数据库MySQL。

第一步:MySQL的下载安装

到MySQL官网下载,找到MySQL Community Edition (GPL),这个是MySQL的开源版本,是免费的,而上面的MySQL Enterprise是收费版本。对于刚开始学习MySQL的来说,免费版已经包含需要学习的所有功能
在这里插入图片描述
点击Downloads>>,进入MySQL Community Downloads页面,我们下载MySQL Community Server
在这里插入图片描述
点击DOWNLOAD,进入Download MySQL Community Server页面,现在已经到8.0.15版本了,但我们选择比较稳定的版本,这样出了问题在网上也好找解决方法:
在这里插入图片描述
点击MySQL Community Server 5.7.25,我们选择.dmg格式的安装包,图形化界面安装
在这里插入图片描述
点击Download
在这里插入图片描述
没有MySQL账号的同学,就点击下面的no thanks链接下载即可:
在这里插入图片描述
下载好安装包之后开始安装,一切都按照安装提醒去做,一般不会错。耐心等待程序安装,安装完成后,会弹出一个小窗口,上面记录了你的用户名root@localhost,用户名后面那一串字符就是初始密码,你可以通过拷贝或者截图把这个密码记住,后面有用。点击OK,关闭密码窗口。
在这里插入图片描述
第二步:MySQL的启动和初始化

1.安装完成后,点击小苹果图标,然后点击系统偏好设置,在打开的窗口中拉到最底下,就能看到MySQL的软件图标了
在这里插入图片描述
在这里插入图片描述
2.点击MySQL的软件图标,会自动打开MySQL的管理界面,可以看到MySQL默认是关闭的,我们启动MySQL,点击后面的Start MySQL Server按钮,这个时候普通用户也需要输入密码。稍等片刻以后就能看到MySQL的状态变成了running状态,表示MySQL已经启动了。在这里插入图片描述
3.现在我们需要登录MySQL,打开终端,输入命令:

ps aux | grep mysql

这个命令,查看mysql进程是否存在,从下面图中可以看到,确实存在,说明mysql正常运行。
在这里插入图片描述
4.MySQL默认安装到/usr/local/myslq目录下,我们先执行命令切换到这个目录底下,然后使用ls命令查看:

cd /usr/local/mysql


ls

结果如下图中所示,可以看到对应的bin、lib、doc等等目录确实在这里。然后切换到bin目录下,查看,可以看到mysql的可执行命令都在这个目录下面。
在这里插入图片描述
5.我们在这个目录下执行命令,执行命令时需要输入密码,就是安装过程中记下来的初始化密码,如果不报错,如下面图中这样,表示正常登录了。能看到服务器的版本信息,以及mysql命令行界面。

./mysql -u root -p 

在这里插入图片描述
6.因为初始密码比较复杂,我们需要将它修改为我们容易记录的密码,执行下面的命令来修改:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

FLUSH PRIVILEGES;

在这里插入图片描述
yourpassword指的是你自己需要设置的密码。执行完成后退出。

7.创建数据库,接着上面的终端操作,输入命令(使用数据库):

use mysql;   

输入命令:

create database if not exists database_name;   

database_name是你要创建的数据库名字,请自行修改。

第三步:在IDEA里面连接数据库

  1. 自行去创建一个Java项目,然后编辑右边栏的Database,然后点击➕:
    在这里插入图片描述
    在这里插入图片描述
    2.填写连接数据库的信息:
    在这里插入图片描述
    3.如果一切顺利的话会在右侧显示你创建的数据库,下面我们在数据库建一个table:
    在这里插入图片描述
    在这里插入图片描述
    一切添加好之后,点击Excute,如果创建成功你会在右侧数据库栏看到你建好的表。然后我们通过Java代码向表里面写数据:
    在这里插入图片描述
    4.到这里也就完成了数据库的操作,但是当你在向表里面写入的数据是汉字时,你会发现出现的是,也就是乱码,这是因为编码MySQL数据库建表时编码的问题。我们来查看下表内的编码格式,打开终端,输入命令:
show variables like 'character%';

在这里插入图片描述
我们看到服务器serve和数据库database设置都是latin1格式,我们希望将其改成utf8格式,怎么做呢?

5.修改服务器和数据库的编码格式,我们到系统偏好里面点击Stop MySQL Server关闭mysql的服务

在这里插入图片描述网上说需要一个在/etc 目录下添加一个 my.cnf文件,然而我的电脑里面根本没有。还有的说是将/usr/local/mysql/support-files目录下的文件my-default.cnf拷贝到/etc目录下,并改名为my.cnf,然而我的电脑里面也没有my-default.cnf文件。很无奈,继续找方法吧,还真找到一个,说既然没有这个文件我们就给他创建一个my.cnf文件不就好了吗?于是我们去创建一个:
打开终端,输入命令行:

cd /etc

找到/etc目录,创建文件:

sudo vi my.cnf

点击i编辑文件,输入内容:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

再按esc,退出编辑,然后输入:

:wq

我们在查看show variables like 'character%';时,你会发现已经改过来了。
在这里插入图片描述
这时候你再去向表里添加汉子就不会再有乱码了。

到目前我们使用的是IntelliJ IDEA的Database,它也是一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis 有很好的支持,比如配置好了 Database 之后,IntelliJ IDEA 会自动识别 domain 对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。

第四步:使用Navicat Premium可视化数据库

使用Navicat显示数据库时要简便的一些,不需要你去终端配置编码问题了,在添加字段是就可以选择编码类型。在这里插入图片描述
在这里插入图片描述
然后在连接数据库时加上这句:?useUnicode=true&characterEncoding=UTF-8,也就是jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=UTF-8

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac IntelliJ IDEA连接和操作MySQL数据库 的相关文章

  • 将 UPDATE 转换为 INSERT INTO ON DUPLICATE KEY UPDATE 语句

    我有这个 UPDATE MySQL 语句 效果很好 UPDATE table1 Inner Join table2 ON table2 id table1 gw id SET table1 field1 1 table1 field2 2
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • MySql 最后插入 ID,连接器 .net

    我正在使用 MySql Connector net 我需要获取最后一个查询生成的插入 id 现在 我假设返回值是MySqlHelper ExecuteNonQuery应该是最后一个插入id 但它只返回1 我正在使用的代码是 int inse
  • 如何在 phpmyadmin 中创建 MySQL 触发器

    我想在 MySQL 中创建一个触发器 我运行以下命令 mysql gt delimiter mysql gt CREATE TRIGGER before insert money BEFORE INSERT ON money gt FOR
  • 为什么 MySQL 创建带有 _seq 后缀的表?

    我创建了一个 InnoDB 表 名为foo在 MySQL 中 一旦我对表执行插入操作 我就会看到另一个表foo seq被建造 如果我删除自动生成的表 它会在下一次插入后出现 是什么原因造成的 听起来像是正在创建一个序列 您是否有自动生成的主
  • 无法启动 MySQL 服务器 - 控制进程退出并出现错误代码

    我的 mysql 服务器停止后无法启动 命令使用 sudo etc init d mysql restart Error 重新启动 mysql 通过 systemctl mysql serviceJob for mysql service
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 如何在Mysql中仅将不同的值从一个表复制到另一个表?

    我有一个大约 2 5GB 的 MySql 数据库 表 A 具有以下列 anoid query date item rank url 我刚刚创建了另一个仅包含列的表 b query and date 我想在查询列中插入所有不同的记录 及其各自
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 映射 mysql 中同一个表的多个值

    您好 我必须使用另一个表中的值 id 获取文本值 表 1 包含值 ID 表 2 包含名称和值 ID 表 1 SEVERITY OCCURENCE DETECTABILITY 2 3 4 表 2 id name value 1 Very Hi

随机推荐

  • Cannot make a static reference to the non-static method XXX() from the type XXX

    不能用调用静态方法的方式调用一个非静态的方法 xff1a 我在定义方法的时候不是static的 出现这个报错是因为java调用任何方法都要实例化 xff0c c 43 43 里有函数的概念 xff0c 但是java里的函数实际上是类的方法
  • 【2022_10_17】PX4学习

    commander cpp内 int Commander custom command int argc char argv 221行 该函数接受所有commander输入的参数 xff0c strcmp比较后调用不同的函数 strcmp返
  • how to solveE:Unmet dependencies.Try‘apt --fix ^^^^^

    span class token function sudo span span class token function apt span span class token function install span span class
  • PX4报错FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-configure解决

    PX4仿真gazebo报错 make px4 sitl default gazebo Configuring incomplete errors occurred span class token operator span See als
  • 汉诺塔问题的解法

    问题描述 相传在古印度圣庙中 xff0c 有一种被称为汉诺塔 Hanoi 的游戏 该游戏是在一块铜板装置上 xff0c 有三根杆 编号A B C xff0c 在A杆自下而上 由大到小按顺序放置64个金盘 如下图 游戏的目标 xff1a 把A
  • 51单片机——串口通信(发送和接受数据)

    目录 一 实现的功能 二 串口通信 2 1单片机发送数据 2 1 1串口初始化 2 1 2串口发送程序 2 1 3发送效果 2 2单片机接收数据 2 2 1串口初始化 2 2 2接收数据程序 2 2 3接收效果 一 实现的功能 通过串口 x
  • 无人机仿真SLAM_gazebo&promethues

    无人机仿真 总体概述系统要求 PX4固件简介无人机固件整体框图无人机软件框图无人机硬件模型 Mavlink模块位置估计与姿态估计模块安装与编译二次开发 机载计算机程序控制模块估计模块仿真模块SLAM模块SLAM效果演示 总体概述 无人机仿真
  • 编译orbslam2时,Pangolin could not be found because dependency Eigen3 could not be found,解决方法

    是因为使用了pangolin0 6版本 xff0c 需要重新安装0 5版本的pangolin 1 在pangolin的build文件夹下 sudo make uninstall 2 usr local include 删除pangolin文
  • CMakeLists.txt常用语法

    0 绪 cmake 是一个跨平台 开源的构建系统 它是一个集软件构建 测试 打包于一身的软件 它使用与平台和编译器独立的配置文件来对软件编译过程进行控制 1 常用命令 1 1制定cmake最小版本 cmake minimum require
  • Vue 模板

    原文 在Vue中 xff0c Vue模板对应的就是Vue中的View xff08 视图 xff09 部分 xff0c 也是Vue重中之一 xff0c 而在Vue中要了解Vue模板我们就需要从两个方面来着手 xff0c 其一是Vue的模板语法
  • Ubuntu:系统分区

    在系统分区之前 先进行磁盘分区 这里针对的是window10系统下安装ubuntu双系统 需要在window10下进行磁盘分区来安装ubuntu系统 一 磁盘分区 win10系统下 右击此电脑 xff0c 点击管理就进入磁盘管理 这时候可以
  • Mac 安装node.js

    Mac系统安装Node js xff0c 下载地址 如上图安装路径 xff1a This package will install Node js v16 19 1 to usr local bin node span class toke
  • MySQL 常用函数(二)

    ABS函数 xff1a 求绝对值 绝对值函数 ABS x 返回 x 的绝对值 正数的绝对值是其本身 xff0c 负数的绝对值为其相反数 xff0c 0 的绝对值是 0 span class token keyword SELECT span
  • MyBatis Mapper常用动态SQL之foreach 、if、choose、where、when

    if语句 lt if gt 判断语句 xff0c 用于单条件分支条件判断 使用 lt if gt 元素对参数username和jobs进行非空判断 xff0c 并动态组装SQL xff1a span class token keyword
  • Java 查看官方Java API文档

    话不多说 xff0c 直接上方法 打开官网址 xff1a http www oracle com technetwork cn java javase downloads index html 方式一 在线浏览 点击Java 文档 xff1
  • iOS-微信分享成功回调问题

    本人用ShareSDK做分享和第三方登录 xff0c 登录先不讲 xff0c 本节只做分享成功或失败后回调问题 相信好多人会有这个疑惑就是在微信分享成功后没有成功后的方法回调 xff0c 我在ShareSDK论坛也发表过帖子问过 xff0c
  • iOS-常见三种加密(MD5、非对称加密,对称加密)

    任何应用的开发中安全都是重中之重 xff0c 在信息交互异常活跃的现在 xff0c 信息加密技术显得尤为重要 在app应用开发中 xff0c 我们需要对应用中的多项数据进行加密处理 xff0c 从而来保证应用上线后的安全性 xff0c 给用
  • iOS-开辟子线程(NSThread、NSOperationQueue、GCD)

    本节主要总结一些开辟子线程的常用的几种方法 一 通过NSThread类开辟子线程 1 NSThread手动开启子线程 span class hljs comment 创建线程对象 span span class hljs built in
  • Mac 安装 IntelliJ IDEA 以及激活方法

    之前一直在苹果移动端开发 xff0c 这里想了解下Java后台的开发 xff0c 以至于更好的配合后台工作 xff0c 下面说下破解版的安装过程 xff08 Mac xff09 第一步 xff1a 下载Java开发工具 这里我们选择比较好的
  • Mac IntelliJ IDEA连接和操作MySQL数据库

    想要IntelliJ IDEA后台开发 xff0c 数据库的连接时必不可少的 xff0c 这里我们选择开源的 xff0c 同时也是使用人数比较多的一种数据库MySQL 第一步 xff1a MySQL的下载安装 到MySQL官网下载 xff0