在数据库开发中,创建表是最基础的操作之一。本文将结合实际操作,详细介绍两种主流的表创建方式:Navicat 图形化界面和 Xshell 命令行,帮助你根据不同场景灵活选择。
一、Navicat 图形化创建表:直观高效的可视化操作
Navicat 提供了友好的图形界面,适合快速设计和修改表结构,尤其适合新手和本地开发场景。
1. 操作步骤
• 连接数据库:打开 Navicat,连接到你的 MySQL 服务器,选择目标数据库(如 students)。
• 新建表:右键点击"表" → 选择"新建表",或在顶部菜单栏选择"表"→"新建表",进入表设计器。
• 设计表结构:在设计器中逐行定义字段,包括字段名、数据类型、长度、注释等。

• 保存表:点击"保存",输入表名(如 students),确认后完成创建。
2.导入数据
• 点击导入,选择要导入的文件类型。


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


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


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

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

2. 可直接在 Navicat 查询窗口执行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;

二、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 建表语句。图形化方式直观高效,适合快速开发;命令行方式则更灵活,能满足服务器自动化需求。根据场景选择合适的方式,能让数据库管理工作事半功倍。


