【mysql 数据操作 子查询 介绍】教程文章相关的互联网学习教程文章

MySQL元数据操作:查询 MySQL 空表,拥有某字段的表,等【代码】

1、查询MySQL库下所有表名,数据为空的表SELECTtable_name,table_rows FROMinformation_schema. TABLES WHEREtable_schema = ahbo AND table_rows < 1;2、查询指定库拥有某字段的表SELECT DISTINCTTABLE_NAME FROMinformation_schema. COLUMNS WHERECOLUMN_NAME = columnName AND TABLE_SCHEMA = dbName AND TABLE_NAME NOT LIKE vw%;3、修改指定数据库中所有varchar类型的表字段的字符集为UTF8,并将排序规则修改为utf8_general_c...

Mysql-03-DML数据操作语言-DQL-基础查询【代码】

DML数据操作语言 数据库操作语言DML(Data Manipulation Language )常用语句: insert dateta update文章目录 DML数据操作语言插入数据DQL-基础查询查询结果处理函数:单行函数字符函数:逻辑处理ifnull---- if 数学函数日期函数 分组函数插入数据 INSERT INTO t_student VALUE(111,'聂','男','1999-01-01' ,122.1, 12311231,NOW()); 方式一: INSERT INTO 表名(列1,列2……,列n) VALUES(值1,值2……,值n); INSERT INTO t_student(stu_n...

MySQL数据操作管理——学习笔记

8.1插入数据 8.1.1为表的所有字段插入数据l insert into student values(‘0’,’小李’,’1班’); l Insert into student (sno,sname,ssex,sclass)values (‘1’,’李明’,’男’,’1班’);注意:第一种比较简单,第二种可以不按照字段顺序插入,同时记录也要随之更改。 8.1.2为表指定字段插入字段 Insert into student(sno,sname) values (‘2’,’小红’); 没有赋值的字段,数据库系统会为其插入默认值,如NULL,否则会报错...

MySQL的SQL语句 - 数据操作语句(12)- SELECT 语句(3)【代码】

JOIN 子句 MySQL 对 SELECT 语句和多表 DELETE 和 UPDATE 语句 table_references 部分支持以下 JOIN 语法:1. table_references: 2. escaped_table_reference [, escaped_table_reference] ... 3. 4. escaped_table_reference: { 5. table_reference 6. | { OJ table_reference } 7. } 8. 9. table_reference: { 10. table_factor 11. | joined_table 12. } 13. 14. table_factor: { 15. tbl_name [PART...

MySQL的SQL语句 - 数据操作语句(12)- SELECT 语句(2)【代码】

SELECT ... INTO 语句 SELECT 的 SELECT ... INTO 形式将查询结果存储在变量中或写入文件: SELECT ... INTO var_list 选择列值并将它们存储到变量中。 SELECT ... INTO OUTFILE 将所选行写入文件。可以指定列和行终止符以生成特定的输出格式。 SELECT ... INTO DUMPFILE 在没有任何格式的情况下将单行写入文件。 给定的 SELECT 语句最多可以包含一个 INTO 子句,但如 SELECT 语法描述所示,INTO 可以出现在不同的位置: ● 在 FRO...

MySQL的SQL语句 - 数据操作语句(12)- SELECT 语句(4)【代码】

UNION 子句 1. SELECT ... 2. UNION [ALL | DISTINCT] SELECT ... 3. [UNION [ALL | DISTINCT] SELECT ...] UNION 将来自多个 SELECT 语句的结果组合到一个结果集中。例子: 1. mysql> SELECT 1, 2; 2. +---+---+ 3. | 1 | 2 | 4. +---+---+ 5. | 1 | 2 | 6. +---+---+ 7. mysql> SELECT 'a', 'b'; 8. +---+---+ 9. | a | b | 10. +---+---+ 11.| a | b | 12. +---+---+ 13. mysql> SELECT 1, 2 UNION SELECT 'a', 'b'; 14. +---+-...

MySQL的SQL语句 - 数据操作语句(13)- 子查询(4)【代码】

带有 ANY、IN 或 SOME 的子查询 1. operand comparison_operator ANY (subquery) 2. operand IN (subquery) 3. operand comparison_operator SOME (subquery) 其中 comparison_operator 是以下运算符之一: 1. = > < >= <= <> != ANY 关键字必须跟在比较运算符之后,表示“如果子查询返回的列中的任何值的比较结果为真,则返回 TRUE”。例如: 1. SELECT s1 FROM t1 WHERE s1 > ANY (SELECT s1 FROM t2); 假设表 t1 中有一行...

MySQL的SQL语句 - 数据操作语句(13)- 子查询(3)【代码】

使用子查询进行比较 子查询最常用的形式是: 1. non_subquery_operand comparison_operator (subquery) 其中 comparison_operator 是以下运算符之一: 1. = > < >= <= <> != <=> 例如: 1. ... WHERE 'a' = (SELECT column1 FROM t1) MySQL 也允许这种结构: 1. non_subquery_operand LIKE (subquery) 曾经子查询的唯一合法位置是在比较符的右侧,可能有一些老的 DBMS 仍然在坚持这一点。 下面是一个子查询比较的常见形式,...

MySQL的SQL语句 - 数据操作语句(13)- 子查询(2)【代码】

子查询作为标量操作数 在最简单的形式中,子查询是返回单个值的标量子查询。标量子查询是一个简单的操作数,几乎可以在单个列值或文本合法的任何地方使用它,并且可以期望它具有所有操作数都具有的特性:数据类型、长度、可以指定为 NULL 等等。例如: 1. CREATE TABLE t1 (s1 INT, s2 CHAR(5) NOT NULL); 2. INSERT INTO t1 VALUES(100, 'abcde'); 3. SELECT (SELECT s2 FROM t1); 此 SELECT 中的子查询返回单个值 (abcde),该值的...

MySQL的SQL语句 - 数据操作语句(13)- 子查询(1)【代码】

子查询 子查询是另一个语句中的 SELECT 语句。 MySQL 支持 SQL 标准要求的所有子查询形式和操作,以及一些 MySQL 特有的功能。 下面是子查询的示例: 1. SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);在本例中,SELECT * FROM t1 ... 是外部查询(或外部语句),(SELECT column1 FROM t2) 是子查询。我们说子查询嵌套在外部查询中,事实上,可以在其他子查询中嵌套子查询,进行多层嵌套。子查询必须始终出现在括号内...

MySQL的SQL语句 - 数据操作语句(17)- WITH 语句(3)【代码】

限制公共表表达式递归 对于递归 CTE 来说,递归 SELECT 部分包含终止递归的条件是很重要的。作为一种防止递归 CTE 失控的开发技术,可以通过限制执行时间来强制终止递归: ● cte_max_recursion_depth 系统变量对 CTE 的递归层次数强制限制。服务器终止任何递归层次超过此变量值的 CTE 的执行。 ● max_execution_time 系统变量为当前会话中执行的 SELECT 语句设置强制执行超时时间。 ● MAX_EXECUTION_TIME 优化器提示对出现在 SE...

MySQL的SQL语句 - 数据操作语句(17)- WITH 语句(2)【代码】

递归公共表表达式 递归公共表表达式是具有引用其自身名称的子查询的表达式。例如:1. WITH RECURSIVE cte (n) AS 2. ( 3. SELECT 1 4. UNION ALL 5. SELECT n + 1 FROM cte WHERE n < 5 6. ) 7. SELECT * FROM cte;执行时,语句将生成以下结果,即一个包含简单线性序列的列:1. +------+ 2. | n | 3. +------+ 4. | 1 | 5. | 2 | 6. | 3 | 7. | 4 | 8. | 5 | 9. +------+递归 CTE 具有以下结构: ● 如果 ...

MySQL的SQL语句 - 数据操作语句(15)- UPDATE 语句【代码】

UPDATE 语句 UPDATE 是修改表中行的 DML 语句。 UPDATE 语句可以用 WITH 子句开头,定义在 UPDATE 中可访问的公共表表达式。 单表语法: 1. UPDATE [LOW_PRIORITY] [IGNORE] table_reference 2. SET assignment_list 3. [WHERE where_condition] 4. [ORDER BY ...] 5. [LIMIT row_count] 6. 7. value: 8. {expr | DEFAULT} 9. 10. assignment: 11. col_name = value 12. 13. assignment_list: 14. ...

MySQL的SQL语句 - 数据操作语句(17)- WITH 语句(1)【代码】

WITH(公共表表达式) 公共表表达式(common table expression,CTE)是一个命名的临时结果集,存在于单个语句的范围内,定义后可以在该语句中引用它,可能多次引用。下面的讨论描述如何编写使用 CTE 的语句。 通用表表达式 若要指定公共表表达式,请使用用逗号分隔子语句的 WITH 子句。每个子句提供一个子查询,该子查询生成一个结果集,每个子查询关联一个名称。以下示例在 WITH 子句中定义名为 cte1 和 cte2 的 CTE,并在 WITH ...

MySQL的SQL语句 - 数据操作语句(16)- VALUES 语句【代码】

VALUES 语句 VALUES 是 MySQL 8.0.19 中引入的一个 DML 语句,它以表的形式返回一个或多个行的集合。换句话说,它是一个表值构造器,也可以作为独立的 SQL 语句来运行。 1. VALUES row_constructor_list [ORDER BY column_designator] [LIMIT BY number] 2. 3. row_constructor_list: 4. ROW(value_list)[, ROW(value_list)][, ...] 5. 6. value_list: 7. value[, value][, ...] 8. 9. column_designator: 10. colu...