Mysql数据库(三) Mysql命令行客户端数据增加、查询、修改、删除;起别名、去重

news2025/1/18 13:55:29

目录

一、数据增加、查询、修改、删除、起别名、去重

1.0 准备操作

1.1 添加数据 insert

1.1.1 全列添加

1.1.2 部分列插入

1.1.3 插入多行数据

1.2 查询数据 select 

1.2.1 查询所有的 列

1.2.2 查询指定的 列

1.3 修改数据 update set

1.4 删除数据 delete 

1.5 起别名 as 关键字

1.6 去重 distinct 关键字


一、数据增加、查询、修改、删除、起别名、去重

1.0 准备操作

准备操作,先创建一个表结构,以便后续操作 

先创建一个表,然后添加一下数据

准备一个数据表,顺便复习一下之前的操作

1 命令行登录:mysql -uroot -p

2 选择一个数据库

        mysql> use base_1;
        Database changed
        mysql> 

3 创建一个数据表

        create table stu(id int unsigned primary key not null auto_increment,name varchar(20) not null,age tinyint default 0,height decimal(5,2),gender enum('男','女','保密'));

4 查看我们现在的数据表什么样子吧!

        show tables;

        desc stu;

现在,下面的表格结构就是本文的操作基础了

PS:gender 是 eunm 枚举类型可使用具体的数字(下标)去代替具体的字符串

当然此处的下标  从     1     开始


1.1 添加数据 insert

1.1.1 全列添加

insert into 表名 values(......值);

注意的是,values()中,值的顺序应该和表结构字段的顺序是一致的

比如:

mysql> insert into stu values(0,'张三',18,68,'保密');
mysql> insert into stu values(0,'刘伟',23,100,'男');

执行结果:

mysql> desc stu;
+--------+----------------------------+------+-----+---------+----------------+
| Field  | Type                       | Null | Key | Default | Extra          |
+--------+----------------------------+------+-----+---------+----------------+
| id     | int unsigned               | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20)                | NO   |     | NULL    |                |
| age    | tinyint                    | YES  |     | 0       |                |
| height | decimal(5,2)               | YES  |     | NULL    |                |
| gender | enum('男','女','保密')     | YES  |     | NULL    |                |
+--------+----------------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql> insert into stu values(0,'张三',18,68,'保密');
Query OK, 1 row affected (0.01 sec)

mysql> 

1.1.2 部分列插入

此处的部分插入,未插入的默认为NULL

注意点一样:注意值的顺序保持一致

insert into 表名(列名1,...)  values (......值);

比如:

mysql> insert into stu(name,age) values ('张三',55);

结果:

mysql> select * from stu;
+----+--------+------+--------+--------+
| id | name   | age  | height | gender |
+----+--------+------+--------+--------+
|  1 | 张三   |   18 |  68.00 | 保密   |
|  2 | 刘伟   |   23 | 100.00 | 男     |
|  3 | 张三   |   55 |   NULL | NULL   |
+----+--------+------+--------+--------+
3 rows in set (0.00 sec)

mysql> 

1.1.3 插入多行数据

insert into 表名(字段,字段) values (),(),(),(),();

比如:

mysql> insert into stu(name,height) values('刘备',165),('关羽',185),('张飞',180),('孙权',170);
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> 

然后可以查询看一下结果:
 

mysql> select * from stu;
+----+--------+------+--------+--------+
| id | name   | age  | height | gender |
+----+--------+------+--------+--------+
|  1 | 张三   |   18 |  68.00 | 保密   |
|  2 | 刘伟   |   23 | 100.00 | 男     |
|  3 | 张三   |   55 |   NULL | NULL   |
|  4 | 刘备   |    0 | 165.00 | NULL   |
|  5 | 关羽   |    0 | 185.00 | NULL   |
|  6 | 张飞   |    0 | 180.00 | NULL   |
|  7 | 孙权   |    0 | 170.00 | NULL   |
+----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql> 

1.2 查询数据 select 

1.2.1 查询所有的 列

select * from 表名;

比如: 

mysql> select * from stu;

执行结果:

mysql> select * from stu;
+----+--------+------+--------+--------+
| id | name   | age  | height | gender |
+----+--------+------+--------+--------+
|  1 | 张三   |   18 |  68.00 | 保密   |
|  2 | 刘伟   |   23 | 100.00 | 男     |
+----+--------+------+--------+--------+
2 rows in set (0.00 sec)

mysql> 

1.2.2 查询指定的 列

select 列名1,列名2  from 表名;

比如:

mysql> select name,id from stu;

结果:

mysql> select name,id from stu;
+--------+----+
| name   | id |
+--------+----+
| 张三   |  1 |
| 刘伟   |  2 |
| 张三   |  3 |
| 刘备   |  4 |
| 关羽   |  5 |
| 张飞   |  6 |
| 孙权   |  7 |
+--------+----+
7 rows in set (0.00 sec)

