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
相关推荐
档案宝档案管理8 分钟前
2026档案管理系统排名解析,易用性+安全性双维度对比
大数据·数据库·人工智能·档案管理
AllData公司负责人18 分钟前
AllData数据中台集成开源项目Apache Doris建设实时数仓平台
java·大数据·数据库·数据仓库·apache doris·实时数仓平台·doris集群
Dream of maid22 分钟前
Mysql(2)DML
android·数据库·mysql
菜程序22 分钟前
2026年MySQL安装教程(超详细)
数据库·mysql
Milu_Jingyu31 分钟前
sqlite3_prepare_v2 与 sqlite3_exec 在 SQLite 中的核心区别
java·数据库·sqlite
神の愛31 分钟前
针对“单个功能操作数据库”要不要加 @Transactional,
数据库
fly spider34 分钟前
MySQL执行流程详解
数据库·mysql
计算机学姐35 分钟前
基于SpringBoot的充电桩预约管理系统【阶梯电费+个性化推荐+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·mybatis
Jermy Li36 分钟前
HugeGraph 正式晋升 Apache 顶级项目:重塑「图 + AI」底座
数据库·人工智能·apache·知识图谱·database·hugegraph·knowledge graph
老wang你好42 分钟前
关系型数据库核心概念与 MySQL 操作
mysql