【JavaWeb】MySQL基础操作

1 通用语法规则

  • SQL语句可以单行或者多行书写,以分号结尾
  • SQL语句不区分大小写,关键字建议使用大写
  • 单行注释 --注释内容(通用)       # 注释内容(MySQL独有)
  • 多行注释 /* 注释内容 */

2 语句

数据库

-- 查看所有数据库
show databases;-- 创建数据库
create database 数据库名称;-- 创建数据库(判断,不存在则创建)
create database if not exists 数据库名称;
-- 删除数据库
drop database 数据库名称;-- 删除数据库(存在才删除)
drop database if exists 数据库名称;-- 切换数据库/使用数据库
use 数据库名称;

表 

-- 创建表
create table 表名 (字段名 数据类型,字段名 数据类型,...
);

 常用数据类型

  • int:整数类型
  • double:小数类型
  • varchar(长度):字符串
  • data:日期 yyyy-MM-dd

分类

类型名称

类型说明

整数

tinyInt

微整型:很小的整数(8位二进制)  1个字节

smallint

小整型:小的整数(16位二进制)  2个字节

mediumint

中整型:中等长度的整数(24位二进制)  3个字节

int(integer)

整型:整数类型(32位二进制) 4个字节

bigint

大整型:占64位二进制 8个字节

小数

float

单精度浮点数,占4个字节

double

双精度浮点数,占8个字节

decimal(m,n)

数值类型,m表示数值的长度,n表示小数的位数既可以表示整数,也可以表示小数。如:decimal(10)  decimal(10,2)

日期

time

只表示时间类型 HH:mm:ss

date

只表示日期类型 yyyy-MM-dd

datetime

表示日期和时间类型时间范围为:'1000-01-01 00:00:00' '9999-12-31 23:59:59'

timestamp

表示日期和时间类型(时间戳)时间范围为:'1970-01-01 00:00:01' '2038-01-19 03:14:07'

字符串

char(m) 定长

固定长度的字符串,无论使用几个字符都占满全部,M0~255之间的整数

varchar(m) 变长

可变长度的字符串,使用几个字符就占用几个,M0~65535之间的整数

-- 查看数据库A中的所有表
show tables;-- 查看表结构
desc 表名;-- 删除表
drop table 表名;
-- 修改表名
alter table 表名 rename to 新表名;-- 单独添加一个字段
alter table 表名 add 字段名 数据类型;-- 修改某字段的数据类型
alter table 表名 modify 字段名 新数据类型-- 修改字段名和数据类型
alter table 表名 change 字段名 新字段名 新数据类型;
-- 删除某一个字段
alter table 表名 drop 字段名;

表数据的增删改

-- 给指定列添加数据
insert into 表名 (字段1,字段2,...) values (值1,值2,...);-- 给全部列添加数据
insert into 表名 values (值1,值2,...);-- 批量添加数据
insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...);

指定列添加数据 

 批量添加

  •  删除和修改表中数据必须加条件,否则表中数据会全部删除或修改
-- 修改表中数据
update 表名 set 字段名=新的值(,字段名=新的值) where 条件 (and 条件2);-- 删除表中数据
delete from 表名 where 条件;

查询数据

基础查询

-- 查询指定字段的数据
select 字段1,字段2 from 表名;-- 查询所有字段的数据
select * from 表名;
-- 去除重复字段的查询(查询出来的重复数据只会显示一个)
select distinct 字段名1 from 表名;-- 计算列的值(例如算销售额,将单价*销量)
select 字段名1 (+ - * /) 字段名2 from 表名;-- 起别名查询(显示的列的名字会显示成别名)
select 字段1 as 别名1,字段2 as 别名2 from 表名;

条件查询

-- 条件查询
select 字段名 from 表名 where 条件;

比较运算符大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(=)、不等于(<>或!=)
逻辑运算符并且(and 或 &&)、或者(or 或 ||)、非(not 或 !)
范围在某个范围内(between...and....)(范围包括在内)、多选一(in (非连续的范围) )
nll的处理是null(is null)、不是null(is not null)

模糊查询

-- 模糊查询
select * from 表名 where 字段名 like '通配符字符串';

通配符:任意多个字符(%)、一个字符(_)

查询排序

-- 排序查询
select 字段名 from 表名 order by 列名 排序方式1,排序方式2;

