《MySQL数据库》数据导入、导出、表处理—/—<4>
一、插入数据
1、可使用外部工具navicat导入数据的情况下
因为部分公司不允许使用外部工具去导入数据
对于大批量数据,除了上节课中使用导入向导插入数据,也可在vscode中打开csv文件,然后选中光标,长按shift+ctrl,拖动滚轮,点击要修改的下面行的位置即可编辑,如图所示

将所有的数据处理成下列状态ctrl +A选中所有内容,复制到navicat ,即可使用命令将所有数据导入表student中,每一条后面都需要有分号 ";"

将复制的内容粘贴到新建查询中即可

但是这种方式特别的慢,需要一条一条执行所有命令,那么使用另一种方式即可快速使用导入,
即,删除第一条以外的所有insert in命令,每一条命令后的分号替换成逗号,再在开头结尾加个括号即可

最后一行括号外同样要加个分号
再复制所有内容去navicat中新建查询即可快速导入所有数据。
注意:此时表名student后面没有写括号,也没有再括号内写入字段名,因为后面value值对应的括号内的数据条数以及数据格式和student中创建好的字段一 一对应
2、不可使用外部工具navicat导入数据的情况下
1)将数据存入linux本地
在electerm(终端模拟器)中先将student.csv数据文件存入虚拟机
点击左上角的sftp即可,左边是本地文件夹,右边是虚拟机内的文件夹

找到对应文件,直接拖到右侧虚拟机内即可


然后返回ssh,输入命令ll即可查看
![]()
2) 从linux本地将数据读入MySQL
● 使用命令 use ai_03 进入这个库

进入MySQL(与在虚拟机内进入一样,但是更好用更方便)
在MySQL中输入以下命令导入,导入位置为ai_03库的student表,分隔符为','英文逗号,
load data local infile '/root/mysql_pak/students.csv' into table ai_03.students fields terminated by ",";
代码解释:
load data 加载本地文件
local infile '/root/mysql_pak/students.csv' 本地文件地址
into table ai_03.students是写入ai_03数据库的student表内,如果你使用了use ai_03进入了这个数据库,那么上述可以直接写表名不用写库名,
fields terminated by ","; 表示文件分隔符是","号

● 使用查询命令查看数据
select * from student
得到如下结果:

二、导出数据
1、从mysql中导出数据文件
使用命令将student表的数据重定向保存到linux本地的student.sql
mysqldump -u root -p ai_03 student -h 192.168.197.100 >student.sql

代码解释:
ai_03 student库名和表名,之间用空格分开
-h 192.168.197.100 主机ip地址
>student.sql 重定向到文件student.sql
此时输入命令ll即可查看到linux本地文件,即可发现刚刚保存的文件

此时可以输入命令 vim student.sql 打开文件编辑模式查看文件内容

此时导出到linux本地的是所有内容,其中包括了student表的建表语句

注意其中每一条数据后面都有 \r 符号,因为linux使用 \r 换行,windows使用 \n 换行
此时可以在electerm左上角的Sftp中把linux本地文件拖入左侧的本机文件,因为我拖入的是桌面文件地址,所以在桌面就看到了这个student.sql文件

其内容就是上图的vim打开对应的文件
此时同样可以在navicat中找到表,然后右击运行SQL文件,然后选中上方那个文件又可以创建出来新表student


2、在MySQL中执行数据文件
使用命令use ai_03 进入库,然后使用source命令执行数据文件
source /root/student.sql;
其中/root/student.sql为数据文件在linux中的地址
运行代码后即可创建一个新表并将数据文件内容写入
三、基础命令补充内容
1、创建数据库
create database if not exists db_name
其意思是:创建一个数据库,命名为db_name,如果当前文件夹没有这个名字的数据库,则成功创建,如果有这个命名,则报错
2、 查看当前数据库的建库语句
show create database db_name
即查看数据库命名为db_name的库的建库语句
3、输出数据库
drop database if exists db_name
即如果存在db_name库,则删除,反之报错
4、切换数据库
use database
5、查看当前使用的数据库
select database();
6、单行注释
两个减号:

7、多行注释
/* */

8、创建一个表
create table if not exists tb_name(id int primary key,name varchar(255) not null,age int,gender varchar(255),clazz varchar(255)
);
上述代码即创建一个表名为tb_name,如果存在则创建,如果不存在则报错,创建字段名为id、name、age、gender、clazz,其数据类型分别是整型、字符串型、整型、字符串型、字符串型,另外,primary key 表示主键,主键看下列解析
注意:建表语句最后一句括号后面还有一个命令,定义字符集为utf-8,因为前面已经提前设置过字符集了,所以这里可以不用写这段代码,如图所示

