Mysql学习之——增删改查语句

Mysql的增删改查

一、数据库操作

1.查询所有数据库

show databases;

2.使用某个数据库

如果我已经通过show databases知道有a、b、c三个数据库,那我想用数据库a怎么办呢?

use 数据库名;
eg:use a;

3.查询当前使用的数据库

如果我不知道当前数据库,所以想知道这个数据库是哪一个,我该用什么语句呢?0

select database();

4.创建数据库

如果我没有这个数据库,我现在想创建这个database,可以使用:

create database[if not exists] 数据库名 [default charset 字符集][collate 排序规则];

最常见的应用就是,如果一个数据库a不存在,则创建这个数据库,且设置字符集为utf8:

create database a if not exists charset=utf8

5.删除数据库

等到一系列操作做完之后,我想删除这个数据库a,要用什么操作?

drop database [if exists] 数据库名 ;
eg:drop database if exists a;

二、表操作

2.1 表的增删改操作

假如我们通过

·create database if not exists a charset=utf8;#创建数据库a
·use a;#使用数据库a
·select database;#查看当前使用的数据库,确认是在使用数据库a

通过这些操作我们已经创建了一个数据库a,并且在当前数据库了。

但里面还没有表格什么的,没有表格算什么数据库?所以我肯定想创建表,查询表、修改表,删除表。

那接下来就一一看看这些操作吧!

1.创建表格

create table 表名(字段 字段类型 COMMENT 字段注释,字段 字段类型 COMMENT 字段注释,字段 字段类型 COMMENT 字段注释
)[COMMENT 表注释];eg:create table Person(name char(20)    comment '姓名',sex    char(2)   comment '性别',age    int       comment '年龄'
)

ps:最后一个字段不要逗号,且上述代码中用[]框起来的表示可以有也可以没有,但[]这个符号使用的时候不要加上去哦。

2.修改表格

1)添加字段
如果最开始没有加字段什么的,我现在想增加字段怎么办呢?

ALTER TABLE 表名 ADD 字段名 字段类型 【comment 字段注释】【约束】eg:alter table a add nickname varchar(20) comment ‘昵称’;

2)修改字段类型(modify )
如果数据库 a中的表Person中的字段name我想修改一下字段类型,改为varchar(20),可以使用以下操作:

alter table 表名 modify 字段名 新字段类型(长度)

3)修改字段名和字段类型(change)
如果这个表中的某个字段名字和类型都不对,那么我们就直接change一下:

alter table 表名 change 旧字段名 新字段名 新字段类型 新字段类型 [comment 注释][约束];
eg:ALTER TABLE Person CHANGE name studentname VARCHAR(20) COMMENT ' 学生姓名';

PS:数据库不区分大小写,缺失有有点乱哈!

4)删除字段
如果这个字段我不想用呢?我如果想要删除该怎么做呢?

ALTER TABLE 表名 DROP 字段名;eg:ALTER TABLE Person DROP name;

3.删除表格

最后表格不想要了,怎么删除表格呢?

DROP TABLE [IF EXISTS] 表名;
eg: DROP TABLE  IF EXISTES Person;

三 数据操作(DML)

如果我有了数据库,数据库中有表格,那么怎么操作数据库中的数据呢?想要增加数据,修改数据吗,删除数据,以及最最最重要的查询数据(又tm给我去看视频,学习啊,去给我学习啊!)

3.1 添加数据(INSERT)

给某几个字段添加数据(没有添加的自然就是null了)

INSERT INTO 表名 (字段1,字段2,...)VALUES	(value1,value2,...);

给所有字段添加数据

INSERT INTO 表名 VALUES(value1,value2,...);

批量添加数据
INSERT INTO 表名 (字段1,字段2,…)VALUES (value1,value2,…),
(value1,value2,…),

(value1,value2,…) ;

3.2 修改数据(UPDATE)

更新某些字段的信息

UPDATE 表名 SET 字段1=value1,字段2=value2,字段3=value3 where 条件;

这个其实已经涉及到查询了,where,where玩的花了我现在还真是把握不住啊!

3.3 删除数据(DELETE)

删除指定数据:

DELETE FROM 表名 WHERE 条件;

