mySQL1(4/17)

news2024/11/16 23:37:08

目录

1.

2.字符集

3.

4.update搭配order by 和limit

5.drop table 和delete from 表名

6.主键 primary key

7.修改表

8.外键的父与子的约束关系

9.案例

10.把一个表的内容完全复制到另一个空表中去

11.更复杂的查询

12.group by 分组

13.联合查询

14.内连接和外连接

15.创建索引

16.事务

17.JDBC 编程


1.

 关系型数据库对数据的格式比较严格

2.字符集

创建数据库的时候指定字符集: create database sss charset utf8;

不指定utf8可能插入中文失败 

3.

游戏的类别

FPS  比如说apex

MOBA    比如说lol

RTS   魔兽3冰封王座  RTS和MOBA的区别是它不仅控制英雄 还控制小兵和建造防御塔商店之类的

RPG     角色扮演游戏  比如说GTA5 巫师3

4.update搭配order by 和limit

去使用

decimal(3,1)有效数字最多3个  保留一位小数  

5.drop table 和delete from 表名

区别是 drop后表不存在了

而delete from 表名是把表里面的数据删空

6.主键 primary key

非空 不和行重复

not null+ unique

主码后设置一个 auto_increment 

如果传入主码为空可以让主码再上个主码的最大数的基础上加1  .如果指定那么就在指定那里,但是再传入空还是再最大那个+1 

7.修改表

给表加一个属性

8.外键的父与子的约束关系

子行添加或者更新只能从父类种去选择

父亲删除更新的话如果子类正在用父类那么删除和更新不了  

9.案例

有一个商品要下架了 但是客户还能通过订单查询之前的订单.怎么做?

首先明确不能先删除订单表再删除商品表,这样用户就查不到了,应该给商品表加一列表示是否下架

 成为逻辑删除,并不是真删了,而是标记无效        

10.把一个表的内容完全复制到另一个空表中去

要求是表的列数的数目和类型要相同

11.更复杂的查询

聚合查询

把查询过程中 表的行和行之间进行一定的运算

以来聚合函数         ,是SQL的库函数

 sum 只针对数字  并且会自动跳过为null的行

count是计算行的个数 不算null

12.group by 分组

分组还可以筛选,分组前筛选 用where


分组后筛选 用 having 条件

13.联合查询

把多个表联合在一起查询

1对多 1的那个用多的主键来进行关联

多对多 要中间建立一个关联表  关联表中有两个表的主键 和关联表本身的属性

分组的话,select后面要么搭配聚合函数,要么写被分组的列

普通二叉搜索树 时间复杂度平均logN 最坏的话如果是单叉树的话是N

平衡二叉搜索树 是logN

treemap里面是红黑树

哈希表查询由于有映射是O(1)

14.内连接和外连接

如果两个表的数据一一对应,一个总能在另一个找到它的对应,那么内外连接相同.

如果不在一一对应那么内连接和外连接不同,

内连接只生成对应的列的临时表

外连接仍然生成所有的,不管是否对应. 

左外连接生成左边的所有的, 右边如果没有对应则为空

右外连接生辰右边的数据,左边没有对应为空

外连接当两张表中数据不匹配才会有意义 

  

15.创建索引

create index 索引名 on  表名(列名)

key 和unique 自带索引

16.事务

start transaction;   //开启事务

commit;   // 提交事务

事务的四大特征:

原子性:事务要么全部执行,要么一个不执行,实现事务的原子性要支持回滚操作.回滚操作就是数据库异常断电断网的时候再次恢复的时候会回滚到未操作之前的状态

一致性:事务执行前后,数据是靠谱的

持久性:事务修改后是持久的,由于是写到硬盘上的,重启等一系列操作并不影响它的状态

隔离性: 为了解决并发执行事务所引起的问题

并发: 客户端齐头并进的对服务器发出请求,而服务器对客户的请求同时回复就成为并发

 并发引发的问题:脏读

解决方法:给写加锁,写完别的事务才能读,加锁降低了效率,提高了数据准确性,fan

