mysql学习-常用sql语句

1、安装mysql参考网上链接,进入mysql数据库

mysql -u root -p

2、数据库操作

2.1、创建数据库

create database `数据库名` default character set utf8;

2.2、显示所有数据库

show databases;

2.3、选择数据库

use elementInfo;

2.4、删除数据库

drop database `数据库名`;

3、表操作

3.1、创建表

CREATE TABLE `class`(
`cid` int(3) NOT NULL AUTO_INCREMENT,
`caption` varchar(32) NOT NULL,
PRIMARY KEY(`cid`)
) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

在数据库中创建一个名位class的表。

cid int(3) NOT NULL  AUTO_INCREMENT:定义了一个名为cid的整数类型字段,显示宽度被指定为3,此字段是自动递增的(AUTO_INCREMENT),意味着每添加一条新记录时,如果没有明确的指定cid值,数据库会自动为其分配一个唯一的递增值。此外,由于设置了NOT NULL,所以每一行都必须为此列提供一个值,但由于它是自动递增的,实际上不需要手动提供。

PRIMARY KEY(cid): 指定cid为主键,这表示它在一个表中的每一行中都必须有唯一值,并且用来唯一标识表中的记录。

ENGINE=INNODB:指定了存储引擎为InnoDB。

AUTO_INCREMETN=5:设置了自增的起始值为5,刚开始向表中插入新纪录时,第一条记录的cid将从5开始计数。

DEFAULT CHARSET=utf8:设置了表的默认字符集为utf8。

备注:实际写sql语句时,也可以使用Navicat Premium客户端,操作会方便一些

3.2、查看表相关信息(包括列名、数据类型、是否允许NULL、键信息等)

desc 表名

3.3、增加数据

INSERT INTO `class` VALUES ('1', '2021年');
INSERT INTO `class` VALUES ('2', '2021年');
INSERT INTO `class` VALUES ('3', '2022年');

3.4、删除表

drop table `表名`

3.5、删除表中数据

delete from `表名` where 条件

3.6、改表中数据

update table_name set field1=new_value1;

4、各种查询语句

4.1、全部查询

-- 全部查询
select * from student;

4.2、只查询部分字段

-- 只查询部分字段
select `sname`,`class_id` from student;

4.3、别名、列名(相当于给列起别名)

select `sname` as '姓名',`class_id` as '班级id' from student;

4.4、把查询出来的结果重复记录去掉

-- 把查询出来的结果的重复记录去掉
select distinct `class_id` from student;

4.5、条件查询

-- 查询姓名为 张三 的学生信息select* from `student` where `sname` = '张三';-- 查询性别为 男 并且班级为2 的学生信息
select* from `student` where `gender` = '男' and `class_id`=2;

4.6、范围查询

-- 查询班级id 1 到 3 的学生信息
select * from student where `class_id` BETWEEN 1 AND 3;

4.7、判空查询

-- 判断不为空字符串
select * from student where `gender` <> '';-- 判断为空字符串
select * from student where `gender` = '';

4.8、模糊查询

-- 使用like关键字,"%"代表任意数量的字符,"_"代表占位符
-- 查询名字为 李 开头的学生信息
select * from student where `sname` like '李%';-- 查询第二个字为 四的学生信息
select * from student where `sname` like '_四%';

4.9、分页查询

-- 分页查询主要用于查看第N条 到 第M条的信息,通常和查询一起使用
-- 使用limit关键字,第一个参数表示从第几条开始,第二个参数表示要显示的数目
select * from student limit 0,3;

4.10、查询后排序

-- 关键字order by field asc:升序 desc:降序
select* from `score` order by `num` asc;-- 按照多个字段排序
select* from `score` order by `course_id` desc, `num` desc;

4.11、聚合查询

-- 分组加group_cat
-- 按性别分组,并把班级id聚合起来
select `gender`, group_concat(`class_id`) as '班级id' from student group by `gender`;-- 按性别分组,统计男生、女生人数
select `gender`, count(*) as '总数' from student group by 'gender';

4.12、联表查询

INNER JOIN:只取俩张表有对应关系的记录
LEFT JOIN:在内连接的基础上保留左表没有对应关系的记录

RIGHT JOIN:在内连接的基础上保留右表没有对应关系的记录