删除所有数据

DELETE FROM 表名;

还有一个删除所有数据的但是要慎用的:

TRUNCATE TABLE 表名;

我猜TRUNCATE 还可以TRUNCATE DATABASE 数据库名;

3.4 查询数据(SELECT)

大招来了大招了,查询数据,查询数据的时候条件是非常复杂的。
大概可以分解成

SELECT字段列表
FROM表名称
WHERE条件列表
GROUP BY分组字段列表
HAVING分组后的条件列表
ORDER BY排序字段列表
LIMIT分页参数

上面是最基础的,比较复杂的是设置一些别名

SELECT 字段1 [AS 别名1],字段2 [AS 别名2],...
FROM表名;

当然别名也可以直接写不用这个AS

SELECT字段1 [别名1],字段2 [ 别名2],...
FROM表名;

还有不准人家重复的用DISTINCT

	SELECTDISTINCT 字段列表FROM表名;

ps:这个DISTINCT后面还要继续学啊!他的用法可不像表面上那么简单。

从我认为比较难的开始入手吧!

一)条件列表

条件列表我觉得最难的就是很多,但是可以分类记忆,比如在数值和字符串是最长使用的,那我们就按照最长使用的来搞。

1)数值类

数值最常见的就是大于 小于 大于等于 小于等于 在什么范围内啊!
再复杂一点就是数值的函数值大于 小于 等于 大于等于 小于等于 在什么范围内啊!
先看最常见的大于 小于 等于 大于等于 小于等于(我好啰嗦啊哈哈哈)
大于小于等于就是常用的那些符号啊!不用记了,不一样的是不等于,在什么连续范围内,在离散范围内,为空,在模糊范围内

比较运算符功能备注示例
!=或<>不等于得认识<>,用的时候可以常用!=SELECT * FROM Person WHERE name<>‘张三’;
BETWEEN AND在连续范围[A,B]内包括边界SELECT * FROM Person WHERE age BETWEEN 20 AND 30;
IN(…)在列举的这些值内这个可以用数字,但应该是IN(另一个表的筛选结果)当然筛选结果只能有一个字段SELECT * FROM Person WHERE name IN (‘张三’,‘李四’,‘王五’);
IS NULL为空那不得学一下哪些字段可以设为NULLSELECT* FROM Person WHERE sex IS NULL;
like 占位符模糊匹配(_匹配单个字符,%匹配任意个字符,[]是正则化花表达式)找出名字中第一个字是刘的:SELECT * FROM Person WHERE name like ‘刘%’;找出名字是x薇薇的:SELECT * FROM Person WHERE name like ‘_薇薇’;
逻辑运算符功能备注示例
AND &&与运算SELECT * FROM Person WHERE 条件1 AND 条件2;
OR或运算
NOT !非运算

关于模糊查询中用到正则化表达式的可以先看看这个:https://blog.csdn.net/fanzhi16/article/details/88287745?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169398882416800211537103%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=169398882416800211537103&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-88287745-null-null.142v93control&utm_term=%E6%95%B0%E6%8D%AE%E5%BA%93%E6%A8%A1%E7%B3%8A%E5%8C%B9%E9%85%8D&spm=1018.2226.3001.4187

欸,怎么看下来好像不止用了数值的东西啊。

2)数值的函数类(聚合函数 and 普通函数)

函数功能备注示例
COUNT统计数量查询年龄为20的人数:SELECT COUNT(id) FROM Person WHERE
MAX最大值
MIN最小值
AVG平均值
SUM求和

上面这个是聚合函数,聚合函数是针对每一列的,对一个字段进行聚合,但是如果我们想求几个字段的平均值我们可以直接用加号。
比如有一张学生表Student (学生姓名,语文成绩,数学成绩),查询平均成绩大于60分的所有学生。

SELECT *,(语文成绩+数学成绩)/2 AVRAGE_SCORE FROM Student;

二)分组查询(GROUP BY)

SELECT * FROM 表名 WHERE 条件字段 GROUP BY 分组字段 HAVING 分组后的条件字段;

分组字段我觉得用的时候可以拿一个例子来思考一下就出来的。
比如STUDENT表数据长这样:

	张三 男 20李四 女 15张武 男 27李六 女 18

