事务性语句和锁定语句STARTTRANSACTION、COMMIT和ROLLBACK1.STARTTRANSACTION2.[transaction_characteristic[,transaction_characteristic]...]3.4.transaction_characteristic:{5.WITHCONSISTENTSNAPSHOT6.|READWRITE7.|READONL
分类:
数据库 时间:
2020-12-09 11:42:09
阅读次数:
11
递归公共表表达式递归公共表表达式是具有引用其自身名称的子查询的表达式。例如:1.WITHRECURSIVEcte(n)AS2.(3.SELECT14.UNIONALL5.SELECTn+1FROMcteWHEREn<56.)7.SELECT*FROMcte;执行时,语句将生成以下结果,即一个包含简单线性序列的列:1.+------+2.|n3.+------+4.|15.|26.|37.|4
分类:
数据库 时间:
2020-12-09 11:41:49
阅读次数:
9
VALUES语句VALUES是MySQL8.0.19中引入的一个DML语句,它以表的形式返回一个或多个行的集合。换句话说,它是一个表值构造器,也可以作为独立的SQL语句来运行。1.VALUESrow_constructor_list[ORDERBYcolumn_designator][LIMITBYnumber]2.3.row_constructor_list:4.ROW(value_list)[
分类:
数据库 时间:
2020-12-09 11:41:37
阅读次数:
9
UPDATE语句UPDATE是修改表中行的DML语句。UPDATE语句可以用WITH子句开头,定义在UPDATE中可访问的公共表表达式。单表语法:1.UPDATE[LOW_PRIORITY][IGNORE]table_reference2.SETassignment_list3.[WHEREwhere_condition]4.[ORDERBY...]5.[LIMITrow_count]6.7.va
分类:
数据库 时间:
2020-12-09 11:41:19
阅读次数:
17
TABLE语句TABLE是MySQL8.0.19中引入的一个DML语句,它返回指定表的行和列。1.TABLEtable_name[ORDERBYcolumn_name][LIMITnumber[OFFSETnumber]]TABLE语句在某些方面类似于SELECT。假设存在一个名为t的表,以下两个语句将产生相同的输出:1.TABLEt;2.3.SELECT*FROMt;可以分别使用ORDERBY和
分类:
数据库 时间:
2020-12-09 11:40:58
阅读次数:
8
子查询的限制●通常,不能在子查询中修改表并从同一表中进行选择。例如,此限制适用于以下形式的语法:1.DELETEFROMtWHERE...(SELECT...FROMt...);2.UPDATEt...WHEREcol=(SELECT...FROMt...);3.{INSERT|REPLACE}INTOt(SELECT...FROMt...);例外情况:如果使用的是派生表,并且派生表是物化的,而不
分类:
数据库 时间:
2020-12-09 11:40:45
阅读次数:
8
优化子查询因为数据库的开发一直都在进行中,因此没有优化技巧是长期可靠的。下面提供了一些您可能感兴趣的技巧。将子句从子查询外部移动到内部。例如,使用以下查询:1.SELECT*FROMt12.WHEREs1IN(SELECTs1FROMt1UNIONALLSELECTs1FROMt2);而不是下面这个查询:1.SELECT*FROMt12.WHEREs1IN(SELECTs1FROMt1)ORs1I
分类:
数据库 时间:
2020-12-09 11:40:30
阅读次数:
11
子查询错误有些错误只适用于子查询。本节将介绍它们。●不支持的子查询语法:1.ERROR1235(ER_NOT_SUPPORTED_YET)2.SQLSTATE=420003.Message="ThisversionofMySQLdoesn‘tyetsupport4.‘LIMIT&IN/ALL/ANY/SOMEsubquery‘"这意味着MySQL不支持如下语句:1.SELECT*FROMt
分类:
数据库 时间:
2020-12-09 11:40:14
阅读次数:
9
横向派生表派生表通常不能引用(依赖)同一FROM子句中前面表的列。从MySQL8.0.14开始,派生表可以定义为横向派生表,以指定允许这样的引用。横向派生表的语法与非横向派生表的语法相同,只是在派生表规范之前指定了关键字LATERAL。要用作横向派生表的每个表前面必须有LATERAL关键字。横向派生表格受以下限制:●横向派生表只能出现在FROM子句中,可以出现在用逗号分隔的表列表中,也可以出现在联
分类:
数据库 时间:
2020-12-09 11:39:05
阅读次数:
10
关联子查询关联子查询是一个子查询,它包含对同时出现在外部查询中的表的引用。例如:1.SELECT*FROMt12.WHEREcolumn1=ANY(SELECTcolumn1FROMt23.WHEREt2.column2=t1.column2);请注意,子查询包含对t1列的引用,即使子查询的FROM子句没有提到表t1。因此,MySQL在子查询之外查找,在外部查询中找到t1。假设表t1包含一行,其中
分类:
数据库 时间:
2020-12-09 11:38:34
阅读次数:
8