《MySQL数据库》数据导入、导出、表处理—/—<4>

news2024/9/22 0:56:15

一、插入数据

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)是一种用于唯一标识每条记录的列或一组列

主键具有以下特点:

  1. 主键列的值必须是唯一的,不能重复。
  2. 主键列的值不能为空不能为NULL
  3. 主键列的值在表中必须是唯一的标识符,可以用来快速访问和定位表中的记录。
  4. 主键可以由一个列或多个列组成,如果由多个列组成,则称为复合主键或联合主键
  5. 主键在创建表时可以通过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;

这种用处不大,最好是从最开始配置的时候就去修改字符集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1994328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于springboot的小微企业融资征信平台系统的设计与实现-计算机毕业设计源码99083

摘 要 本文详细阐述了一个基于Spring Boot框架的小微企业融资征信平台系统的设计与实现过程。该系统旨在为小微企业、金融机构以及征信机构提供一个高效、安全的融资征信交流平台。系统支持企业用户的登录注册、首页浏览、交流论坛参与、通知公告查看、新闻资讯阅读以及个人账户…

点亮童梦思考之光,神秘伙伴震撼登场!

本文由 ChatMoney团队出品 介绍说明 咱们来聊聊“十万个为什么”机器人,这对小朋友来说,好处可多了去啦! 小朋友们天生好奇,满脑子都是问号。 这个机器人就像个啥都懂的知识达人,不管他们问啥,都能给出答…

数据加密-AES数据加密WPF程序

AES&#xff08;Advanced Encryption Standard&#xff09;是一种广泛使用的对称密钥加密算法&#xff0c;由美国国家标准与技术研究院&#xff08;NIST&#xff09;于2001年发布。AES以其高效、安全的特点&#xff0c;在数据加密领域占据了重要地位。 <Grid><Grid.Ro…

定期检查m000是否消耗pga

偶然发现一个库的m000占用pga较高&#xff0c;导致ora-4036问题 sho parameter ga 看看当前参数 好像是bug 需要定期检查 select to_char(sysdate,yyyy-mm-dd hh24:mi:ss)riqi from dual;select round(sum(PGA_ALLOC_MEM)/1024/1024,2) "Total PGA Allocated (Mb)&q…

数据可视化(医疗数据)

目 录 第1章 绪 论 1 1.1 课题背景及研究目的 1.2 课题研究内容 第2章 课题概要及关键技术 2.1 课题概要 2.2 数据说明 2.3 关键技术 第3章 数据分析 3.1 数据统计分析 3.2 可视化分析 第4章 数据建模 4.1 数据预处理 4.2 模型构建 第5章 模型评估与应用 5.1 模型…

App广告投放新选择:Xinstall,让数据监测变得简单又高效

在App推广的战场上&#xff0c;广告投放是夺取用户心智的重要手段。然而&#xff0c;广告主们常常面临一个难题&#xff1a;如何准确衡量广告投放的效果&#xff1f;如何挖掘出有价值的用户来源和优质的投放渠道&#xff1f;这时候&#xff0c;你就需要一款强大的广告效果监测工…

基于Hadoop的超市进货推荐系统设计与实现【springboot案例项目】

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍系统分析系统设计数据表设计表4-1&#xff1a;关于我们表4-2&#xff1a;用户表4-3&#xff1a;管理员表表4-4&#xff1a;token表表4-5&#xff1a;系统简介表4-6&#xff1a;收藏…

大数据-72 Kafka 高级特性 稳定性-事务 (概念多枯燥) 定义、概览、组、协调器、流程、中止、失败

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

Ansys Mechanical|如何用好远程点(Remote Points)

一&#xff0e;什么是远程点&#xff1f; 当你定义载荷、约束和接触的作用域时&#xff0c;一般习惯于采用诸如直接选择模型或是通过模型的自定义截面等方法。 实际上&#xff0c;远程点也是一种设置远程边界条件作用域的方法。远程边界条件包括&#xff1a; 结构分析和温度分…

FPGA开发——IP核RAM的调用(双端口)

