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
相关推荐
阿波罗尼亚3 小时前
数据库序列(Sequence)
数据库
Junsir大斗师4 小时前
Nginx服务器代理Postgresql-16后端数据库
数据库·nginx
Je1lyfish4 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
m0_596749096 小时前
如何防止SQL拼接漏洞_使用PDO对象实现安全的SQL交互
jvm·数据库·python
老纪的技术唠嗑局6 小时前
深度解析 LLM Wiki / Obsidian-Wiki / GBrain:Agent 时代知识的“自组织”与“自进化”
大数据·数据库·人工智能·算法
2301_795099748 小时前
golang如何在Gin中自定义验证器_golang Gin自定义验证器实现方法
jvm·数据库·python
2301_766283449 小时前
如何在MongoDB GridFS中进行按文件大小(length)范围的查询
jvm·数据库·python
布吉岛的石头9 小时前
分库分表实战:Sharding-JDBC 快速落地
分布式·mysql
冬天vs不冷9 小时前
面试必知必会(13):MySQL锁机制
mysql·面试·职场和发展
冬天vs不冷9 小时前
面试必知必会(14):MySQL执行计划与SQL优化
sql·mysql·面试