9、主键(primary key)
在MySQL中,主键(Primary Key)是一种用于唯一标识每条记录的列或一组列。
主键具有以下特点:
- 主键列的值必须是唯一的,不能重复。
- 主键列的值不能为空,不能为NULL。
- 主键列的值在表中必须是唯一的标识符,可以用来快速访问和定位表中的记录。
- 主键可以由一个列或多个列组成,如果由多个列组成,则称为复合主键或联合主键。
- 主键在创建表时可以通过PRIMARY KEY约束进行定义。
10、主键创建方式
1)在创建表时定义主键:
CREATE TABLE table_name (column1 datatype PRIMARY KEY,column2 datatype,...
);
如果设置了主键,之后插入数据时,主键的列,数据有空值或者重复值时会报错
2)在已创建的表上添加主键:
ALTER TABLE table_name ADD PRIMARY KEY (column1);
如果数据有控制或者重复值,则增加不了主键
11、书写格式
在使用查询命令的时候,除库名和表名需要严格遵守大小写格式以外,其他的搜可以随意的大小写,例如:下列代码输出结果就一致
select job from emp;
SELECT job FROM emp;
表中字段名是job,实际使用就必须一摸一样,表的名字也是,必须遵守大小写
12、表修改
1)增加列
使用命令
alter table student add length float;
即,对student表增加一列,列名为length,数据类型为float类型
例如:
我有一个表dept ,其数据如下,对其增加一列列名为aaa,数据类型为varchar 的

使用命令 alter table dept add aaaa varchar;
选中执行后得到下列状态

然后刷新dept表即可增加一列