一、简介 在上一篇文章中我们对于单端口的RAM调用进行了一个简单的介绍和相关应用&#xff0c;在这篇文章当中我们对于双端口的RAM进行介绍和调用&#xff0c;在调用程度上来说&#xff0c;双端口RAM是单端口RAM的一个进阶。 双端口RAM分类 简单双口 RAM:一组读数据和读地址线…

【Linux】系列入门摘抄笔记-1-基本概念

一、基本概念 1. Linux系统 linux系统的发行版:内核+外围软件(文件系统、系统软件、应用软件)。 由于Linux内核是开源的,GUN工程中的软件也是开源的,所以许多组织和企业就嗅到了商机,他们将Linux内核与各种软件以及说明文档包装起来,并提供安装界面和管理工具等,这就…

如何让环保展厅不再沉闷?互动投影技术的创新应用解答!

随着城市化进程的加速&#xff0c;垃圾、污染等问题已成为影响城市环境的重要因素&#xff0c;为了解决这些问题&#xff0c;许多城市开始推行垃圾分类政策&#xff0c;同时完善垃圾分类收集、运输和处理的设施&#xff0c;为垃圾分类处理提供了硬件支持&#xff0c;此外&#…

【漏洞复现】某赛通电子文档安全管理系统 MultiServerAjax SQL注入漏洞

0x01 产品简介 某赛通电子文档安全管理系统&#xff08;简称&#xff1a;CDG&#xff09;是一款电子文档安全加密软件&#xff0c;该系统利用驱动层透明加密技术&#xff0c;通过对电子文档的加密保护&#xff0c;防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…

理解 Python 的全局解释器锁 (GIL)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

大数据安全规划总体方案(45页PPT)

方案介绍&#xff1a; 大数据安全规划总体方案的制定&#xff0c;旨在应对当前大数据环境中存在的各类安全风险&#xff0c;包括但不限于数据泄露、数据篡改、非法访问等。通过构建完善的安全防护体系&#xff0c;保障大数据在采集、存储、处理、传输、共享等全生命周期中的安…

书生.浦江大模型实战训练营——(四)书生·浦语大模型全链路开源开放体系

最近在学习书生.浦江大模型实战训练营&#xff0c;所有课程都免费&#xff0c;以关卡的形式学习&#xff0c;也比较有意思&#xff0c;提供免费的算力实战&#xff0c;真的很不错&#xff08;无广&#xff09;&#xff01;欢迎大家一起学习&#xff0c;打开LLM探索大门&#xf…

60、排列序列,61、旋转链表——LeetCode

60、排列序列 题目 给出集合 [1,2,3,...,n]&#xff0c;其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况&#xff0c;并一一标记&#xff0c;当 n 3 时, 所有排列如下&#xff1a; "123" "132" "213" "231" "312…

c#--有关DataGridView表格控件绑定数据源后的无数据、无法更新、闪烁及如何绑定图片等问题的总结

使用绑定数据源的方式绑定数据 1.DataGridview.Rows.Clear()&#xff0c;提示“不能清除此列表”。 用数据源绑定的DataGridView不能用Rows.Clear()清除&#xff0c;手动添加的是能够用clear()的。所以将datasource设置为null就可以清空数据。 2.DataSource为NULL&#xff0…

IP地址封装类(InetAddress类)

文章目录 前言一、IP地址是什么&#xff1f;二、IP地址封装类 1.常用方法2.实操展示总结 前言 当我们想要获取到通信对方的IP地址、主机地址等信息时&#xff0c;我们可以使用InetAddress类。InetAddress类在java的net包中。 一、IP地址是什么&#xff1f; IP地址 (Internet Pr…

人工智能算法岗找实习经验(一)简历撰写

首先分享简历撰写&#xff0c;下面简历仅供参考。 分为教育经历、个人能力、项目经历和竞赛经历4个部分。因为找的是算法岗&#xff0c;所以没有涉及太多技术和项目之外的东西。 教育经历 教育经历就是简单介绍下大学、专业、GPA还有就是和人工智能算法岗相关的专业课。 个…