排序方式:升序(asc)(默认)、降序(desc)

如果有多个排序条件,只有当前面的条件值一样时,才会判断第二个排序条件

复杂查询-聚合函数

使用聚合函数是无法同时查询同行的其它数据

-- 聚合函数查询(null值是不会被统计到)
select 聚合函数(字段名) from 表名;

count统计指定列有几行
sum计算指定列的数值和
max计算指定列的最大值
min计算指定列的最小值
avg计算指定列的平均值
-- round(数据,小数位) 让小数显示指定位数
select round(avg(grade),2) from student;

复杂查询-分组

-- 分组查询
select 字段名 from 表名 (where 条件) group by 字段名 (having 条件);-- 分组查询,只会查询每个字段的第一个
select * from 表名 group by 字段名;-- 统计字段有几个
select 字段A,count(*) group by 字段A ;-- 例如统计选每个学科的有多少人
select xueke,count(*) group by xueke;

havingwhere的区别

where是在分组前对数据进行过滤,having是在分组后对数据进行过滤

where后面不可以使用聚合函数,having后面可以使用聚合函数

复杂查询-分页

limit作用:获取部分查询的数据

-- 分页查询
select * from 表名 limit 跳过的记录数默认为0,显示总数;-- 例子跳过前2条,获取3条
select * from 表名 limit 2,3;-- 跳过0条,显示3条
select * from 表名 limit 3;

MySQL数据库:limit

Oracle数据库:rownumber

SQL Server:top

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

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

相关文章

前后端分离------后端创建笔记(03)前后端对接(下)

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论&#xff0c;如有侵权请联系 源码&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

新增守护进程管理、支持添加MySQL远程数据库,支持PHP版本切换,1Panel开源面板v1.5.0发布

2023年8月14日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.5.0版本。 在这个版本中&#xff0c;1Panel新增了守护进程管理功能&#xff1b;支持添加MySQL远程数据库&#xff1b;支持添加FTP/S和WebDAV的SFTP服务&#xff1b;支持PHP版本切换。此外&am…

测试架构师如何落地性能测试方案(一)

背景描述&#xff1a; 最近刚接手一个新项目&#xff0c;在最开始的时候要求对这个项目做性能测试&#xff0c;产品经理也给不出性能需求&#xff0c;只因为这个项目是电商项目&#xff0c;可能会有高并发&#xff0c;秒杀的场景&#xff0c;所以产品经理要求我们对这个项目必…

深入浅出 栈和队列(附加循环队列、双端队列)

栈和队列 一、栈 概念与特性二、Stack 集合类及模拟实现1、Java集合中的 Stack2、Stack 模拟实现 三、栈、虚拟机栈、栈帧有什么区别&#xff1f;四、队列 概念与特性五、Queue集合类及模拟实现1、Queue的底层结构&#xff08;1&#xff09;顺序结构&#xff08;2&#xff09;链…

echarts3d柱状图

//画立方体三个面 const CubeLeft echarts.graphic.extendShape({shape: {x: 0,y: 0,width: 9.5, //柱状图宽zWidth: 4, //阴影折角宽zHeight: 3, //阴影折角高},buildPath: function (ctx, shape) {const api shape.api;const xAxisPoint api.coord([shape.xValue, 0]);con…

c++ 有元

友元分为两部分内容 友元函数友元类 友元函数 问题&#xff1a;当我们尝试去重载operator<<&#xff0c;然后发现没办法将operator<<重载成成员函数。因为cout的输出流对象和隐含的this指针在抢占第一个参数的位置。this指针默认是第一个参数也就是左操作 数了。…

AutoDL服务器的镜像版本太高,配置python3.7 tensorflow1.15版本的框架的步骤

1.选择一个实例&#xff0c;进入后端界面 2. 更新bashrc中的环境变量 conda init bash && source /root/.bashrc查看虚拟环境 conda info --envs可以看到此时有一个base的虚拟环境 但是它的python版本为3.8.10&#xff0c;无法安装tensorflow1.15,所以我们要创建一个…

基于Java+SpringBoot+Vue的网上图书商城设计与实现(源码+LW+部署文档等)

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

[保研/考研机试] KY85 二叉树 北京大学复试上机题 C++实现