2) 更改列的属性
使用命令
alter table dept modify aaaa int not null;
即,将表dept中的列aaaa的字符串类型更改为int型,然后设置为非空属性,即列中的值不能为空
因为我刚增加的列aaaa没有值,所以这个not null属性不用写,不然会报错
3)删除列
使用命令
alter table dept drop aaaa;
即,使用drop删除列aaaa
4)修改表名称:
rename table dept to dddpt;
将dept表名修改为dddpt
5)修改列名
alter table dddpt change dept_no ddd_no int;
即,将dddpt表中的列名dept_no修改为ddd_no,并更改为int型
6)修改表的字符集
alter table student character set utf8;
这种用处不大,最好是从最开始配置的时候就去修改字符集
相关文章:
《MySQL数据库》数据导入、导出、表处理—/—<4>
一、插入数据 1、可使用外部工具navicat导入数据的情况下 因为部分公司不允许使用外部工具去导入数据 对于大批量数据,除了上节课中使用导入向导插入数据,也可在vscode中打开csv文件,然后选中光标,长按shiftctrl,拖动…...
Java I/O (Input/Output)——文件字节流
博客主页:誓则盟约系列专栏:Java SE 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Java I/O 简介 Java I/O(输入/输出)是 Java 程序中…...
VisionPro二次开发学习笔记4-使用C#创建绘图图形
VisionPro提供了许多可以添加到CogDisplay的基本形状,例如CogCircle,CogRectangle,CogEllipse和CogRectangleAffine。这些形状可以是用户可以用鼠标操作的交互式图形,也可以是用户无法更改的静态形状。 若要在CogDisplay控件上绘…...
【langchain学习】使用JsonOutputParser让大模型生成结构化JSON数据
使用Langchain处理结构化数据,以JsonOutputParser为例。以下是具体步骤和代码示例: 导入所需库: from config import llm from langchain_core.output_parsers import JsonOutputParser from langchain_core.prompts import PromptTemplate f…...
【学习笔记】Matlab和python双语言的学习(最大最小化规划)
文章目录 前言一、最大最小化规划二、选址问题三、代码实现----Matlab1.Matlab 的 fminimax 函数2.Matlab 代码 四、代码实现----python总结 前言 通过模型算法,熟练对Matlab和python的应用。 学习视频链接: https://www.bilibili.com/video/BV1EK41187…...
基于SpringBoot的Redis开发实战教程
配置和集成缓存涉及多个步骤,从选择适当的缓存技术到实现缓存的存取操作。以下是具体的步骤和示例,假设我们使用Redis作为缓存工具,并基于Spring Boot进行开发。 1. 选择和配置缓存技术 a. 选择缓存工具 Redis 是一个流行的内存数据结构存…...
mysql 分区操作
1。新建分区 mysql 没有全局唯一索引,因此所有涉及唯一索引的都需要加上分区键,因此要做好权衡,键分区不一定能提高效率哦,建分区的主要目的是为了分区查询和删除数据 --将CREATE_TIME 加入主键 ALTER TABLE your_table DROP PR…...
[网鼎杯 2018]Comment
使用环境为https://adworld.xctf.org.cn/challenges,搜索题目[网鼎杯 2018]Comment。 进入环境,发现为一个留言板,点击发帖试试。 尝试发帖 跳转到登录页面,根据提示使用burp进行暴力破解。 发现payload为666时状态码不同。 尝试…...
LVS详解
目录 一、LVS简介 LVS 官网: 二、LVS 负载均衡模式 2.1 LVS-NAT模式: 2.1.1 简介 2.1.2 工作流程图: 2.1.3 说明: 2.1.4 LVS-NAT的优缺点: 2.2 LVS-DR模式: 2.2.1 简介 2.2.2 工作原理: 2.2.3 工作…...
Yolo-World初步使用
Yolo v8目前已经支持Yolo-World,整理一下初步使用步骤。 使用步骤 1 先下载Yolo-World的pt文件,下载地址:GitHub - AILab-CVC/YOLO-World: [CVPR 2024] Real-Time Open-Vocabulary Object Detection 官网应该是点这里(有个笑脸…...
Navicat Premium使用
文章目录 Navicat Premium 16的使用连接MySQL建立数据库并构建表导入数据 Navicat Premium 16是一款功能强大的数据库管理工具,它允许用户从单一应用程序中同时连接多种数据库,提供了极其便捷和高效的管理和开发环境,对于 MySQL 用户来说&…...
LLC数字控制TMS320F28034,4-DSP的epwm配置介绍
LLC数字控制TMS320F28034,4-DSP的epwm配置介绍 1 TMS320F280341.1 概述1.2 PWM详细介绍 2 TMS320F28034 PWM功能框图2.1 ePWM功能模块2.2 ePWM功能寄存器框图 3 TMS320F28034 PWM初始化流程4 结合项目设计5 代码设计5.1 PWM初始化程序5.2 工程代码 6 总结 配套代码示…...
MongoDB学习记录
1、初识Mongo 概述:与关系型数据库不同,MongoDB 的数据以类似于 JSON 格式的二进制文档存储,通常称这种格式为Bson,Bson不仅支持JSON中已有的数据类型,还增加了一些额外的数据类型,例如日期和二进制数据&a…...
vlunstack-2(复现红日安全-ATT CK实战)
环境搭建 配置信息 DC IP:10.10.10.10 OS:Windows 2012(64) 应用:AD域 WEB IP1:10.10.10.80 IP2:192.168.47.131 OS:Windows 2008(64) 应用:Weblogic 10.3.6MSSQL 2008 PC IP1:10.10…...
【生信入门】预览快速体验Linux-重生之小明闯Linux
生信少走弯路,快试试生信云专用服务器。新用户注册免费体验5小时。https://www.tebteb.cc 一.故事 小明的Linux冒险 在一片混沌的黑暗中,小明睁开了眼睛。他感到头痛欲裂,四周一片漆黑,只有一行闪烁的字符映入眼帘: [xiaomingu…...
用.net core简易搭建webapi托管到IIS
1、从官网下载.NET Core 托管捆绑包 https://learn.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?viewaspnetcore-8.0&tabsvisual-studio 2、新建ASP.NET Core WEB API项目 新建控制器TestController并生成GetInfo方法 3、发布 目标路径选择 2)显示所有…...
【计算机网络---OSI七层模型】
一、OSI的基本概念及原则 OSI是Open System Interconnect的缩写,意为开放式系统互联。各个层次的划分遵循以下原则: 1. 同一层的各网络节点都有相同的层次结构,具有同样的功能; 2. 同一节点的内相邻层之间通过接口进行通信&…...
Error updating database. Cause: org.apache.shiro.UnavailableSecurity
mybtisplus查看MetaObjectHandler是否有自定义获取用户信息填充用户的方法...
【网络安全】本地文件包含及远程文件包含漏洞详解
一、文件包含漏洞概述 1.1 什么是文件包含 开发人员将需要重复调用的函数写入一个文件,对该文件进行包含时产生的操作。这样编写代码能减少冗余,降低代码后期维护难度。 保证网站整体风格统一:导航栏、底部footer栏等,把这些不…...
redis启动的三种方式
默认启动: # 默认的启动指令 redis-server 默认启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL C则Redis停止。不推荐使用。 //查看云服务器是否安装过redis redis-server -v//检查安装目录 which redis-server//查看redis进…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
