MySQL 表创建全攻略:Navicat 图形化与 Xshell 命令行双模式实践

在数据库开发中,创建表是最基础的操作之一。本文将结合实际操作,详细介绍两种主流的表创建方式:Navicat 图形化界面和 Xshell 命令行,帮助你根据不同场景灵活选择。

一、Navicat 图形化创建表:直观高效的可视化操作

Navicat 提供了友好的图形界面,适合快速设计和修改表结构,尤其适合新手和本地开发场景。

1. 操作步骤

• 连接数据库:打开 Navicat,连接到你的 MySQL 服务器,选择目标数据库(如 students)。

• 新建表:右键点击"表" → 选择"新建表",或在顶部菜单栏选择"表"→"新建表",进入表设计器。

• 设计表结构:在设计器中逐行定义字段,包括字段名、数据类型、长度、注释等。

• 保存表:点击"保存",输入表名(如 students),确认后完成创建。

2.导入数据

• 点击导入,选择要导入的文件类型。

• 选择要导入的文件地址,选择相应的分隔符。

• 选择相应的数据行,添加目标字段。

• 一直点下一步,开始创建。

• 刷新后就可以看到创建后的表。

sql 复制代码
CREATE TABLE `students` (
  `stu_id` bigint(10) DEFAULT NULL COMMENT '学生学号',
  `stu_name` varchar(255) DEFAULT NULL COMMENT '学生姓名',
  `gender` varchar(255) DEFAULT NULL COMMENT '学生性别',
  `age` int(10) DEFAULT NULL COMMENT '学生年龄',
  `major` varchar(255) DEFAULT NULL COMMENT '学生专业',
  `clazz` varchar(255) DEFAULT NULL COMMENT '学生班级',
  `year` bigint(20) DEFAULT NULL COMMENT '入学年份'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

二、Xshell 命令行创建表:服务器环境的自动化首选

在服务器部署或自动化脚本中,命令行方式更高效。通过 Xshell 连接 Linux 服务器,进入 MySQL 命令行即可执行建表操作。

1. 操作步骤

• 连接服务器:打开 Xshell,连接到你的 Linux 服务器。

• 登录 MySQL:
mysql -u root -p
输入密码后,进入 MySQL 交互界面。

• 选择数据库:
USE students;

• 执行建表 SQL:直接输入建表语句,回车执行。

2. 示例 SQL(学生表)

• 创建表名

sql 复制代码
CREATE TABLE `students` (
  `stu_id` bigint(10) DEFAULT NULL COMMENT '学生学号',
  `stu_name` varchar(255) DEFAULT NULL COMMENT '学生姓名',
  `gender` varchar(255) DEFAULT NULL COMMENT '学生性别',
  `age` int(10) DEFAULT NULL COMMENT '学生年龄',
  `major` varchar(255) DEFAULT NULL COMMENT '学生专业',
  `clazz` varchar(255) DEFAULT NULL COMMENT '学生班级',
  `year` bigint(20) DEFAULT NULL COMMENT '入学年份'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

• 插入单条数据

sql 复制代码
insert into students values(20250101,'张三','男',20,'计算机科学与技术','计科2501',2025);

• 多行数据插入

sql 复制代码
insert into students(stu_id,stu_name,gender,age,major,clazz,year) values(20250101,'张三','男',20,'计算机科学与技术','计科2501',2025)
,(20250102,'李四','女',20,'计算机科学与技术','计科2501',2025)
,(20250103,'王五','男',19,'计算机科学与技术','计科2501',2025)
,(20250201,'赵六','女',20,'软件工程','软工2502',2025)
,(20250202,'孙七','男',20,'软件工程','软工2502',2025)
,(20250301,'周八','女',20,'大数据技术','大数据2501',2025)
,(20250302,'吴九','男',19,'大数据技术','大数据2501',2025)
,(20250401,'郑十','女',20,'人工智能','智能2501',2025)
,(20250104,'钱十','男',20,'计算机科学与技术','计科2501',2025)
,(20250203,'孙十','女',20,'软件工程','软工2502',2025);

• 如果数据太多,可以通过文件导入。

sql 复制代码
load data local infile '/root/data/students.txt' into table students fields terminated by ',';
3. 验证创建结果

SHOW TABLES;
若能看到 students、scores、subjects 等表名,说明创建成功。

4.数据导出(mysqldump 备份)
bash 复制代码
mysqldump -uroot -p123456 stu students > /root/data/students.sql

bash 复制代码
# 可以加到.bashrc中 
alias db_backup='mysqldump -uroot -p --single-transaction stu students > /root/data/mydb_$(date +%Y%m%d).sql.gz'

# 让别名永久生效
echo "alias db_backup='mysqldump -uroot -p --single-transaction stu students | gzip > /root/data/mydb_$(date +%Y%m%d).sql.gz'" >> ~/.barshrc
source ~/.bashrc

#执行备份测试
db_backup

三、两种方式对比与适用场景

|-------------|------------------|-------------------|--------------------|
| 方式 | 优点 | 缺点 | 适用场景 |
| Navicat 图形化 | 直观易用,拖拽设计,可视化预览 | 依赖图形界面,不适合自动化脚本 | 本地开发、快速设计表结构、教学演示 |
| Xshell 命令行 | 无界面依赖,可自动化,适合服务器 | 学习成本稍高,需记忆 SQL 语法 | 服务器部署、批量建表、自动化备份脚本 |

四、常用辅助命令

1.查看表的创建语句(DDL)
sql 复制代码
SHOW CREATE TABLE students;
2.查看当前数据库
sql 复制代码
SELECT database();
3. 限制查询结果数量
sql 复制代码
SELECT * FROM students LIMIT 10;

总结

无论是使用 Navicat 的图形化界面,还是在 Xshell 中通过命令行操作,核心都是掌握 SQL 建表语句。图形化方式直观高效,适合快速开发;命令行方式则更灵活,能满足服务器自动化需求。根据场景选择合适的方式,能让数据库管理工作事半功倍。

相关推荐
2501_918126916 分钟前
学习所有6502写游戏控制器的语句
java·linux·网络·汇编·嵌入式硬件
JuckenBoy7 分钟前
Linux环境安装SGLang框架运行自选大模型(以Rocky9.7为例)
linux·运维·大模型·qwen·rocky·deepseek·sglang
未来龙皇小蓝12 分钟前
【MySQL-索引调优】09:Order By相关概念
数据库·mysql·性能优化
未来龙皇小蓝15 分钟前
【MySQL-索引调优】10:常见的分页优化处理
数据库·mysql·性能优化
十巷无终15 分钟前
Kali Virtual Machines(虚拟机镜像)安装后问题及解决办法
linux·运维·服务器
赵民勇18 分钟前
gtkmm库之GtkWindow与ApplicationWindow用法详解
linux·c++
BestOrNothing_201531 分钟前
(4)Ubuntu 22.04 安装后使用 GParted 重新分区实战记录
linux·gparted·ubuntu22.04·ubuntu磁盘分区
架构指南32 分钟前
Centos上安装Claude Code报GLIBC_2.27 not found
linux·运维·centos
Predestination王瀞潞36 分钟前
4.3.1 存储->微软文件系统标准(微软,自有技术标准):exFAT(Extended File Allocation Table)扩展文件分配表系统
linux·运维·microsoft·exfat·ex4
你有按下913的勇气吗40 分钟前
【Agent,RAG,Transform】
linux·运维·服务器