mysql> 

1.3 修改数据 update set

update 表名 set 列1=值1,列2=值2... where 条件;

现在的表是这个样子

 比如我们修改一下 关羽年龄=50,性别是男

我们发现 关羽的 id =5

mysql> update stu set age=50,gender=1 where id=5;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

 修改后的表:

1.4 删除数据 delete 

delete from 表名 where 条件;

比如:删除关羽的信息 关羽 id=5,以此为条件

delete from stu where id=5;

这是物理删除,一旦删除了就很难恢复,因此可以使用 逻辑删除

mysql> delete from stu where id=5;
Query OK, 1 row affected (0.00 sec)

结果关羽没了 id=5也没了

1.5 起别名 as 关键字

as 关键字起别名

  • 对单次查询有效,
  • 使用的时候 as可以省略不写
mysql> select * from stu;
+----+--------+------+--------+--------+
| id | name   | age  | height | gender |
+----+--------+------+--------+--------+
|  1 | 张三   |   18 |  68.00 | 保密   |
|  2 | 张三   |   18 |  68.00 | 保密   |
|  3 | 刘伟   |   23 | 100.00 | 男     |
|  4 | 刘伟   |   23 | 100.00 | 男     |
|  6 | 刘备   |    0 | 165.00 | NULL   |
|  7 | 关羽   |    0 | 185.00 | NULL   |
|  8 | 张飞   |    0 | 180.00 | NULL   |
|  9 | 孙权   |    0 | 170.00 | NULL   |
+----+--------+------+--------+--------+
8 rows in set (0.00 sec)

我们使用as关键字起别名查看试一试

注意多个别名中间,用逗号隔开

mysql> select name as 姓名,age 年龄  from stu;
+--------+--------+
| 姓名   | 年龄   |
+--------+--------+
| 张三   |     18 |
| 张三   |     18 |
| 刘伟   |     23 |
| 刘伟   |     23 |
| 刘备   |      0 |
| 关羽   |      0 |
| 张飞   |      0 |
| 孙权   |      0 |
+--------+--------+
8 rows in set (0.00 sec)

mysql> 

1.6 去重 distinct 关键字

我们可以看到,上面的表有两个张三,两个刘伟,一模一样的数据

我们使用distinct 关键字可以进行去重

mysql> select distinct name from stu;
+--------+
| name   |
+--------+
| 张三   |
| 刘伟   |
| 刘备   |
| 关羽   |
| 张飞   |
| 孙权   |
+--------+
6 rows in set (0.01 sec)

mysql> 

distinct 后面可以跟多个字段,多个字段一起去重

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

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

相关文章

C#(五十三)之线程同步、互锁

无关线程:线程之间没有任何联系,独立运行,互不干扰 相关线程:线程之间有联系,两个线程之间资源共享 临界线程:多个线程共享资源 临界区:访问临界资源代码 同步:两个线程协同工作…

单摆模型(博途PLC和Simulink仿真对比)

单摆模型的详细推导公式可以参看下面文章链接,这篇博客主要给出在博途PLC里如何完成单摆模型的建模, 倒立摆的PLC控制(模型分析+ SCL源代码)_RXXW_Dor的博客-CSDN博客首先简单介绍下倒立摆模型,下面这幅图是MATLAB网站上的倒立摆模型,下面我们利用牛顿第二运动定律建立摆杆…

自由创新,分享图片编辑工具

在当今社交媒体的流行时代,分享精美照片已成为人们生活中不可或缺的一部分。为了让我们的照片更加与众不同,图片编辑工具成为了必备的利器。这些神奇的工具不仅能帮助我们改善照片的外观和质量,还能增添创意效果,让我们的照片在社…

vue-导入图标iconfont到项目中并使用

阿里巴巴矢量图标库官网&#xff1a; 打开官网-我的素材库 选中要导入的项目-点击下载 下载好一个包 解压后得到 将这些文件全部复制到vue项目的src/assets/icon目录下 在main.js中导入 import /assets/icon/iconfont.css 即可使用 【示例】 在任意一个vue界面的<templa…

Loki 日志块使用 MinIO 对象存储

简介 与其他日志记录系统不同&#xff0c;Grafana Loki 是围绕仅索引有关日志的元数据的想法构建的&#xff1a;标签&#xff08;就像 Prometheus 标签一样&#xff09;。然后&#xff0c;日志数据本身会被压缩并以块的形式存储在对象存储&#xff08;例如 S3 或 GCS&#xff…

RealEvo-IDE 更换激活码 License到期续期

license到期之后&#xff0c;会出现RealEvo-IDE无法打开的状况。在有新license的状况下&#xff0c;如何在不重新安装的情况下使用IDE&#xff1f;主要分为以下几个步骤&#xff1a; &#xff08;1&#xff09; 右击“RealEvo-IDE”&#xff0c;点击“打开文件位置”&#xff…

