MySQL 表创建与数据导入导出

文章目录

  • 一、创建表
    • [1. 使用Navicat创建表](#1. 使用Navicat创建表)
    • [2. 使用命令行创建表](#2. 使用命令行创建表)
  • 二、导入数据
    • [1. 使用Navicat导入向导](#1. 使用Navicat导入向导)
    • [2. 插入单条数据](#2. 插入单条数据)
    • [3. 多行数据插入](#3. 多行数据插入)
    • [4. 从本地文件加载数据](#4. 从本地文件加载数据)
  • 三、导出数据
    • [1. 使用Navicat导出向导](#1. 使用Navicat导出向导)
    • [2. 使用命令行导出](#2. 使用命令行导出)

一、创建表

  • 创建表是数据库设计的第一步,可以通过可视化工具(如Navicat)或命令行来操作。

1. 使用Navicat创建表

  • 在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;

2. 使用命令行创建表

  • 如果习惯使用命令行,可以通过以下语句创建成绩表与科目表:
sql 复制代码
CREATE TABLE `scores` (
  `stu_id` bigint(10) DEFAULT NULL COMMENT '学生学号',
  `subject_id` int(10) DEFAULT NULL COMMENT '科目编号',
  `score` int(10) DEFAULT NULL COMMENT '考试分数',
  `type` varchar(255) DEFAULT NULL COMMENT '考试类型'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
sql 复制代码
CREATE TABLE `subjects` (
  `subject_id` int(10) DEFAULT NULL COMMENT '科目编号',
  `subject_name` varchar(255) DEFAULT NULL COMMENT '科目名称',
  `credit` int(10) DEFAULT NULL COMMENT '学分',
  `semester` int(10) DEFAULT NULL COMMENT '授课学期'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

二、导入数据

  • 数据导入有多种方式,包括使用导入向导、插入语句或直接加载本地文件。

1. 使用Navicat导入向导

  • Navicat提供了直观的导入向导,支持多种格式(如CSV、Excel等)的数据导入,操作简单快捷。

2. 插入单条数据

  • 使用INSERT语句插入一条学生记录:
sql 复制代码
insert into students values(20250101,'张三','男',20,'计算机科学与技术','计科2501',2025);

3. 多行数据插入

  • 一次性插入多条数据,提高操作效率:
sql 复制代码
insert into students(id,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',20)
,(20250203,'孙十','女',20,'软件工程','软工2502',2025);

4. 从本地文件加载数据

  • 使用LOAD DATA语句从文本文件导入数据:
sql 复制代码
load data local infile 'D:\\Desktop\\mysqlmd\\data\\students.txt' into table students fields terminated by ',';

三、导出数据

  • 数据导出同样支持可视化工具与命令行两种方式。

1. 使用Navicat导出向导

  • Navicat导出向导支持将表数据导出为SQL、CSV、Excel等格式,操作便捷。

2. 使用命令行导出

  • 通过mysqldump命令可将指定表导出为SQL文件:
sql 复制代码
# 不建议加密码,不安全
mysqldump -uroot -p stu students > /root/data/students.sql
相关推荐
Decay__4 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
小徐不徐说8 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
论文复现现场9 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
Decay__10 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
心梦缘-雪雁11 小时前
SQL Server 查询数据存在哪个表里
数据库
lusklusklusk12 小时前
Python 巡检脚本:进程运行状态、数据库写入时效检查及邮件通知与告警
数据库·python·oracle
GeW12 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
SelectDB12 小时前
Doris Arrow Flight SQL 高速读取协议实战:与 Snowflake 客户端取数链路对照
大数据·数据库·数据分析
曼岛_12 小时前
[图解密码学]第4章 古典密码
java·数据库·密码学
瀚高PG实验室13 小时前
HGDB V9.0.5 .pgpass 免密登录提示 IsEncryptNon-base64 encoding 警告处理
数据库·postgresql·瀚高数据库