那如果用

SELECT GENDER,(男表或女表的聚合函数) FROM STUDENT GROUP BY gender;

就可以分成男表和女表;

男表是:张三 男 20张武 男 27
女表是:李四 女 15李六 女 18

注意:GROUP BY 前面的SELECT一定要包含分组字段或者分组字段的聚合函数,没有办法把所有的字段(原表的所有字段)都显示出来。

三)排序查询(ORDER BY)

排序查询只需要记住ASC(默认)和DESC(降序非默认)

SELECT * FROM emp ORDER BY 字段1 排序方式1 ,字段2 排序方式2...;

只有当第一个字段的排序一致的时候才会按第二个字段的排序方式进行排序

四) 分页查询 (LIMIT)

SELECT * FROM emp LIMIT 	起始索引,结束索引;

ps:如果其实索引为0,也可以直接

SELECT * FROM emp LIMIT 查询条数;  #就可以查询到前10条了。

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

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

相关文章

请大家一定不要像我们公司这样打印log日志

前言 最近接手了公司另一个项目&#xff0c;熟悉业务和代码苦不堪言。 我接手一个新项目&#xff0c;有个习惯&#xff0c;就是看结构&#xff0c;看数据库&#xff0c;搜代码。 其中搜代码是我个人这些年不知不觉形成的癖好&#xff0c;我下面给大家展示下这个小癖好。 正文 我…

vue3:3、项目目录和关键文件

关于vsvode的更改 <!-- 加上setup允许在script中直接编写组合式api --> <script setup> // 组件引入后直接用 import HelloWorld from ./components/HelloWorld.vue import TheWelcome from ./components/TheWelcome.vue</script><!-- 1、js放在最上面&am…

linux安装postgresql13

linux安装postgresql13 1. 安装2. 数据库初始化3.配置远程访问3.1 修改配置文件3.2 重启服务3.3 测试连接 1. 安装 linux下载链接&#xff1a;https://www.postgresql.org/download/linux/ubuntu/安装命令sudo sh -c echo "deb https://apt.postgresql.org/pub/repos/apt…

Linux 中的 chmod 命令及示例

在 Unix 操作系统中,chmod命令用于更改文件的访问模式。该名称是change mode的缩写。其中规定每个文件和目录都有一组权限来控制权限,例如谁可以读取、写入或执行该文件。其中权限分为三类:同时读、写和执行,用“r”、“w”和“x”表示。这些字母组合在一起形成一组用户的特…

20230908_python练习_服务端与客户端数据交互

用户可以通过简单操作进行服务端数据交互&#xff0c;通过简单的sql语句直接获取EXCEL表&#xff0c;可以用来作为交互的基础。主要涉及三部分&#xff1a; 1:数据库存储表结构 --日志记录表结构 create table shzc.yytowz_service_title (leixing varchar2(18),ziduan1 v…

软件测试/测试开发丨学会与 AI 对话,高效提升学习效率

点此获取更多相关资料 简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中&#xff0c;沟通本来就是很重要的一门课程&#xff0c;沟通的过程中表达越清晰&#xff0c;给到的信息越多&#xff0c;那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理&…

单目标应用:基于成长优化算法(Growth Optimizer,GO)的微电网优化调度MATLAB

一、微网系统运行优化模型 微电网是由分布式电源、储能装置和能量转换装置等组成的小型发配电系统&#xff0c;具有成本低、电压低、污染小等特点。由于环保和能源压力&#xff0c;清洁可再生能源和分布式能源工业发展潜力巨大。微电网控制器可实现对电网的集中控制&#xff0…

搭建RabbitMQ消息服务,整合SpringBoot实现收发消息

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;3年JAVA全栈开发经验&#xff0c;专注JAVA技术、系统定制、远程指导&#xff0c;致力于企业数字化转型&#xff0c;CSDN博客专家&#xff0c;蓝桥云课认证讲师。 目录 一、前言1.1 什么是消息队列1.2 RabbitMQ 是什么1.…

Linux:【Mysql】Centos7安装mysql8.0

