前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高级查询

高级查询

作者头像
小陈运维
发布2021-10-13 11:00:10
5990
发布2021-10-13 11:00:10
举报
文章被收录于专栏:小陈运维小陈运维

DML语句

插入数据记录(INSERT)

插入单条:INSERT INTO 表名 [(字段名列表)] VALUES (值列表);

插入多条:INSERT INTO 新表(字段名列表VALUES(值列表1),(值列表2),……,(值列表n);

更新数据记录(UPDATE)

UPDATE 表名 SET 字段1=值1,字段2=值2,…,字段n=值n [WHERE 条件];

删除数据记录(DELETE/TRUNCATE)

DELETE FROM 表名 [WHERE条件];

TRUNCATE TABLE 表名;

TRUNCATE语句删除后将重置自增列,表结构及其字段、约束、索引保持不变,执行速度比DELETE语句快

将查询结果插入新表

添加主键:ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

添加外键:ALTER TABLE 表名 ADD CONSTRAINT 外键名FOREIGN KEY(外键字段)REFERENCES 关联表名(关联字段);

查询语句中LIMIT子句

对查询结果进行限定、可指定查询起始位置和条数

查询多表数据

表连接

子查询

比较运算符:子查询只能返回单个数值

SELECT `studentNo`,`studentName`,`sex`,`bornDate`,`address`FROM `student`

WHERE `bornDate` > (SELECT `bornDate` FROM `student` WHERE `studentName`='李斯文');

IN/NOT IN:子查询可返回多条记录

SELECT `studentName` FROM `student` stu

INNER JOIN `result` r ON stu.studentNO = r.studentNo

INNER JOIN `subject` sub ON r.subjectNo = sub.subjectNo

WHERE `studentResult` = 60 AND `subjectName` = 'Logic Java';

EXISTS关键字

检测对象是否存在 IF EXISTS

DROP TABLE IF EXISTS temp;

EXISTS子查询

SELECT …… FROM 表名 WHERE EXISTS(子查询);

子查询有返回行:返回TRUE

子查询无返回行:返回FALSE

外层查询不执行

子查询注意事项

子查询语句可以嵌套在SQL语句中任何表达式出现的位置

任何允许使用表达式的地方都可以使用子查询

嵌套在父查询SELECT语句的子查询可包括

SELECT子句

FROM子句

WHERE子句

GROUP BY子句

HAVING子句

只出现在子查询中而没有出现在父查询中的列不能包含在输出列中

只出现在子查询中而没有出现在父查询中的表不能包含在输出列中

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux运维交流社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档