-- 表course 和 表teacher中id相同,获取cid信息
select `cid` from `course` INNER JOIN `teacher` on course.teacher_id = teacher.tid

4.13、子查询/合并查询

-- 相当于select返回的结果,又作为另一个select语句的输入
select * from `course` where teacher_id = (select tid from teacher where tname = '谢小二老师');

备注:要多动手练练

学习链接:https://github.com/0voice

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

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

相关文章

PostgreSQL16 的双向逻辑复制

一、配置 双向逻辑复制具体步骤 参考:PostgreSQL 16 双向逻辑复制与事务回环控制 - 墨天轮 1. 安装和准备环境 确保在所有参与复制的服务器上都安装了 PostgreSQL 16。主服务器&#xff1a;192.168.0.100从服务器&#xff1a;192.168.0.102 2. 配置 PostgreSQL 在每个服务…

FastAPI复杂查询终极指南:告别if-else的现代化过滤架构

title: FastAPI复杂查询终极指南:告别if-else的现代化过滤架构 date: 2025/3/14 updated: 2025/3/14 author: cmdragon excerpt: 本文系统讲解FastAPI中复杂查询条件的构建方法,涵盖参数验证、动态过滤、安全防护等18个核心技术点。通过引入策略模式、声明式编程等技术,彻…

C++前缀和

个人主页&#xff1a;[PingdiGuo_guo] 收录专栏&#xff1a;[C干货专栏] 大家好&#xff0c;今天我们来了解一下C的一个重要概念&#xff1a;前缀和 目录 1.什么是前缀和 2.前缀和的用法 1.前缀和的定义 2.预处理前缀和数组 3.查询区间和 4.数组中某个区间的和是否为特定…

机器学习基础

目录 泛化误差 偏差和方差 噪声 生成模型和判别模型 正态分布&#xff08;Normal Distribution&#xff09; 超参数选择 Grid Search 网格搜索 Random Search 随机搜索 Hyperopt Hyperas 参数估计方法对比 MLE 最大似然估计 MAP最大后验估计 贝叶斯估计 距…

中山六院团队发表可解释多模态融合模型Brim,可以在缺少分子数据时借助病理图像模拟生成伪基因组特征|顶刊解读·25-02-14

小罗碎碎念 在癌症诊疗领域&#xff0c;精准预测患者预后对临床决策意义重大。传统的癌症分期系统&#xff0c;如TNM分期&#xff0c;因无法充分考量肿瘤异质性&#xff0c;难以准确预测患者的临床结局。而基于人工智能的多模态融合模型虽有潜力&#xff0c;但在实际临床应用中…

系统可观测性(5)OpenTelemetry基础使用

系统可观测性(5)OpenTelemetry基础概念 Author: Once Day Date: 2025年3月12日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 本文档翻译整理自《OpenTelemetry Docs》&a…

OpenHarmony自定义子系统、部件与模块

如图所示&#xff0c;OpenHarmony系统源码中&#xff0c;大体上按照不同种类的功能分成多个子系统&#xff0c;然后一个子系统内部进一步在同类功能上的差异性划分成一个或多个部件&#xff0c;也就是说一个部件表示一个具体功能的源码集合。最后一个部件的源码再划分成一个或多…

【论文笔记】Contrastive Learning for Compact Single Image Dehazing(AECR-Net)

文章目录 问题创新网络主要贡献Autoencoder-like Dehazing NetworkAdaptive Mixup for Feature PreservingDynamic Feature Enhancement1. 可变形卷积的使用2. 扩展感受野3. 减少网格伪影4. 融合空间结构信息 Contrastive Regularization1. 核心思想2. 正样本对和负样本对的构建…

uni-app打包h5并部署到nginx,路由模式history

uni-app打包有些坑&#xff0c;当时运行的基础路径填写了./&#xff0c;导致在二级页面刷新之后&#xff0c;页面直接空白。就只能换一个路径了&#xff0c;nginx也要跟着改&#xff0c;下面是具体步骤。 manifest.json配置web 运行路径写/h5/&#xff0c;或者写你们网站的目…

SQLiteStudio:一款免费开源跨平台的SQLite管理工具

目录 1.简介 2.下载与安装 3.实现分析 4.总结 1.简介 SQLiteStudio 是一款专门用于管理 SQLite 数据库的图形化工具&#xff0c;由波兰开发者开发并维护。由于 SQLite 以其轻量级、零配置、嵌入式等特性被广泛应用于各种小型项目、移动应用和桌面应用中&#xff0c;而 SQLi…

