当前位置: 首页 > news >正文

MySQL——增删改查操作

一.CRUD简介

CRUD就是对数据库中的内容进行增删改查操作。

1.Create (创建)        2.Retrieve(读取)

3.Update(更新)        4.Delete(删除)

二.数据库操作

1.创建数据库:

create database 数据库名;

2.删除数据库

drop database 数据库名;

3.修改数据库

alter database 数据库名 charset 字符集名;

4.查询数据库

show databases;  //查询所有数据库
show create database 数据库名;  查看指定数据库信息

 三.表操作

1.创建表

create table 表名(列名和类型);
例:
create table student(id int,name varchar(20),age int);

2.删除表

drop table 表名;

3.修改表

alter table 表名 add column (列名和类型); //插入新的列
alter table 表名 drop column 列名;  //删除某列
alter table 表名 change 原列名 新列名 新列名类型;  //对列进行更改

4.查询表信息

show tables;  //查看所有表
desc 表名;  //查看表结构

四.数据操作

1.插入数据

  //全列插入
insert into 表名 values(数据名和数据类型);
例:
insert into student values(1,'张三',17),(2,'李四',18),(3,'王五',19);//指定列插入
insert into 表明 (列名) values (要插入的数据);
例:
insert into student (id,name) values (4,'赵六');

2.删除数据

delete from 表名 where 条件;
例:
delete from student where name = '赵六';delete from 表名;  //清除整表内容(表仍存在)

3.修改数据

update 表名 set 修改内容 where 条件;
例:
update student set id=99,name = '孙七';

4.查询数据

select*from 表名; //查询此表所有数据select 列名 表名; //查询此表指定列select 列明 as 别名 from 表名; //指定列的别名查询select*from 表名 where 条件; //条件查询select distinct 列名 from 表名; //去重查询select*from 表名 order by 列名 desc; //降序查询select*from 表名 order by 列名; //升序查询

五.模糊查询

select*from 表名 where name like '张%'; //查询所有name为张*的数据select*from 表名 where name like '%张'; //查询所有name为*张的数据

六.分组查询

select*from 表名 order by 列名 limit 数据数(数量); //从0开始,筛选数据数select*from 表名 order by 列名 limit 页开始数,数据数;  //从页开始数开始,筛选数据select*from 表名 order by 列名 limit 页开始数 offset 数据数; //从页开始数开始,筛选数据

七.聚合函数

count(列名):
返回查询到的数据的数量sum(列名):
返回查询到的数据的总和,不是数字没有意义avg(列名):
返回查询到的数据的平均值,不是数字没有意义max(列名):
返回查询到的数据的最⼤值,不是数字没有意义min(列名):
返回查询到的数据的最⼩值,不是数字没有意义

例:

查询下表的 age的和,查询下表的 age 的平均数

select sum(age) from student;

 

select avg(age) from student;

八.分组查询以及having 子句

select 列名/聚合函数 from 表名 group by 分组依据;select 列名/聚合函数 from 表名 group by 分组依据 having 分组后查询条件;

 例:

查询下表护士人数

select count(id)as'护士' from student group by profession having profession= '护士';

 

使⽤ group by 对结果进⾏分组处理之后,对分组的结果进⾏过滤时,不能使⽤where,应使用having ⼦句

语句执行顺序:where - group by - having - order by

九.日期函数

select curdate(); //查询当前日期select time(); //查询当前时间select now(); //查询当前日期和时间select date( curdate()/curtime() ); //提取日期部分select datediff(日期1,日期2); //查询两日期时间差select adddate(日期,interval 增加日期); //在日期上增加天数
例:
select adddate('2024-08-27',interval 30 day);select adddate(日期,interval 减去日期); //在日期上减去天数

十.字符串处理函数

select char_length(字符串); //返回字符串长度
select length(字符串) //返回字符串的字节数concat(字符串1,字符串2); //返回拼接后的字符串select lcase(字符串); //返回字符串的小写
select ucase(字符串); //返回字符串的大写select replace(字符串1,字符串2,字符串3); //将字符串1中的字符串2部分替换为字符串3
select strcmp(字符串1,字符串2); //比较字符串1和字符串2   返回 0/1/-1select left(字符串,n); //返回字符串的最左边的n个字符
select right(字符串,n); //返回字符串的最右边的n个字符select ltrim(字符串); //删除字符串前面的空格
select rtrim(字符串); //删除字符串后面的空格
select trim(字符串); //删除字符串前面和后面的空格select instr(字符串,substring); //返回 substring 第一次出现的索引

注:以上不一定是所有的字符串处理函数的操作

十一.数字函数

select abs(num); //返回num的绝对值select ceit(num); //返回不小于num的最小整数
select floor(num); //返回不大于num的最小整数select rand([N]); //返回一个随机浮点数 范围[0.0,1.0]
select round(num); //返回 num 四舍五入后的值
select round(num,N); //返回 num 四舍五入到小数点后 N 位的值

注:以上不是所有数字函数的操作

十二.其他函数

version(); //获取当前数据库版本database(); //查看当前正在使用的数据库user(); //显示当前用户ifnull(val1,val2); //如果 val1 为 null,返回 val2,否则返回 val1

http://www.dtcms.com/a/312927.html

相关文章:

  • Compose笔记(四十一)--ExtendedFloatingActionButton
  • 嵌入式开发学习———Linux环境下IO进程线程学习(二)
  • 【C++】面向对象编程:继承与多态的魅力
  • kafka创建topic报错解决思路之一
  • 日常--详细介绍qt Designer常用快捷键(详细图文)
  • 硅基计划3.0 知识探究 常见类方法
  • 关于Web前端安全防御之安全头配置
  • PHP入门及数据类型
  • 【2025ICCV-目标检测方向】WaveMamba:用于 RGB-红外目标检测的小波驱动曼巴融合
  • 《金字塔原理》读书思考笔记
  • GitOps:云原生时代的革命性基础设施管理范式
  • 关于 xrdp远程桌面报错“Error connecting to sesman on 127.0.0.1:3350“的解决方法
  • Python 基础语法(一):从常量到运算符
  • LeetCode 126:单词接龙 II
  • C语言的基本结构
  • http://localhost:8080/photos/xxx.png的本地图片访问方案
  • 电路原理图绘制专业实战教程2
  • 0803 思维导图+小项目
  • 【Redis学习路|第一篇】初步认识Redis
  • PPT写作五个境界--仅供学习交流使用
  • 构建企业级Web应用:AWS全栈架构深度解析
  • 力扣经典算法篇-39-有效的数独(二维数组和三维数组的应用)
  • AI 编程技巧、技术笔记
  • 安卓调javaScript Not find method “forceLogout“ implementatidsignature or namesp
  • 面向智能体的上下文工程:策略、实现与 LangGraph 实践
  • 基于单片机火灾报警系统/防火防盗系统设计
  • (9)NMPC非线性模型预测控制及机械臂ROS控制器实现
  • MCP-与本地大模型集成实现工具调用
  • 微服务的使用
  • java中Optional类的使用和注意采坑