软件测试技能,JMeter压力测试教程,逻辑控制器之事务控制器(二十五)

一、前言 TPS就是每秒钟所处理的事务数&#xff0c;那么到底什么是事务呢&#xff1f; 事务是用户自定义的一个标识&#xff0c;是一个或多个操作完成一个业务所花费的时间&#xff0c;事务时间反映的是一个操作过程的响应时间 二、事务场景 电商场景大家并不陌生&#xff…

【Unity】Unity接入内购IAP,提示you are not authorized to set the license key

接入IAP的时候需要输入谷歌的开发者后台key Unity2020之后有可能会提示&#xff1a;you are not authorized to set the license key 查阅相关内容后&#xff08;https://forum.unity.com/threads/purchase-you-are-not-authorized-to-set-the-license-key-google-play.95426…

vue运行background-removal-js库

前段时间在github上有个能在浏览器扣图的js库蛮火https://github.com/imgly/background-removal-js 演示网站&#xff1a;demo 不仅仅能将人物主体扣出&#xff0c;还能处理动物、植物等 最近我萌发出在vue中运行这个库的想法&#xff0c;记录一下 下载、配置 首先当然是通…

揭秘python函数:编程艺术的核心力量

文章目录 前言什么是 python 函数函数的使用步骤1&#xff09;定义函数2&#xff09;调用函数 带有参数的函数函数的返回值函数的说明文档函数的嵌套调用实现简易的计算器 前言 当我们深入研究 Python 的内心深处&#xff0c;我们将会发现&#xff0c;函数是其内核的核心力量。…

信息安全管理与评估赛题第5套

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 赛题五 模块一 网络平台搭建与设备安全防护<

(四)并发编程带来了哪些问题?

&#xff08;四&#xff09;并发编程带来了哪些问题&#xff1f; 4.1 引入4.2 线程安全问题01、原子性02、可见性 4.3 活跃性问题01、死锁02、活锁03、饥饿 4.4 性能问题 4.1 引入 在一定场景下&#xff0c;使用多线程会给我们日常工作带来很多的便利&#xff0c;但并不是在任…

记一次数据库迁移(迁移数据)

book,由于之前建表没注意字符集的问题&#xff0c;导致之前写入的数据出现乱码。现在要将之前的数据和现在数据的字符集一致&#xff0c;不出现乱码情况&#xff0c;将字符集为 latin1 已有记录的数据转成 utf8&#xff0c;并且已经存在的记录不乱码。 操作步骤&#xff1a; 建…

SPI接口调试

本文记录了复旦微fmql45t900 SPI裸核和linux系统下spi接口的调试步骤。 问题描述&#xff1a; 复旦微fmql45t900 SPI接口片选信号无法拉低控制。 原因分析&#xff1a; 为了排除硬件问题&#xff0c;创建spi裸核测试工程进行单步调试&#xff0c;spi发送数据时用示波器可以正…

FPGA USB FX2 图片发送试验 驱动CY7C68013A实现 提供2套工程源码和技术支持

目录 1、前言2、我这儿已有的 FPGA USB 通信方案3、CY7C68013A芯片解读和硬件设计FX2 简介SlaveFIFO模式及其配置 4、工程详细设计方案输入测试图片的处理PC上位机发送测试图片图像接收与缓存图像输出显示 5、vivado工程1--LCD输出显示6、vivado工程1--LCD输出显示7、上板调试验…

vue数组深层赋值

一、问题 使用vue开发的项目&#xff0c;有一个页面的data中定义了两个数组&#xff0c;需要把其中一个数组赋值给另一个数组的其中一个对象的一个属性&#xff08;有点拗口&#xff09;&#xff0c;如图所示&#xff1a; 二、错误赋值 直接使用opts:this.print_name&#xf…

el-button与i标签实现区域切换效果

题记&#xff1a;我们工作中需要实现内容区域切换放大缩小的效果&#xff0c;其实道理很简单&#xff0c;给事件给样式即可。 #el-button与i标签实现区域切换效果 ##图片展示&#xff1a; ##代码实现 ###template部分 <div class"right"><el-button type&…

【SQL应知应会】行列转换(三)• Oracle版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 行列转换 • Oracle版 oracle的行列转换前言1.数据…

Perhaps you are running on a JRE rather than a JDK?

我记得我遇到过好多次 mvn clean package的时候报错&#xff1b; 最后检查时这里的路径配置错了

蓝牙耳机品牌排行榜前十名!2023年超全蓝牙耳机合集!

虽然称不上发烧友&#xff0c;但近年来用过的蓝牙耳机少说也有几十款了。这篇文章以近年来市面上的热销且评价都比较高的十款蓝牙耳机为主要推荐对象&#xff0c;来给大家做一期有关于蓝牙耳机的实测体验以及提供相关的选购思路&#xff0c;希望能为大家的选择出一份力。 第一…