SQL 基础语法(一)
文章目录
- 1. SQL 分类
- 2. 数据库操作
- 3. 数据表操作
- 4. 增删改操作
- 5. 查询操作
- 6. 用户管理
- 7. 权限控制
1. SQL 分类

2. 数据库操作
#创建数据库
create database if not exists test;#查询所有数据库
show databases;#查询当前数据库
select database();#删除数据库
drop database if exist test;#使用数据库
use test;
3. 数据表操作
#创建表
create table db_user (id int comment '编号',name varchar(50) comment '姓名',gender char(1) comment '性别'
) comment '用户表注释';#查询当前数据库的所有表
show tables;#查询表结构
desc db_user;#查询指定表的建表语句
show create table db_user;#修改数据类型
alter table db_user modify id char(10);#修改字段名和数据类型
alter table db_user change name age int comment '年龄';#删除字段
alter table db_user drop id;#修改表名
alter table db_user rename to new_user;#删除表
drop table db_user;#删除表,并重新创建该表
truncate table db_user;
char 和 varchar 都属于字符串的数据类型,char 长度固定,效率高,varchar 长度可伸缩,但效率低,对于长度固定的字符串(如性别),我们可直接选择 char 来存储。
在删除表时,表中的全部数据也会被删除!
4. 增删改操作
#给指定字段添加数据
insert into db_user(id, name) values(2, 'zxe');#给全部字段添加数据
insert into db_user values(2, 'zxe', '女');#批量添加数据
insert into db_user(id, name) values(2, 'zxe'), (3, 'ldh');#全部字段批量添加数据
insert into db_user values(2, 'zxe', '女'), (3, 'ldh', '男');#修改数据
update db_user set name = 'zyz', gender = '女' where id = 3;#删除数据
delete from db_user where id = 2;
注意:
① 插入数据时,指定的字段顺序需要与值的顺序一一对应;
② 字符串和日期型数据应包含在引导中;
③ 插入的数据大小应在字段的规定范围内。
5. 查询操作
#查询多个字段
select id, name from db_user;#查询全部字段
select * from db_user;#根据条件查询数据,顺序不可颠倒
select * from db_user
where gender = '女'
group by address
having count(*) >= 3
order by id desc
limit 10, 10; #设置别名,as可以省略
select id as uId, name as uName from db_user;
select d.id, d.name from db_user d;#去除重复记录
select distinct * from db_user;
① 条件查询,where


② 聚合函数,count、max、min、avg、sum

null 是不参与聚合函数的计算的!
③ 分组查询,group by
#根据性别分组,统计男女的数量
select gender, count(*) emp_count from emp
group by gender;#查询年龄小于45的员工,并根据工作地址进行分组,获取员工数量大于等于3的工作地址
select address, count(*) emp_count from emp
where age < 45
group by address
having count(*) >= 3;
where 与 having 的区别:
执行时机不同,where 是分组之前进行过滤,不满足 where 条件的数据将不参与分组,而 having 是对分组之后的结果进行过滤;
判断条件不同,where 不能对聚合函数进行判断,而 having 可以。
执行顺序 where > 聚合函数 > having,分组是为了统计,所以查询的结果一般为分组字段和聚合函数(统计结果),查询其他字段无任何意义。
④ 排序查询,order by
#asc升序排序,desc降序排序,默认为升序
select * from emp order by id asc, age desc;
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序!
⑤ 分页查询,limit
#查询第2页数据,每页展示10条记录
select * from emp limit 10, 10;#查询第一页数据,每页展示10条记录
select * from emp limit 0, 10;#查询性别为男,姓名为三个字,且年龄在20~40岁以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同的按入职时间升序排序
select * from emp
where gender = '男' and name like '___' and age between 20 and 40
order by age, entrydata
limit 5;
第一个参数为起始索引,第二个参数为要查询的记录数,起始索引最小为 0,如果查询的是第一页数据,起始索引可以省略。
6. 用户管理
#查询用户
use mysql;
select * from user;#创建用户
create user '用户名'@'主机名' identified by '密码';#修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';#删除用户
drop user 
;
7. 权限控制

