zoukankan      html  css  js  c++  java
  • mysql初始(6)

    随着mysql的运用不断加深,一些更复杂点的用法又需要总结起来。

    1.将一个表中的数据插入到另一个表中:

    a.两张表字段相同,并且数据全部插入,命令如下:  INSERT INTO 目标表 SELECT * FROM 来源表;

    b.插入部分字段,命令: INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;(这里的话字段必须保持一致)

    c.只导入目标表中不存在的记录,命令:INSERT INTO 目标表  (字段1, 字段2, ...)  SELECT 字段1, 字段2, ...  FROM 来源表  WHERE not exists (select * from 目标表  where 目标表.比较字段 = 来源表.比较字段);

    d.通过更新的方式,将一个表中的部分数据更新到另一个表中:update inner join on a.bid=b.id set a.x=b.x,a.y=b.y;

    2.insert的其它用法:

    insert into set为mysql的扩展语法,适合插入单行

    insert into value 为标准SQL语法,能一次插入多行数据

    3.replace用法;

    1.replace into
              replace into table (id,name) values('1','aa'),('2','bb')
              此语句的作用是向表table中插入两条记录。如果主键id为1或2不存在就相当于
              insert into table (id,name) values('1','aa'),('2','bb')
              如果存在相同的值则不会插入数据

    2.replace(object,search,replace)
              把object中出现search的全部替换为replace
              select replace('www.163.com','w','Ww')--->WwWwWw.163.com
              例:把表table中的name字段中的aa替换为bb
              update table set name=replace(name,'aa','bb')

    3.UPDATE更新一个字段中的的部分内容

    现在有一条记录的字段是“abcdefg",现在我只想将该字段中的c改为C,update语句应该怎么写

    update 表名 set 字段1 = replace(字段1,'c','C')

     
  • 相关阅读:
    LeetCode–打印从1到最大的n位数
    常用十大算法(十)— 踏棋盘算法
    常用十大算法(九)— 弗洛伊德算法
    常用十大算法(八)— 迪杰斯特拉算法
    LeetCode–组合
    LeetCode–组合总和
    5513. 连接所有点的最小费用 kruskal
    152. 乘积最大子数组 dp
    1567. 乘积为正数的最长子数组长度 dp
    5481. 得到目标数组的最少函数调用次数. 位运算
  • 原文地址:https://www.cnblogs.com/wangzhao2016/p/5708451.html
Copyright © 2011-2022 走看看