Java入职篇(2)——开发流程以及专业术语

Java入职篇&#xff08;2&#xff09;——开发流程以及专业术语 开发流程 开发术语 测试用例&#xff08;用例&#xff09; 测试人员写的测试方案&#xff0c;基本上就是编写的测试过程&#xff0c;以及测试的预取结果 灰度测试 现在小部分范围内使用&#xff0c;然后逐步…

Figma介绍(基于云的协作式界面设计工具,主要用于UI/UX设计、原型制作和团队协作)

文章目录 注册和登录简单操作说明Figma介绍**核心特点**1. **云端协作与实时同步**2. **跨平台兼容**3. **高效设计工具**4. **原型交互与动效**5. **开发对接友好**6. **插件生态**7. **版本控制与历史记录** **适用场景**- **团队协作**&#xff1a;远程团队共同设计、评审、…

RAW图与BAYER图异同

RAW图是一种未经处理、未压缩的图像文件格式&#xff0c;它记录了图像传感器捕捉到的原始数据&#xff0c;包含了拍摄时的大量图像信息。下面从多个方面详细介绍RAW图&#xff1a; 参考&#xff1a;B站大清光学 定义与基本概念 定义&#xff1a;RAW文件是图像传感器将捕捉到…

mac安装navicat及使用

0.删除旧的 sudo rm -Rf /Applications/Navicat\ Premium.app sudo rm -Rf /private/var/db/BootCaches/CB6F12B3-2C14-461E-B5A7-A8621B7FF130/app.com.prect.NavicatPremium.playlist sudo rm -Rf ~/Library/Caches/com.apple.helpd/SDMHelpData/Other/English/HelpSDMIndexF…

Windows11【1001问】打开Windows 11控制面板的14种方法

在Windows 11中&#xff0c;尽管微软逐渐转向现代的“设置”应用&#xff0c;但传统的“控制面板”仍然是许多用户管理系统、调整硬件设置和自定义功能的首选工具。然而&#xff0c;由于Windows 11的界面设计更注重简洁性&#xff0c;控制面板的访问方式可能对部分用户来说不够…

Language Models are Few-Shot Learners,GPT-3详细讲解

GPT的训练范式&#xff1a;预训练Fine-Tuning GPT2的训练范式&#xff1a;预训练Prompt predict &#xff08;zero-shot learning&#xff09; GPT3的训练范式&#xff1a;预训练Prompt predict &#xff08;few-shot learning&#xff09; GPT2的性能太差&#xff0c;新意高&…

数据结构--图的基本操作

知识总览&#xff1a; 一、图的基本操作 1.Adjacent(G,x,y)&#xff0c;判断图G是否有边---对于有向图和无向图来说&#xff0c;邻间接矩阵的时复杂度更低。 邻接矩阵时间复杂度 O(1) 邻接表时间复杂度 O(1)~~O(v) 2.Neighbors(G,x):判断图G与结点x邻接的边.---邻间接矩…

Unity中解锁图片像素点,动态闭合轨迹检测

Unity中解锁图片像素点&#xff0c;动态闭合轨迹检测 介绍资源下载搭建总结 介绍 因为最近在研究Mane天蚕变的游戏完整逻辑&#xff0c;研究了两套方案做解锁图片的功能&#xff0c;这里我先讲一下我的这个图片像素点的方案解锁图片&#xff0c;这个逻辑其实很简单就是利用划线…

buu-ciscn_2019_ne_5-好久不见50

1. 背景分析 目标程序是一个存在漏洞的二进制文件&#xff0c;我们可以通过以下方式利用漏洞获取 shell&#xff1a; 程序中存在 system() 函数&#xff0c;但没有明显的 /bin/sh 字符串。 使用工具&#xff08;如 ROPgadget&#xff09;发现程序中有 sh 字符串&#xff0c;可…

图论part4|827. 最大人工岛、127. 单词接龙、463. 岛屿的周长

827. 最大人工岛 &#x1f517;&#xff1a;827. 最大人工岛 - 力扣&#xff08;LeetCode&#xff09;827. 最大人工岛 - 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。返回执行此操作后&#xff0c;grid 中最大的岛屿面积是多少&#xff1f;岛屿 由一…