MySQL--增、删、改、查,
-
数据库的概述、发展、现状、历史、分类
-
MySQL关系型数据库、架构(C/S)
-
window系统安装MySQL数据库
-
Linux系统【选学】
-
数据库对象——数据库(database)
-
show、create、drop命令
-
数据库对象——表(table)
-
数据类型
-
数据库表的约束
-
表结构的调整(alter)
-
数据库授权和权限管理(grant)
-
数据库的编码情况【编码一致,建议统一采用utf8mb4】
今日目标
-
数据库的CRUD
-
单表的增删改查
-
多表的关联查询
SQL分类
-
DDL 数据定义语言 create drop
-
DML 数据管理语言 CRUD
-
增删改 (更新)
-
DQL 数据查询语言
-
-
DCL 数据控制语言
DML语句
添加数据
insert指令
注意:SQL语句不区分大小写,也就是大小写一致!!
# 语法结构
insert into 表名称[(字段1 [,字段2, ……])] {values|value}(字段值, [……]) [,()];
# 注意:如果主键自增,可以使用null或者default关键字填充
# 其他字段,如果存在默认值,则使用default关键字填充
INSERT INTO t_user values(null, "刘建宏", 20, "陕西西安", "110", default);
# 也可以自己指定默认值存在项
INSERT INTO t_user values(7, "刘建宏", 20, "陕西西安", "110", 30);
INSERT INTO t_user value(8, "赵帅", 25, "陕西安康", "120", 25);
insert into t_user(name) values ("流川枫");
删除数据
DELETE指令
注意:where关键字,必须存在条件时才能出现
SQL中,单引号和双引号是一样的
delete from 表名称 [where 一个或者多个条件];
truncate指令
该指令也可以删除数据,注意:这种数据删除不通过数据字典,是无法恢复的,请慎用!!!!
主要使用场景:清除测试数据!!!!
增加数据
update指令
update 表名称 set 字段名称=新的值 [,字段=xxx [,……] [where 条件];
replace语句
replace语句结构和insert的语法结构一模一样
replace into 表名称[(字段1 [,字段2, ……])] {values|value}(字段值, [……]) [,()];
注意:replace 的sql语句,是集更新和插入于一体的一个SQL。
如果插入的数据不存在(主键、unqiue修饰的字段),执行insert执行
如果插入的数据存在(主键、unqiue修饰的字段),则先执行删除语句,再执行insert语句。
查询语句(select)
使用select查询数据库表中的某些数据。
select 语法结构
select {字段|函数|其他} from 表名称 [where]
select的特殊使用
select 可以用来计算数据,在开发中,如果数据类那些个不是数值,注意,从第一个位置它会尽可能转换为数值。
select 100 + 200;
select '100' + 200;
select '100' + '200';
select 100 + "刘建宏";
select 100 + "200刘建宏";
select 100 + "刘建宏200";
select 'a' + "b"; # 0
select null + 30 + '刘建宏'; # 只要其中一个为NULL,则结果为NULL
select也支持函数使用。select user(); # 查询当前登录用户
select database(); # 查询所属的数据库
select uuid() # 生成一个UUID值, uuid值的特点是,永不重复的一个字符串
select查询数据select 字段 from 表名称
select * from user;
select id, name from user;
select id, name, gender, address, age from user;
早晨内容回顾
-
前三章的内容回顾
-
增删改查的基本语法
insert into 表名称 values()
delete from 表名称 [where 条件]
truncate语句 truncate 表名称
update 表名称 set 字段 = 新值 ,xxxx
repalce into 表名称 values()
select 表达式;
select 函数()
select {* | 字段名称 [, 字段名称..] } from 表名称
select条件查询
select * from t_user;
select id, name, age from t_user;
# 等值条件 =
select address from t_user where id = 1;
select age from user where name="刘建宏";
# 关系条件
-- > < >= <= != = <>
# 判断是否为空
# is关键字 is null is not null
select * from user where address is NULL;
select * from user where address is not NULL;
# <=> 符号
# 充当等号的作用
# 可以用来判断空
select * from user where age <=>18;
select * from user where gender <=> null;
# 多个条件
# 逻辑运算符
# and 并且
# or 或者
# not 不是,取反
select * from user where age = 18 and gender = "男" and id > 10;
select * from user where age = 18 or gender = "女";
select name from user where gender is not null;
select name from user where not gender = "男";
# 范围
update user set age = 25 where id >= 6 and id <= 10;
update user set age = 16 where id between 12 and 15;select * from user where not (age < 20 or age > 25);# 注意:条件的执行顺序问题!!!select * from user where not age < 20 or age > 25;# 列举 in not inselect * from user where id in (1,3,8,10);select * from user where id not in (1,3,8,10);# 去重效果# 使用distinct关键字去掉重复值select distinct age from user;
日期的格式:使用字符串来表示
"yyyy-mm-dd" 如 '2000-03-30' ‘yyyy/mm/dd’ 如 '2024/5/11' 'hh:mm:ss' 如 ‘12:12:21’ "yyyyy-mm-dd hh:mm:ss" ‘2020-3-4 16:05:30’
模糊查询
使用like关键字进行模糊匹配
% 匹配0到多位
_ 匹配一个具体的位
select * from user where name like "%亮";
select * from user where name like "%亮%";
select * from user where name like "%张%";
select * from user where name like "张%";
# 表示第二个字是“绣”
select * from user where name like "_绣%";
正则查询
select * from user where name regexp "^张"; select * from user where name regexp "亮$";
复杂查询
分组查询
将数据相同的,会放在同一个组中,也就是,不会出现重复数据。往往是用来做数据分析。
select 字段
from 表名
[where 条件]
group by 字段 [, 字段 [,……]]
案例
-- 统计不同性别的人数 select count(gender), gender from user group by gender;
having语句
having语句,是配合分组使用,是分组后的筛选!!!!
select 字段 from 表名 [where 条件] group by 字段 [, 字段 [,……]] having 筛选条件
案例:
select gender, count(gender) from user group by gender having count(gender) > 8;
select gender, count(gender) from user where age >= 18 group by gender having count(gender) > 5;
聚会函数-count
统计数据
select count(id) from user;
select count(gender) from user;
select count(id) from user;
select count(1) from user;
select count(1) from user where gender="男";
排序
order by 字段 [{asc | desc }]
如果存在排序,必须是在分组之后
select 字段
from 表名
[where 条件]
[group by 字段 [, 字段 [,……]] ]
[having 筛选条件]
order by 字段 [{asc | desc }] [, 字段 [{asc | desc }]]
案例
select * from user order by age ;
select * from user order by age desc;
select * from user order by age asc;
select * from user order by age , id desc;
别名的使用
别名(alias ),就是将原有名称,重新赋予一个新的名称
在查询SQL时,可以将查询的结果重新设置名称(字段、表名称)。
字段 as 别名 ,as可以省略
select count(*) as count from user; select count(*) count from user;
分页查询
查询非常多,此时全部展示是不现实的,因此,需要通过分页展示部分数据
注意:不同的关系型数据库,实现分页效果,可能SQL不一样!!!
MySQL使用 limit关键字实现分页!!!
select 字段
from 表名
[where 条件]
[group by 字段 [, 字段 [,……]] ]
[having 筛选条件]
order by 字段 [{asc | desc }] [, 字段 [{asc | desc }]]
limit num [, num2];
limit num :表示要截取num条数据。
limit num1, num2 :表示num1为起始位【从0开始】, num2表示一页共显示多少数据。
分页实现时的几个关键变量:
当前页:默认为1,用户决定这个值 pageNow
页面的条数:一般有开发者定义 pageSIze
共有多少页:这个是需要算出来 pageCount
总条数:查询得到 allCount
select * from user limit pageSize * (pageNow - 1) , pageSize;
多表关联查询
为什么要设计多张表?不把数据存储在一张表上呢?
分表的必要性
相关文章:
MySQL--增、删、改、查,
数据库的概述、发展、现状、历史、分类 MySQL关系型数据库、架构(C/S) window系统安装MySQL数据库 Linux系统【选学】 数据库对象——数据库(database) show、create、drop命令 数据库对象——表(tableÿ…...
5.12学习总结
一.JAVA聊天室项目 文件发送 使用 Java Socket 实现聊天内容或文件的传输的原理如下: 服务器端启动:聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象,并通过调用 accept() 方法等待客户端的连接请求。客户…...
ansible利用playbook 部署lamp架构
搭建参考:ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…...
SPI通信(使用SPI读写W25Q64)
SPI通信协议 • SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线 • 四根通信线: SCLK:串行时钟线,用来提供时钟信号的。 MOSI:主机输出,从机输入 MISO:从机输出,主机输入 SS:…...
<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义
<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义 一 、前言二、拓扑图 XML 定义2.1 <Node, port, link>2.2 < XML prolog >2.3 < UsecaseDef >2.4 < Usecase>2.5 < Targets>2.5.1 < Target>2.5.2 < Range>2.6 < Pipeline>2.…...
使用C++11实现Golang的defer功能
本文主要用C11标准来实现Golang的defer功能。 背景 目前笔者的主力语言是Golang,其次是C,再次是JS、Delphi。在Golang工程中大量使用了defer关键字实现函数的延迟调用。如打开文件的出错处理。近来在C工程中遇到类似需求,在函数返回时进行某…...
前端之电力系统SVG图低代码
其实所有的图形都是由点,线,面组成的。点线面可以组成一个设备。下面就简单讲讲点线面是怎么画的吧 对于线,可以用path <g><path:d"M ${beginX},${beginY} L ${endX},${endY}":stroke-width"lineWidth":strok…...
括号生成[中等]
优质博文:IT-BLOG-CN 一、题目 数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:["((()))","(()())","(())(…...
配置ubuntu的VNC时遇到报错_XSERVTransmkdir: Mode of /tmp/.X11-unix should be set to 1777
现在win11内嵌了ubuntu系统,我在根据打造基于 VNC 的 Ubuntu 20.04 的远程桌面 配置VNC server时,到了 vncserver :1 这一步,遇到报错: vncserver: /usr/bin/Xtigervnc did not start up, please look into /root/.vnc/xxxxx.:1.…...
openstack部署nova中出现的问题:
[rootcontroller nova]# su -s /bin/sh -c “nova-manage db sync” nova /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate index block_device_mapping_instance_uuid_virtual_name_device_name_idx. This is deprecated and will be…...
【OpenCV 基础知识 3】边缘检测
文章目录 cvCanny完整示例代码 cvCanny 这行代码使用OpenCV库中的 cvCanny 函数对灰度图像进行边缘检测。让我解释一下: cvCanny(gray, dst, 10, 100, 3);gray: 这是输入的灰度图像,即要进行边缘检测的图像。dst: 这是输出的边缘图像,即将结…...
拓宽知识储备量(指数级成长)
对于增强自己的知识储备,不是什么知识都往脑袋里去塞,最好的办法就是让自己的心态回到自己初心的时候,始终保值一颗学者的心,你像那些成功人士,比如格力,华为,腾讯等这样的大公司创始人哪个不是…...
x264 帧类型代价计算原理:slicetype_mb_cost 函数分析
slicetype_mb_cost 函数 函数功能 计算每个宏块 MB 的代价 cost。函数参数分析 x264_t *h:全局编码结构体x264_mb_analysis_t *a:宏块分析结构体x264_frame_t **frames:系列帧数据结构体int p0:帧序号之一,一般指向靠前帧int p1:帧序号之一,一般指向靠后帧int b:帧标志…...
战网国际服加速器哪个好用 暴雪战网免费加速器分享
战网国际服(Battle.net International或Battle.net Global)是由暴雪娱乐公司(Blizzard Entertainment)运营的面向全球玩家的多人在线游戏平台。与专注于特定地区的版本不同,国际服允许玩家不受地域限制地访问暴雪的多款…...
Java入门基础学习笔记26——break,continue
跳转关键字: break: 跳出并结束当前所在循环的执行。 continue: 用于跳出当前循环中的当次执行,直接进入循环中的下一次执行。 package cn.ensource.loop;public class BreakContinueDemo8 {public static void main(String[] a…...
HNU-算法设计与分析-作业6
第六次作业【分支限界法】 文章目录 第六次作业【分支限界法】<1> 算法实现题6-2 最小权顶点覆盖问题<2> 算法实现题6-6 n后问题<3> 算法实现题6-7 布线问题 <1> 算法实现题6-2 最小权顶点覆盖问题 ▲问题重述 问题描述: 给定一个赋权无向…...
2D Chests Assets - Mega Pack
科幻/奇幻/经典主题的箱子和容器。AAA质量,高分辨率,VFX,源PSD文件。 这是一个带有手绘套装的大包装: -【梦幻之栗】 -【科幻钱包】 AAA质量。高分辨率。一切都已准备就绪,可供使用。包括PSD文件。 在1.1版本中添加了VFX并将项目更新为URP。请注意,新的VFX仅适用于URP/HD…...
一种基于电场连续性的高压MOSFET紧凑模型,用于精确表征电容特性
来源:A Compact Model of High-Voltage MOSFET Based on Electric Field Continuity for Accurate Characterization of Capacitance(TED 24年) 摘要 本文提出了一种新的高压MOSFET(HV MOS)紧凑模型,以消…...
vue阶段性测试题,内容丰富,案例典型,题目配有答案
阶段性测试 理论题实践题 1)理论题 请简述Vue、Node.js、Vscode是什么,以及有什么关系 1. vue是一个轻量级、比较灵活的且支持组件开发的网络框架 2. node.js是让JavaScript运行在服务器上的一直环境 3. Vscode是一款有着丰富插件的代码编辑器 4. 关系…...
如何查看PC电脑已经已经连接上的网络WiFi密码?
运行ncpa.cpl...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