17.JDBC 编程

1.创建初始化数据源

 

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

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

相关文章

世界读书日-多读书,读好书!

我们为什么要读书,它可以让你在看到落日余晖的时候脑海中浮现的是“落霞与孤鹜齐飞”“秋水共长天一色”,而不是“哇,夕阳真好看”。在看到漫天飞舞的雪花时,能脱口而出“忽如一夜春风来,千树万树梨花开”,…

xilinx zynq+vitis实现命令行编译输出xsa以及bin文件

执行菜单命令【开始】—【所有程序】—【Xilinx Design Tools】—【Vivado2020.1】—【Vivado2020.1Tcl Shell】,弹出命令界面 或者cmd命令下输入call D:\soft_install\vivado2020.1\Vivado\2020.1\bin\vivado.bat -mode tcl 2.输入打开工程指令: open_project …

vue3配置router路由并实现页面跳转

1、安装vue-router 用vue3需要安装版本4.0以上的vue-router,安装命令: npm install vue-routernext --savevue2尽量安装4.0以下版本,安装命令: npm i vue-router3.1.3在package.json中可以查看vue-router版本号: 2、…

2399929 - 业务伙伴同步时出现错误 F2163

症状 无法保存供应商角色中业务伙伴的更改。在事务代码 MDS_PPO2 中从 BP 到供应商同步期间出现错误“尚未创建供应商 **(错误消息:F2 163)”。 环境 SAP ERP Central Component 6.0 SAP ERP 6.0 SAP ERP 的 SAP 增强包SAP ERP&#xff08…

LinkedBlockingQueue原理

