当前位置: 首页 > news >正文

Mysql常用语句

Mysql常用语句

创建和管理数据表

创建数据表:

CREATE TABLE 表名 (
列名1 数据类型,
列名2 数据类型,);

查看数据表结构:

DESC 表名;

修改表结构 (例如,添加列):

ALTER TABLE 表名 ADD 列名 数据类型;

重命名表:

RENAME TABLE 旧表名 TO 新表名;

删除表:

DROP TABLE 表名;

数据操作语句

插入记录:

INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);

查询记录:

SELECT 列1, 列2, ... FROM 表名 WHERE 条件;

更新记录:

UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;

删除记录:

DELETE FROM 表名 WHERE 条件;

JOIN常用方法

内连接:INNER JOIN

(为了简略写法,有时会写成 JOIN)内连接INNER JOIN是最常用的连接操作,从数学的角度讲就是求两个表的交集。

SELECT * FROM tab1 INNER JOIN tab2 ON tab1.id1 = tab2.id2

左连接:LEFT JOIN

左连接可以看做在内连接的基础上,把左表中不满足ON条件的数据也显示出来,但结果中的右表部分中的数据为NULL

SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.id1 = tab2.id2

右连接:RIGHT JOIN

SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.id1 = tab2.id2

子查询

子查询是指在一个查询语句中嵌套另一个查询语句的查询。子查询可以出现在 SELECT、INSERT、UPDATE、DELETE 语句中,也可以出现在 WHERE、HAVING 或 FROM 子句中。子查询的结果可以是一个值、一列值或多行多列值。
子查询的基本语法结构如下:

SELECT column1, column2
FROM table1
WHERE column3 = (SELECT column4 FROM table2 WHERE condition);

在这个例子中,内层查询(子查询)首先执行,然后将结果传递给外层查询(主查询)使用。

标量子查询(返回一个值)

把一个sql 执行返回的一个值,作为另一个sql的条件,得到的结果是一行一列,一般出现在where之后

select sum(incoming) from emp where dept2=(select dept1 from dept where dept_name='财务' );

列子查询(返回的结果是一个列)

返回的是一列值

SELECT sid from emp where dept2 in (SELECT dept1 from dept where dept_name='财务' or dept_name='销售') 

行子查询

返回的结果是一行多列,一般出现在where 的后面

select name from emp where (age,woektime_start) in (select age,woektime_start from emp where name="小兰" ) ;

表子查询

定义:返回的是多行多表 (返回的就是一个表),一般接在from 的后面,返回的是一个表

select a.name from (select  * from  dept  INNER JOIN  emp on dept.dept1=emp.dept2) as a WHERE a.dept_name="财务"

多表查询

三表连接

select  *   from  student  as a ,course  as b,sc as  c where   a.stu_no=c.stu_no  AND  b.c_no=c.c_no ;

三表左连接

select * from student as a left JOIN sc as c on a.stu_no=c.stu_no left JOIN course as b on b.c_no=c.c_no

先合两表在和一表

select   *  from  (select * from 表1  right JOIN   表3     on   表1.关联字段1=表3.关联字段3 ) 
http://www.xdnf.cn/news/1248985.html

相关文章:

  • Bilateral Reference for High-Resolution Dichotomous Image Segmentation
  • 智慧社区(八)——社区人脸识别出入管理系统设计与实现
  • 轻量应用服务器Centos系统上安装jdk8和Jdk17教程(详细)
  • (ZipList入门笔记二)为何ZipList可以实现内存压缩,可以详细介绍一下吗
  • 在AI时代,如何制定有效的职业规划?AI时代职业规划+AI产品经理角色
  • 探索设计模式的宝库:Java-Design-Patterns
  • FastDeploy2.0:报qwen2.embed_tokens.weight
  • 3. 为什么 0.1 + 0.2 != 0.3
  • 多传感器融合
  • Redis之Set和SortedSet类型常用命令
  • leetcode-python-删除链表的倒数第 N 个结点
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-邮箱重置密码
  • 使用ProxySql实现MySQL的读写分离
  • ubuntu24安装vulkan-sdk
  • 一文搞定JavaServerPages基础,从0开始写一个登录与人数统计页面
  • Rust进阶-part4-智能指针2
  • 力扣106:从中序与后序遍历序列构造二叉树
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-登录实现
  • Redis里面什么是sdshdr,可以详细介绍一下吗?
  • Linux lvm逻辑卷管理
  • 跑yolov5的train.py时,ImportError: Failed to initialize: Bad git executable.
  • 【Linux】特效爆满的Vim的配置方法 and make/Makefile原理
  • 一种红外遥控RGB灯带控制器-最低价MCU
  • MySQL间隙锁在查询时锁定的范围
  • 前端遇到页面卡顿问题,如何排查和解决?
  • 【运维部署篇】OpenShift:企业级容器应用平台全面解析
  • Spring 的优势
  • Springboot集成Log4j2+MDC串联单次请求的日志
  • HBM Basic(VCU128)
  • 《Python基础》第3期:使用PyCharm编写Hello World