目录 一、环境及版本介绍 二、安装前准备 三、开始安装 一、环境及版本介绍 Linux环境&#xff1a;Centos7 Mysql版本&#xff1a;8.0.26 安装时使用的用户&#xff1a;root 二、安装前准备 1.1、下载Centos7镜像 网上寻找相关资源即可 1.2、下载VMwareWorkstation Pro并…

【LeetCode-中等题】208. 实现 Trie (前缀树)

文章目录 题目方法一&#xff1a;利用数组构建26叉树方法二&#xff1a;利用哈希表构建26叉树 题目 方法一&#xff1a;利用数组构建26叉树 插入图示&#xff1a; 全搜索和前缀搜索&#xff1a; 注意&#xff1a;全局匹配匹配完直接返回插入时的标志位 而前缀匹配时&#xff…

OpenWrt系统开发笔记

openWrt英文官网&#xff1a; https://openwrt.org/ 中文官网&#xff1a; http://www.openwrt.org.cn/ 一、开发环境及编译 在github上有两个源码使用的比较多   一个是lede,地址为&#xff1a;https://github.com/coolsnowwolf/lede   另一个为OpenWrt的官方源码&#…

Redis 管道

1. 面试题 1.1 如何优化频繁命令往返造成的性能瓶颈? 1.2 问题由来 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤&#xff1a; 1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果)&#xff0c;并监听Socket返…

清空一下问题机器的ClickOnce cache

清空ClickOnce缓存通常需要通过操作系统的命令行工具来完成。以下是在Windows操作系统上清空ClickOnce缓存的步骤&#xff1a; 1. **关闭所有ClickOnce应用程序**&#xff1a;在清空缓存之前&#xff0c;确保没有任何ClickOnce应用程序正在运行。 2. 打开**命令提示符**&…

2023国赛A题全保姆教程代码思路 定日镜场的优化设计

A 题 定日镜场的优化设计 更多完整解题可查看B站:不知名数学家小P 构建以新能源为主体的新型电力系统&#xff0c; 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式…

Redis 复制(replica)

1. 是什么 1.1 官网地址 https://redis.io/docs/management/replication/ 1.2 一句话 1. 就是主从复制&#xff0c;master以写为主&#xff0c;slave以读为主 2. 当master数据变化的时候&#xff0c;自动将新的数据异步同步到其它slave数据库 2. 能干嘛 1. 读写分离 2. 容灾…

智能化电力运维:数字孪生的崭露头角

随着科技的不断发展&#xff0c;数字孪生技术在各个领域的应用愈发广泛&#xff0c;尤其在电力运维领域&#xff0c;它正发挥着革命性的作用。数字孪生是一种虚拟仿真技术&#xff0c;通过实时模拟真实世界的物理对象或过程&#xff0c;可以从多方面为电力运维带来改变&#xf…

HTTP 和 HTTPS

一.HTTP HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于在网络上传输超文本&#xff08;Hypertext&#xff09;和其他资源的应用层协议。HTTP是Web中最常用的协议之一&#xff0c;它使得浏览器可以请求和显示网页&#xff0c;也允许服务器传送网页内容和其…

评估驾驶员头部姿态变化幅度的统计方法

人脸识别 文章目录 人脸识别前言一、常用的统计方法二、具体实现总结 前言 评估驾驶员头部姿态变化幅度的统计方法可以帮助分析驾驶员的注意力和警觉性。 一、常用的统计方法 评估驾驶员头部姿态变化幅度的统计方法可以帮助分析驾驶员的注意力和警觉性。以下是一些常用的统计…

PEX装机

目录 一、PXE是什么&#xff1f; 二、PXE的组件&#xff1a; vsftpd/httpd/nfs tftp dhcp 三、配置vsftpd 四、配置tftp 1.安装tftp-server 2.启动tftp 五、准备pxelinx.0文件、引导文件、内核文件 1.准备pxelinux.0文件 2.准备引导文件、内核文件 六、配置dhcp …

实时操作系统Freertos开坑学习笔记:(八):信号量、事件标志组、任务通知机制

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、信号量的简介1.信号量与队列的区别&#xff1f; 二、二值信号量及其实例1.什么是二值信号量2.二值信号量相关API函数3.二值信号量实例 三、计数型信号量四、…