设计MySQL表结构
更新时间:2024-07-09
DBSC 提供可视化表结构设计方案,您可以在 SQL 窗口中点击鼠标完成表结构的设计,无需再手动输入 SQL 命令。
前提条件
- 数据源类型为 MySQL。
- 开启企业版后,需要拥有 SQL 窗口功能模块权限。
- 开启企业版后,需要拥有对目标数据源的读写权限。
说明
如果您无上述权限,请联系您的系统管理员为您 配置权限 或 绑定角色。
您可以在通过 SQL 窗口创建表或编辑表时设计表结构,本文以创建表为例进行演示。
操作步骤
- 打开 SQL 窗口并进入目标数据源。
-
在 SQL 窗口左侧数据库列表中,右键单击目标数据库,并单击创建表。
注意:
数据表将会创建在该目标数据库中。
-
在创建表页签中,即可开始以可视化的方式设计表结构,系统会根据您的配置自动在页面下方生成 SQL 脚本。
配置类型 说明 通用项 - 表名称:自定义表的名称。
- 库:选择当前表需要创建在哪个数据库下,默认为步骤 2 中右键单击的数据库。
- 表注释:表的注释,即 COMMENT 属性。
列 - Columns:最左侧文本框,输入列的名称,长度最大为 64 个字符。当前界面中的第一行默认为主键列,列名默认为 id。
- 数据类型:左侧第二个文本框,单击该文本框可以选择列的数据类型。
- NOT NULL:设置该列是否允许空值。当前界面中的第一行主键列,该选项固定选中,即不允许空值。
- 默认值:设置当前列的默认值,即 DEFAULT 属性。在该列没有插入其他值的情况下,则使用该默认值。
- 注释:设置当前列的注释,即 COMMENT 属性。通过注释给列设置说明。长度最大为 1024 个字符。
- PRIMARY KEY:设置当前列是否为主键列,通过选中 PRIMARY KEY 左侧复选框,或者单击列名左侧的放大镜图标开启,您也可以将多个列设置为主键列,组成复合主键。
- AUTO_INCREMENT:仅整数类型的列支持,将当前列设置为自增列。
- UNSIGNED:仅整数类型的列支持,将当前列设置为无符号整数类型。
- ON UPDATE CURRENT_TIMESTAMP:仅时间类型的列支持,在更新某一行中的数据时,实时更新该列中的时间。
- SRID:仅几何图形类型的列支持,设置空间引用标识符 SRID。
- 字符集:仅字符类型的列支持,设置当前列的字符集。
- 比较规则:仅字符类型的列支持,根据字符集设置当前列的比较规则。
- 隐藏列:如果当前表中没有适合作为主键的列,可以通过创建该隐藏列作为主键。
- 生成列:即 Generated Column,其值可以是其他列的计算结果,选中后,还需要输入表达式中以及选择是否存储列的值。
- VIRTUAL(默认):读取时实时计算列值,不占用存储空间。
- STORED:将列的计算结果保存,占用存储空间。
索引 - 索引名称:输入索引的名称。当前表中有主键的情况下,第一行默认为主键索引信息。
- 索引类型:选择需要添加的索引的类型。
- 索引列:选择需要添加该索引的列名。
- 注释:为当前索引添加注释信息。
- 隐藏索引:仅 MySQL 8.0 及以上版本支持,将当前索引设置为隐藏索引。
- 其他索引选项:根据需求加入其他索引选项。
外键 - 外键名称:输入外键的名称。
- 外键列:选择需要关联外表的外键列。
- 引用:选择将当前外键列关联到哪个库表列。
- ON UPDATE:设置 UPDATE 操作时的限制。
- ON DELETE:设置 DELETE 操作时的限制。
约束 设置检查约束(MySQL 8.0.16 及以上版本支持)。 - 约束名称:输入约束的名称。
- 表达式:输入约束的表达式。例如:age >= 20。
- ENFORCED:是否强制执行约束。
分区 如果您的数据库文件太大,可以设置分区,以提升读取性能。 - 分区语句:输入分区语句,您可以参考右侧示例语句的内容进行输入。
表选项 设置表级别的选项。 - 表引擎:选择表的存储引擎。
- 字符集:设置当前表的字符集。
- 比较规则:根据字符集设置当前表的比较规则。
- 临时表:创建临时表,该表的生命周期仅限于当前连接,连接关闭后该临时表将自动删除。
- 其他表选项:根据需求加入其他表选项。
-
单击保存,并在弹出的提交变更窗口中,单击确认。
说明
您也可以复制 SQL 脚本,手动在其他数据库客户端中执行。