题目链接&#xff1a; 二叉树https://www.nowcoder.com/share/jump/437195121692000296981 描述 如上所示&#xff0c;由正整数1&#xff0c;2&#xff0c;3……组成了一颗特殊二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是&#xff0c;结点m所在的子树中一共包…

k8s 自身原理 2

前面我们说到 K8S 的基本原理和涉及的四大组件&#xff0c;分享了前两个组件 etcd 和 ApiServer 这一次我们接着分享一波&#xff1a; 调度器 scheduler控制器管理器 controller manager 调度器 scheduler 调度器&#xff0c;见名知意&#xff0c;用于调度 k8s 资源的&…

cmake-ibmtpm1682编译

1、error Ossl library is using different radix 异常解决 RADIX_BITS由 64改成32 --whole-archive CMakeFiles\ibm-tpm-my.dir/objects.a -Wl, --no-whole-archive CMakeFiles\ibm-tpm-my.dir\linklibs.rsp CMake中的 --whole-archive以及–no-whole-archive两者都是编译器…

新能源汽车需要检测哪些项目

截至2022年底&#xff0c;中国新能源车保有量达1310万辆&#xff0c;其中纯电动汽车保有量1045万辆。为把好新能源汽车安全关&#xff0c;我国新能源汽车除了完善的强制性产品认证型式实验外&#xff0c;还建立了“车企-地方-国家”逐级上报的三级监管体系实行新能源汽车全生命…

opencv 基础54-利用形状场景算法比较轮廓-cv2.createShapeContextDistanceExtractor()

注意&#xff1a;新版本的opencv 4 已经没有这个函数 cv2.createShapeContextDistanceExtractor() 形状场景算法是一种用于比较轮廓或形状的方法。这种算法通常用于计算两个形状之间的相似性或差异性&#xff0c;以及找到最佳的匹配方式。 下面是一种基本的比较轮廓的流程&…

这所985非常难考,却无数人趋之若鹜!

一、学校及专业介绍 厦门大学&#xff08;Xiamen University&#xff09;&#xff0c;简称厦大&#xff08;XMU&#xff09;&#xff0c;位于福建省厦门市&#xff0c;位列国家“双一流”、“985工程”、“211工程”重点建设高校。 1.1 招生情况 厦门大学初试考847信号与系统…

LeetCode面向运气之Javascript—第27题-移除元素-98.93%

LeetCode第27题-移除元素 题目要求 一个数组nums和一个值val&#xff0c;你需要原地移除所有数值等于val的元素&#xff0c;并返回移除后数组的新长度 举例 输入&#xff1a;nums [3,2,2,3], val 3 输出&#xff1a;2, nums [2,2] 输入&#xff1a;nums [0,1,2,2,3,0,4,2…

Spring-2-深入理解Spring 注解依赖注入(DI):简化Java应用程序开发

今日目标 掌握纯注解开发依赖注入(DI)模式 学习使用纯注解进行第三方Bean注入 1 注解开发依赖注入(DI)【重点】 问题导入 思考:如何使用注解方式将Bean对象注入到类中 1.1 使用Autowired注解开启自动装配模式&#xff08;按类型&#xff09; Service public class StudentS…

vue3 使用@vue-office/excel预览本地excel文件 demo

vue3 使用vue-office/excel预览excel文件 demo 显示如下&#xff1a; npm地址&#xff1a;https://www.npmjs.com/package/vue-office/excel vue-office还有pdf和docx&#xff0c;按需下载对应插件 npm install vue-office/excel vue-demivue代码如下 app.vue <templ…

【Leetcode】79.单词搜索

一、题目 1、题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内…

小白如何轻松制作产品帮助中心页面?

产品帮助中心是每个网站/产品必不可少的页面&#xff0c;产品帮助中心页面成为了企业提供客户支持和解决方案的重要组成部分。对于初次接触建立帮助中心页面的小白来说&#xff0c;也许会感到一些困惑和无从下手。本文将为小白介绍如何轻松制作产品帮助中心页面&#xff0c;帮助…

JZ38 字符串的排列

题目地址&#xff1a;字符串的排列_牛客题霸_牛客网 题目回顾&#xff1a; 解题思路&#xff1a; 这里用到了全排列和剪枝。 首先我们来说全排列&#xff0c;设置一个vis数组来记录当期元素是否被使用过&#xff0c;然后dfs遍历整个数组&#xff0c;列出所有符合条件的路径就是…