前言
本文档详细记录在 datagrip 工具中操作 mysql 数据库的全流程,包括登录 mysql、创建数据库、切换用户、创建表、导入数据、查询数据等核心步骤
一、登录 mysql 服务器
1.1 打开 datagrip 并添加数据源
- 启动 datagrip 软件,进入主界面;
- 打开左侧「database」工具窗口(若未显示,通过顶部菜单栏「view > tool windows > database」调出);
- 点击 database 窗口左上角的「+」图标,在下拉菜单中选择「data source > mysql」。
1.2 配置 mysql 连接信息
在弹出的「data source properties」窗口中,按以下要求填写信息:
配置项 | 说明 |
host | mysql 服务器地址(本地连接默认填localhost或127.0.0.1) |
port | mysql 端口号(默认3306,若修改过端口需填写自定义端口) |
user | 登录用户名(初始默认用户为root,若有其他用户可填写对应用户名) |
password | 对应用户名的密码(输入时以圆点隐藏,确保密码正确) |
database | 暂不填写(后续创建数据库后再指定) |
填写完成后,点击窗口下方的「test connection」按钮:
- 若提示「success」,说明连接配置正确;
- 若连接失败,检查:① mysql 服务是否已启动;② 用户名 / 密码是否正确;③ 端口是否被占用。
1.3 完成登录
点击「data source properties」窗口右下角的「ok」按钮,mysql 服务器会显示在左侧 database 窗口中,展开后可查看服务器上已存在的数据库,登录操作完成。
二、创建数据库
提供两种创建方式,可根据操作习惯选择:
2.1 图形化界面创建(推荐新手)
- 在左侧 database 窗口中,右键点击已连接的 mysql 服务器名称;
- 在下拉菜单中选择「new > database」;
- 在弹出的「create database」窗口中,配置以下信息:
- name:数据库名称(自定义,如school_db,需符合 mysql 命名规范:不包含特殊字符、不与关键字重复);
- character set:选择utf8mb4(支持中文、emoji 等特殊字符,避免乱码);
- collation:默认选择utf8mb4_general_ci(与utf8mb4字符集匹配,无需手动修改);
- 点击「ok」按钮,新创建的数据库会自动显示在 mysql 服务器的数据库列表中(若未显示,右键点击服务器名称选择「refresh」刷新)。
2.2 sql 命令创建(适合熟悉 sql 的用户)
- 右键点击已连接的 mysql 服务器名称,选择「new > sql file」;
- 在弹出的窗口中输入 sql 文件名(如create_database.sql),点击「ok」;
- 在 sql 编辑器中输入以下代码(以创建school_db数据库为例):
-- 若数据库不存在则创建,指定字符集和排序规则 create database if not exists school_db character set utf8mb4 collate utf8mb4_general_ci;
- 确认 sql 编辑器右上角的「数据库连接」已选中当前 mysql 服务器;
- 点击编辑器左侧的绿色「运行」按钮(或按快捷键ctrl+enter),执行 sql 语句;
- 执行成功后,底部控制台会显示「query executed successfully」,刷新数据库列表即可看到新创建的school_db。
三、切换用户(可选,多用户管理场景)
若需使用非root用户操作数据库(如只读用户、开发用户),可按以下步骤切换:
- 右键点击左侧 database 窗口中的 mysql 服务器名称,选择「properties」;
- 在「data source properties」窗口中,找到「user & password」选项,点击右侧的「+」图标;
- 在弹出的「add user」窗口中,输入新用户名和对应的密码,点击「ok」;
- 选中新添加的用户,点击「test connection」验证连接(确保该用户已在 mysql 中创建并授予权限);
- 验证通过后,点击「ok」关闭窗口,完成用户切换。
补充说明:若新用户无操作权限,需用root用户登录后执行授权 sql(示例:授予dev_user操作school_db的权限):
grant select, insert, update, delete on school_db.* to 'dev_user'@'localhost'; flush privileges; -- 刷新权限使其生效
四、创建数据库表(以students表为例)
4.1 选择目标数据库
双击左侧 database 窗口中的school_db数据库,使其名称变为粗体(表示当前工作数据库,后续操作默认在该数据库下执行)。
4.2 图形化界面创建表
- 展开school_db数据库下的「tables」节点,右键点击「tables」,选择「new > table」;
- 在弹出的「create table」窗口中,先在顶部「table name」输入框填写表名(如students);
- 点击窗口中间的「+」按钮,依次添加表字段并配置属性,示例配置如下:
列名(name) | 数据类型(data type) | 约束(constraints) | 说明(comment) |
id | int | pk(主键)+ ai(自增)+ nn(非空) | 学生唯一 id(自动生成,不重复) |
name | varchar(50) | nn(非空) | 学生姓名(必填) |
age | int | - | 学生年龄(可选) |
gender | varchar(2) | - | 学生性别(如 “男”“女”) |
score | decimal(5,2) | - | 学生成绩(总 5 位,小数 2 位) |
- (可选)添加表注释:切换到「comments」标签页,在输入框中填写表描述(如 “存储学生基本信息和成绩”);
- 点击窗口底部的「ok」按钮,students表会自动添加到「tables」节点下,创建完成。
4.3 sql 命令创建表
- 右键点击school_db数据库,选择「new > sql file」,输入文件名(如create_students_table.sql);
- 在 sql 编辑器中输入以下代码:
-- 若表不存在则创建,包含字段约束和注释 create table if not exists students ( id int primary key auto_increment comment '学生唯一id(自增)', name varchar(50) not null comment '学生姓名(必填)', age int comment '学生年龄', gender varchar(2) comment '学生性别(男/女)', score decimal(5,2) comment '学生成绩(5位数字,2位小数)' ) comment '学生信息表'; -- 表注释
- 选中 sql 代码,点击「运行」按钮(或ctrl+enter),执行成功后刷新「tables」列表,即可看到students表。
五、导入数据(以 csv 文件为例)
5.1 准备 csv 数据文件
- 用 excel 或记事本创建students_data.csv文件,内容格式如下(第一行为列名,后续为数据,用逗号分隔):
name,age,gender,score 张三,18,男,92.50 李四,19,女,88.00 王五,17,男,95.50 赵六,18,女,90.00
- 保存文件时,选择编码格式为「utf-8」(避免中文乱码),并确认文件后缀为.csv。
5.2 导入数据到students表
- 在左侧 database 窗口中,右键点击students表,选择「import data from file」;
- 在文件选择窗口中,找到并选中students_data.csv,点击「open」;
- 在弹出的「import data」配置窗口中,按以下要求检查配置:
- file encoding:选择「utf-8」(与 csv 文件编码一致);
- first row is header:勾选(表示 csv 第一行为列名,不视为数据);
- column mapping:确认 csv 列与表字段一一对应(如 “name” 对应 “name”、“age” 对应 “age”,默认按名称匹配,无需手动调整);
- 点击「ok」按钮,开始导入数据,导入完成后会弹出提示(如 “4 rows imported successfully”,表示 4 条数据导入成功)。
六、查询数据
提供两种查询方式,满足不同操作需求:
6.1 可视化查看数据(快速浏览)
- 在左侧 database 窗口中,右键点击students表;
- 在下拉菜单中选择「edit data」,会弹出数据编辑窗口;
- 窗口中以表格形式展示students表的所有数据,可直接手动添加、修改或删除数据(修改后点击「保存」按钮生效)。
6.2 sql 命令查询数据(灵活筛选)
- 右键点击school_db数据库,选择「new > sql file」,输入文件名(如query_students.sql);
- 在 sql 编辑器中输入查询代码(示例如下),可根据需求修改条件:
-- 1. 查询所有学生的完整信息 select * from students; -- 2. 查询成绩大于90分的学生(只显示姓名和成绩) select name, score from students where score > 90; -- 3. 按年龄升序排列,查询前3名学生 select name, age, score from students order by age asc limit 3; -- 4. 统计不同性别的学生人数 select gender, count(*) as student_count from students group by gender;
- 选中需要执行的 sql 语句,点击「运行」按钮(或按ctrl+enter);
- 执行结果会显示在下方的「result」窗口中,可通过窗口中的「导出」按钮将结果保存为 excel、csv 等格式。
七、常见问题及解决方案
问题现象 | 可能原因 | 解决方案 |
导入数据时提示 “列数量不匹配” | csv 列数与表字段数不一致;列名匹配错误 | 1. 检查 csv 文件列数是否与表字段数一致;2. 在导入配置窗口手动调整列映射关系 |
查询中文数据显示乱码 | 数据库 / 表字符集不是 utf8mb4;csv 编码不是 utf-8 | 1. 重新创建数据库 / 表,指定字符集为 utf8mb4;2. 重新保存 csv 为 utf-8 编码 |
创建表时提示 “权限不足(access denied)” | 当前用户无 create table 权限 | 1. 切换到 root 用户操作;2. 用 root 用户授予当前用户创建表权限(参考 “切换用户” 章节的授权 sql) |
连接 mysql 时提示 “端口 3306 被占用” | 其他程序占用了 3306 端口;mysql 服务未启动 | 1. 关闭占用 3306 端口的程序;2. 重启 mysql 服务(通过 windows 服务管理器或命令行) |
总结
到此这篇关于在datagrip中操作mysql完整流程步骤的文章就介绍到这了,更多相关datagrip操作mysql内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论