#查询权限
show grants for '用户名'@'主机名';#授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';#撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
注意:
① 多个权限之间,使用逗号分隔;
② 授权时,数据库名和表名可以使用 * 进行通配,代表所有。
相关文章:
SQL 基础语法(一)
文章目录 1. SQL 分类2. 数据库操作3. 数据表操作4. 增删改操作5. 查询操作6. 用户管理7. 权限控制 1. SQL 分类 2. 数据库操作 #创建数据库 create database if not exists test;#查询所有数据库 show databases;#查询当前数据库 select database();#删除数据库 drop databas…...
Python酷库之旅-第三方库Pandas(190)
目录 一、用法精讲 881、pandas.Index.is_方法 881-1、语法 881-2、参数 881-3、功能 881-4、返回值 881-5、说明 881-6、用法 881-6-1、数据准备 881-6-2、代码示例 881-6-3、结果输出 882、pandas.Index.min方法 882-1、语法 882-2、参数 882-3、功能 882-4、…...
Spring学习笔记_19——@PostConstruct @PreDestroy
PostConstruct && PreDestroy 1. 介绍 PostConstruct注解与PreDestroy注解都是JSR250规范中提供的注解。 PostConstruct注解标注的方法可以在创建Bean后在为属性赋值后,初始化Bean之前执行。 PreDestroy注解标注的方法可以在Bean销毁之前执行。 2. 依赖…...
《云计算网络技术与应用》实训8-1:OpenvSwitch简单配置练习
1.按《云计算网络技术与应用》实训5-1进行环境配置,安装好OVS 2.开启OVS虚拟交换机 3.创建一个网桥br0 4.查看网桥列表 5.把ens34网卡连接到网桥br0上 6. 查看网桥br0所有端口 7.列出网卡ens34连接的所有网桥列表 8.查看OVS网络状态 9.将网桥br0上连接的网卡ens34删…...
【架构艺术】服务架构稳定性的基础保障
一个产品随着不断研发,其服务架构的复杂度会越来越高。随着产品的用户体量变大,为了保证产品能够长线运营,就需要保证整个服务架构的稳定性。因此,今天这篇文章,就从实操的角度,粗浅讨论一下,服…...
Python中使用pip换源的详细指南
在Python开发过程中,我们经常需要安装各种第三方库。pip是Python的包管理工具,用于安装和管理Python库。然而,由于网络原因,有时访问默认的Python包索引(PyPI)可能会比较慢。这时,我们可以通过更…...
一站打包国际智慧教育自主学练软件资源
👑🌟一站打包国际智慧教育自主学练软件与资源平台,欧美学校正在使用,不出国就可以学👒🎈 💛 多元学练:我们正在使用的自主学练软件是美国学校一线教师使用的,涵盖了英语…...
用股票API获取高频行情数据来实现数据分析和量化
用股市API获取高频行情来实现数据分析和量化 使用股市API是一种有效的方式来获取高频行情数据,以便进行行情数据分析和量化交易。Python是一种广泛应用于金融数据领域的编程语言,它提供了丰富的库和工具,可用于与股市API进行交互。通过调用股…...
C++ | Leetcode C++题解之第526题优美的排列
题目: 题解: class Solution { public:int countArrangement(int n) {vector<int> f(1 << n);f[0] 1;for (int mask 1; mask < (1 << n); mask) {int num __builtin_popcount(mask);for (int i 0; i < n; i) {if (mask &am…...
【RabbitMQ】01-RabbitMQ
1. MQ MQ可以有更好的并发性。 2. 安装 docker run \-e RABBITMQ_DEFAULT_USERitheima \-e RABBITMQ_DEFAULT_PASS123321 \-v mq-plugins:/plugins \--name mq \--hostname mq \-p 15672:15672 \-p 5672:5672 \--network hm-net\-d \rabbitmq:3.8-management3. 结构 4. 数据…...
使用 ADB 在某个特定时间点点击 Android 设备上的某个按钮
前提条件 安装 ADB:确保你已经在计算机上安装了 Android SDK(或单独的 ADB)。并将其添加到系统环境变量中,以便你可以在命令行中运行 adb。 USB调试:确保 Android 设备已启用 USB 调试模式。这可以在设备的“设置” -…...
【随笔】对于开发者而言,你对什么事情感到失落?亦或者你上一次感到有成就感是什么时候?你遇到过怎样格局的老板?
这是博主的一篇随笔文章,一起和大家聊聊工作上的一些事和一些感受,我觉得我们这个群体,同样有很多优秀的、幽默的人。只不过有些表达和沟通并不是我们擅长的,包括博主也是,这是我们的劣势和缺点。没关系,这…...
【LeetCode】两数之和返回两数下标、数组形式整数相加
主页:HABUO🍁主页:HABUO 1.两数之和返回两数下标 题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输…...
Kubernetes中的secrets存储
华子目录 2.secrets2.1secrets功能介绍2.2secrets的创建2.2.1从文件创建2.2.2编写yaml文件 2.3secret的使用案例2.3.1将secret挂载到volume中2.3.2设置子目录映射secret密钥2.3.3将secret设置为环境变量2.3.4存储docker register的认证信息spec.imagePullSecrets[] 2.secrets …...
使用 Elastic、OpenLLMetry 和 OpenTelemetry 跟踪 LangChain 应用程序
作者:来自 Elastic Bahubali Shetti Langchain 应用程序的使用正在增长。构建基于 RAG 的应用程序、简单的 AI 助手等的能力正在成为常态。观察这些应用程序更加困难。考虑到现有的各种选项,本博客展示了如何将 OpenTelemetry 检测与 OpenLLMetry 结合使…...
【论文复现】VALL-E:语音合成的新里程
📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。 📗本文收录于论文复现系列,大家有兴趣的可以看一看。 📘相关专栏C语言初阶、…...
java项目之微服务在线教育系统设计与实现(springcloud)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的闲一品交易平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 微服务在线教育系统设计与…...
P3-1.【结构化程序设计】第一节——知识要点:算法、顺序结构程序设计、if语句的语法结构及各种用法
讲解视频: P3-1.【结构化程序设计】第一节——知识要点:算法、顺序结构程序设计、if语句的语法结构及各种用法 知识要点:算法、顺序结构程序设计、if语句的语法结构及各种用法 一、算法、顺序结构程序设计任务分析 知识要点:算法…...
Vue2——单页应用程序路由的使用
一.单页应用程序与多页应用程序之间的比较 二.单页的应用场景 系统类网站 / 内部网站 / 文档类网站 / 移动端网站 三.路由的介绍 1. 什么是路由 路由是一种映射关系 2. Vue中的路由是什么 路径和组件的映射关系 四.VueRouter的使用 5个基础步骤(固定) …...
变分法(Calculus of Variations)
变分法(Calculus of Variations)是数学的一个分支,主要研究函数的极值问题,即寻找一个函数,使得某个泛函达到最大值或最小值。泛函是将函数作为变量的函数,与通常的函数不同,泛函的变量是函数本…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
