mysql学习-常用sql语句

embedded/2025/3/18 4:51:26/

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

sql>mysql -u root -p

2、数据库操作

2.1、创建数据库

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

2.2、显示所有数据库

sql">show databases;

2.3、选择数据库

sql">use elementInfo;

2.4、删除数据库

sql">drop database `数据库名`;

3、表操作

3.1、创建表

sql">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、键信息等)

sql">desc 表名

3.3、增加数据

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

3.4、删除表

sql">drop table `表名`

3.5、删除表中数据

sql">delete from `表名` where 条件

3.6、改表中数据

sql">update table_name set field1=new_value1;

4、各种查询语句

4.1、全部查询

sql">-- 全部查询
select * from student;

4.2、只查询部分字段

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

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

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

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

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

4.5、条件查询

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

4.6、范围查询

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

4.7、判空查询

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

4.8、模糊查询

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

4.9、分页查询

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

4.10、查询后排序

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

4.11、聚合查询

sql">-- 分组加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:在内连接的基础上保留右表没有对应关系的记录

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

4.13、子查询/合并查询

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

备注:要多动手练练

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


http://www.ppmy.cn/embedded/173497.html

相关文章

LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS 论文阅读

一、TL&#xff1b;DR 为什么要这么做&#xff1f;预训练模型越来越大&#xff0c;比如GPT-3 175B训练独立变得越来越不可行方法&#xff1a;冻结预训练模型的权重&#xff0c;在Transformer架构的每一层中注入可训练的低秩分解矩阵效果&#xff1a;训练参数量减少10000x&…

【实战ES】实战 Elasticsearch:快速上手与深度实践-附录-1-常用命令速查表-集群健康检查、索引生命周期管理、故障诊断命令

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 附录-常用命令速查表 1-Elasticsearch 运维命令速查表&#xff08;集群健康检查、ILM管理、故障诊断&#xff09;一、集群健康检查与监控1.1 集群健康状态核心命令1.2 节点级健康诊断…

11. Pandas :操作Excel文件(Excel报表的案例研究)

从一个装有各种 Excel 文件的文件夹开始&#xff0c;这些文件需要被整合到 Excel 报表中。 它们包含了虚构的电信运营商在全美各营业厅的套餐&#xff08;金、银、铜&#xff09;销售情况。每个月有两个文件&#xff0c;子文件夹 new 中的是新用户&#xff0c;子文件夹 existin…

【Linux-网络】HTTP的清风与HTTPS的密语

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da; 引言 &#x1f4da; 一、HTTP &#x1f4d6; 1.概述 &#x1f4d6; 2.URL &#x1f5…

HCIA复习实验拓扑详细版

一.拓扑图 二.需求 1.学校内部的HTTP客户端可以正常通过域名www.baidu.com访问到百度网络中HTTP服务器 2.学校网络内部网段基于192.168.1.0/24划分&#xff0c;PC1可以正常访问3.3.3.0/24网段&#xff0c;但是PC2不允许 3.学校内部路由使用静态路由&#xff0c;R1和R2之间两…

织梦dedecmsV5.7提示信息提示框美化(带安装教程和效果展示)

一、效果展示 1、安装前效果 2、安装后效果 二、安装说明 1、安装测试版本&#xff1a;DedeCMS-V5.7.117-UTF8&#xff1b; 2、必须在修改代码之前请做好文件备份&#xff0c;以免误操无法恢复&#xff1b; 3、为了兼容其他版本&#xff0c;请在安装时&#xff0c;最好将替…

数字孪生技术在工业制造中的应用探索

一、数字孪生&#xff1a;工业4.0的虚实纽带 1.1 技术定义与发展脉络 数字孪生&#xff08;Digital Twin&#xff09;通过实时数据映射&#xff0c;在虚拟空间构建物理实体的动态镜像。其演进历程&#xff1a; 概念萌芽&#xff08;2002年&#xff09;&#xff1a;NASA首次提…

数据结构完全指南:C语言实现与核心原理剖析

引言&#xff1a;程序设计的骨架艺术 在计算机科学的殿堂中&#xff0c;数据结构犹如建筑设计的钢筋骨架&#xff0c;决定着程序的运行效率与资源消耗。本文将以C语言为载体&#xff0c;深入解析七大核心数据结构&#xff0c;通过原理剖析、代码实现和复杂度分析三重视角&…