当前位置: 首页 > 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.dtcms.com/a/316470.html

相关文章:

  • 广州客户 戴尔R720服务器 liunx系统 RAID5无损升级扩容
  • CTF-XXE 漏洞解题思路总结
  • AI自主任务执行系统 AI Agent无限循环,发任务给AI,让生成脚本,运行执行任务,直到成功。
  • adjtimex系统调用及示例
  • 阿里招AI产品运营
  • 从数据洪流到智能决策:Apache IoTDB如何重塑工业物联网的DB+AI新范式
  • Java技术栈/面试题合集(12)-Maven篇
  • springboot + maven 使用资源占位符实现动态加载配置文件
  • 跳表和B+树的相似和区别 ***
  • Nginx 学习
  • UnityUI系统--GUI
  • PHP‑ORT扩展构建纯PHP机器学习的推荐系统
  • Redis协议数据迁移方式
  • 聚焦智能穿戴“下一代消费终端”之争,Meta/微美全息借AI+AR积淀定义行业未来
  • Tasks and Deadlines(Sorting and Searching)
  • 【人工智能-18】机器学习:决策树、随机森林
  • 什么情况下浮动IP(Floating IP)会“漂移”(Drift)
  • 浮动IP(Floating IP)的删除通常需要满足什么条件
  • 小程序点击菜单栏实现样式动态切换
  • 对于包含大量文件的程序的便捷makefile操作
  • RK3568 Linux驱动学习——字符设备驱动开发
  • windows内核研究(软件调试-内存断点)
  • 永磁同步电机无速度算法--具有电流测量误差鲁棒性的永磁同步电机无传感器控制的自适应广义复矢量观测器
  • 二叉树算法
  • 02-算法
  • Java后端高频面试题
  • EP02:【DL 第二弹】张量的索引、分片、合并以及维度调整
  • 如何选择正确的体育/电竞数据接口服务商?
  • 力扣148:排序链表
  • Android 开发中,HandlerThread、IntentService 和 AsyncTask区别对比