zoukankan      html  css  js  c++  java
  • mysql 常用语句整理

    开发手册:https://dev.mysql.com/doc/refman/8.0/en/information-functions.html

    1. 替换某个字段中的部分内容

    SET @oldlink1 = 'http://192.168.100.66';
    SET @newlink1 = 'www.baidu.com';
    
    UPDATE Test1
    SET Content = (
    	REPLACE (
    		Content ,@oldlink1 ,@newlink1
    	)
    )
    WHERE
    	Content LIKE concat('%' ,@oldlink1, '%');
    

     

    2.连表删除数据

    SET @UnitId = '27542';
    
    DELETE t1
    FROM
    	Test1 AS t1
    INNER JOIN Test2 AS t2 ON t1.Code = t2.Code
    WHERE
    	t2.UnitId NOT IN (@UnitId);
    

      

    3.连表插入数据

    INSERT INTO Test (
    	ID,
    	PostTime
    ) SELECT
    	UUID() AS ID,
    	t1.PostTime
    FROM
    	Test1 AS t1
    INNER JOIN Test2 AS t2 ON t1.Code = t2.Code;
    

    4. 连表更新数据

    UPDATE Test1 AS t1
    INNER JOIN Test2 AS t2 ON t1.Code = t2.Code
    SET t1.NextFlowNodeId = 72
    WHERE
    	t1.ProcessStepId = 70;
    

    5.获取某个库下的所有表名

    select table_name from information_schema.tables where table_schema=@dbName
    

      

    6.获取某个表的所有字段名

    select COLUMN_NAME from information_schema.COLUMNS where table_name = @tableName and table_schema = @dbName;
    

    7.CONCAT 拼接字符串

    SET @SearchText= CONCAT('%','测试','%');
    SELECT * FROM  Test3 WHERE CONCAT(ItemName,ItemNumber,DeptName,RealName) LIKE @SearchText;
    

     注意:若拼接项中存在NULL值,结果为NULL。如 CONCAT('测试','001',NULL,'小明'),结果为NULL,并不是我们想要的结果:"测试001小明"

    8.删除本表重复数据(You can’t specify target table for update in FROM clause,嵌套一层处理)

    DELETE
    FROM
        A
    WHERE
        id IN (
            SELECT
                tt.*
            FROM
                (
                    SELECT
                        t1.id
                    FROM
                        A AS t1
                    WHERE
                        objectid = 'S'
                    AND Enabled = 0
                    AND EXISTS (
                        SELECT
                            *
                        FROM
                            A AS t2
                        WHERE
                            objectid = 'S'
                        AND t1.UserId = t2.UserId
                        GROUP BY
                            UserId
                        HAVING
                            COUNT(id) >= 2
                    )
                ) AS tt
        );
    

      

  • 相关阅读:
    ESlint中console.log报错问题
    for、forEach、for in、for of用法
    如何覆盖elementUI样式
    什么是闭包(closure),为什么要用它?
    写一个通用的事件侦听器函数
    javascripts 浅拷贝和深拷贝
    箭头函数
    用 async/await 来处理异步
    DOM事件类
    arguments 详解
  • 原文地址:https://www.cnblogs.com/zhuanjiao/p/12123058.html
Copyright © 2011-2022 走看看