devStandard/docs/learning/4-nodejs/7-免费的DBeaver.md
2025-03-29 14:35:49 +08:00

4.0 KiB
Executable File

DBeaver

macos上, 用来代替Navicat的开源免费工具

下载

直接google搜索下载社区版就行

语言设置

如果需要设置中文, Preferences --> 搜索language

虽然可以, 但不推荐, 因为出了问题, 搜答案还是搜英文来得快

驱动镜像

Preferences 搜索 Maven, 添加 http://maven.aliyun.com/nexus/content/groups/public/并置顶, 不然驱动下载很慢

连接mysql

  1. 点右上角的加号, 输入主机, 端口, 数据库名(似乎不填也可以), 用户名, 密码
  2. mysql 8 需要在 Drive 里打开一项设置, allowPublicKeyRetrieval TRUE, 不然会报错`Public Key Retrieval is not allowed
  3. 第一次连接需要下两个jar驱动, 速度实在够慢的

建表

  1. 建数据库: databases --> 右键:Create New Database
  2. 建表: 展开数据库 --> Tables右键:Create New Table
  3. 建列: 双击表 --> columns --> 右键:Create New Column
  4. 自增键: 选约束 constraints --> 右键:Create New Constraint --> type选择 PRIMARY KEY -->勾中id
  5. 外键: 先创建列, 点击 Foreign Keys --> Create New Foreign Key --> 选择 Reference table --> Column 选要约束的列

|1052x408

  • 点击 DDL 可以看到完整的建表语句
  • 外键约束: ==尽量不使用,维护成本非常高. 只作为一个普通字段==

7-免费的DBeaver-20240602031626797|541x356

sql查询

注意点: 在2的位置,需要先选中要查的数据库

|569x270

设置

外观

  • sql字体大小Preferences -> User Interface -> Appearance -> Colors and Fonts -> DBeaver Fonts -> Monospace font , 适同于23.0.0版本, 有时不生效, 重启下软件
  • 格式化: 搜索format, 选择Default formatter, 快捷键是 ctrl+shift+f
  • 快捷键: Preferences -> User Interface -> keys, 把 resresh result set 改为 ⌘R, 把 apply changes 改为 ⌘S

技巧

复制为sql脚本

回滚功能

会记录每一步sql脚本变化

==truncate操作无法回滚==

字符集

utf8mb4 是 utf8的超集, 兼容4个字符的表情

使用数据库管理工具只修改库的字符集,修改前的表不会变,修改后新增表会变,字段同理

-- 特殊emoji表情 ✊🙏😃😅🥹😀😇👴🤣

-- 查看库的字符集 [show varuables是查看mysql的系统参数]  
show variables where Variable_name like 'collation%';

-- 查看表的字符集  
SHOW table status from 库名 like '表名';

-- 表中所有字段的字符集  
show full columns from 表名;

-- 修改库的字符集
ALTER DATABASE 库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

-- 修改表和表中所有字段的字符集
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 只修改表的字符集
ALTER TABLE 表名  DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;


-- 修改某个字段字符集:
ALTER TABLE 表名  MODIFY nick_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 修改库中所有表的字符集
SELECT
CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;")
AS target_tables
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="库名" # 修改为需要更改的数据库名称
AND TABLE_TYPE="BASE TABLE"

模板

在设置里可以添加模板Templates, 类似关键字自动补全

-- sf
select * from ${table};

复制表

  1. 用shift+左键选中多个要复制的表
  2. 右键, Generate SQL -- DDL, 生成多条创建表的sql脚本
  3. 在需要导入的数据库, 执行这些sql脚本
  4. ctrl+enter只能执行一条, 右键--->execute-->execute sql script
  5. 在导入的表上, 右键-->import data --> table --> 一一对应

方法2:

  1. 在数据库/表上右键选择转存数据库: tools--> Dump databasel
  2. 在导入的数据库, tools --> Restore database