1. 基本的入队出队 public class LinkedBlockingQueue<E> extends AbstractQueue<E>implements BlockingQueue<E>, java.io.Serializable {static class Node<E> {E item;/*** 下列三种情况之一* - 真正的后继节点* - 自己, 发生在出队时* - null, 表…

第八章 适配器模式

文章目录 前言一、类适配器模式完整代码220V 被适配类 Voltage220V5V 适配接口 IVoltage5V适配器类转换电压 VoltageAdapter 继承220V实现5V接口手机类判断是否能充电 Phone客户端调试类适配器模式注意事项和细节 二、对象适配器模式完整代码220V 被适配类 Voltage220V5V 适配接…

Go 语言入门很简单:Go 实现简易Web应用

前言 截止到目前为止&#xff0c;几乎我们的 Go 入门文章都是在终端运行的。 在终端运行的代码或者运用运用程序只适合自己在环境搭好的环境下使用。也就是说&#xff0c;如果用户没有安装 Go 语言环境&#xff0c;是根本没法运行我们所写的 Go 代码&#xff0c;普通用户可以…

美女如何零基础学习网络安全???

学习网络安全是一项极具挑战性的技能&#xff0c;大家在自学网络安全时&#xff0c;往往会遇到各种问题&#xff0c;导致迷茫。面对这种情况&#xff0c;解决源头问题是关键。因此&#xff0c;在接下来的探讨中&#xff0c;我们将首先分析学习网络安全的常见问题&#xff0c;并…

初识Spring(普通方式Bean的读取过程)

1.SpringBoot 相⽐于 Servlet 的优点总结 1. 添加外部 jar 更容易&#xff0c;不易出错&#xff08;版本问题⽆需关注&#xff09;&#xff1b; 2. 调试项⽬更加⽅便&#xff0c;⽆需配置 Tomcat&#xff1b; 3. 发布项⽬更加⽅便&#xff0c;⽆需配置 Tomcat&#xff1b; 4. …

【iOS】—— 响应者链和事件传递链

响应者链和事件传递链 文章目录 响应者链和事件传递链二者概念响应者响应链事件UIKit继承图UIResponderUITouchUITouch几个重要属性 UITouch的两个方法&#xff08;可用于view的拖拽&#xff09; UIEventUIEvent几个重要属性 事件的产生与传递传递链传递过程hitTest:withEvent:…

多路归并排序

内部排序和外部排序 内部排序&#xff1a;整个的排序过程都在内存中进行排序 外部排序&#xff1a;对大文件进行排序&#xff0c;无法将整个需要排序的文件复制到内存&#xff0c;所以会把文件存储到外村&#xff0c;等排序时再把数据一部分一部分地调入内存进行排序&#xff…

Java基础一(String)

Java基础一(String) 概览&#xff1a; String 被声明为 final&#xff0c;因此它不可被继承。(Integer 等包装类也不能被继承&#xff09; 在 Java 8 中&#xff0c;String 内部使用 char 数组存储数据。 public final class Stringimplements java.io.Serializable, Compa…

盘点并发编程的12种业务场景,面试别再说你不会并发了

前言 并发编程是一项非常重要的技术&#xff0c;无论在面试&#xff0c;还是工作中出现的频率非常高。 并发编程说白了就是多线程编程&#xff0c;但多线程一定比单线程效率更高&#xff1f; 答&#xff1a;不一定&#xff0c;要看具体业务场景。 毕竟如果使用了多线程&…

【MFC】网络通信(23)

Windows Sockets 规范是 Windows 平台下定义的可以兼容二进制数据传输的网络编程接口&#xff0c;是基于伯克利加利福尼亚大学的 BSD UNIX Sockets 的实现。 Socket 套接字分为两种类型&#xff1a;数据报 socket 和数据流 socket。 数据报套接字&#xff0c;即无连接套接字&…

网络通信基础 - 多路复用技术(频分多路复用、时分多路复用、波分多路复用)

文章目录 1 概述1.1 复用器 MUX 2 分类2.1 频分多路复用 FDM2.2 时分多路复用 TDM2.3 波分多路复用 WDM 1 概述 1.1 复用器 MUX 多路复用技术&#xff1a;把多个低速信道组合成一个高速信道的技术这种技术要用到两个设备&#xff0c;统称为 多路器&#xff08;MUX&#xff09…

Chapter13-基于 Netty 的通信实现

13.l Netty 介绍 Netty 是一个网络应用框架&#xff0c;或者说是一个 Java 网络开发库。 Netty 提供异步事件驱动的方式&#xff0c;使用它可以快速地开发出高性能的网络应用程序&#xff0c;比如客户端&#xff0f;服务器自定义协议程序&#xff0c;大大简化了网络程序的开发过…

ParticleSystem中的Culling Mode对耗时有怎样的影响

1&#xff09;ParticleSystem中的Culling Mode对耗时有怎样的影响 ​2&#xff09;关于API&#xff0c;OpenGL和Vulkan的疑问 3&#xff09;SVC分别搜集Keyword&#xff0c;多次搜集与单独搜集Warmup内存比较 4&#xff09;Occlusion Culling能否降低Culling耗时 这是第332篇UW…

kaggle酶稳定性预测第三名解决方案分享

最近在kaggle参加了诺维信举办的酶稳定性预测比赛 &#xff0c;最终很幸运获得了第三名&#xff0c;这篇文章主要是简单介绍一下解决方案&#xff0c;具体的数据和题目要求可访问上面的链接。 文章目录 模型概述特征工程模型XGB1XGB2XGB3 EnsembleNESP 3D geometryFoldXThermo…

AI即将夺走程序员的工作?实操验证

随着ChatGPT的普及&#xff0c;许多媒体开始报道“AI即将夺走程序员的工作”、“AI来了&#xff01;各大长都开始大幅度裁员”&#xff0c;这让一些初级码农感到担忧&#xff0c;而一些高级程序员则表示不屑一顾。这到底是不是“狼来了”。今天&#xff0c;我们将进行实际测试来…

实例了解GOT,PLT和动态链接

深入了解GOT,PLT和动态链接 我们使用一个简单的例子来了解动态链接库的链接过程&#xff0c;以及在这个过程中使用到的GOT和PLT的作用是什么。 文件准备 代码结构如下所示&#xff1a; [rootlocalhost test]# tree . . ├── main.c └── symbol.csymbol.c的内容如下&am…