美文网首页
SQL 增删改

SQL 增删改

作者: wpf_register | 来源:发表于2019-09-29 09:36 被阅读0次

    原文链接

    插入记录

    //必须给出表中所有列的值,缺一个都不行
    INSERT INTO 表名 VALUES(列1值,列2值, ..., 列n值);
    
    //批量插入
    INSERT INTO 
    first_table(first_column, second_column) 
    VALUES(7, 'ggg'),
          (8, 'hhh'),
          (9, 'jjj');
    

    将查询结果插入表中

    播入INSERT语句指定的列要和查询列表中的列一一对应。

    INSERT INTO second_table(s, i)
    SELECT  first_column, second_column 
    FROM  first_table 
    WHERE first_column < 5;
    

    插入或忽略

    对于一些是主键或者具有唯一性约束的列或者列组合来说,它们不允许重复值的出现,插入时容易报错。

    //insert ignore 会自动忽略不符约束的插入
    INSERT IGNORE INTO first_table(first_column, second_column) 
    VALUES(11111, '哇哈哈') ;
    

    插入或更新

    对于主键或者有唯一性约束的列或列组合来说,
    新插入的记录如果和表中已有的记录重复的话,
    可以选择的策略不仅仅是忽略这次插入,
    也可以选择更新这条重复的记录。

    INSERT INTO first_table (first_column, second_column) 
    VALUES(1, '哇哈哈') 
    ON DUPLICATE KEY UPDATE second_column = '雪碧';
    
    //VALUES(列名)的形式来替代显式把值写出来的形式
    INSERT INTO first_table (first_column, second_column)
    VALUES(1, '哇哈哈') ON DUPLICATE KEY UPDATE second_column = VALUES(second_column);
    
    INSERT INTO first_table (first_column, second_column)
    VALUES(2, '红牛'), 
          (3, '橙汁儿')
    ON DUPLICATE KEY UPDATE second_column = VALUES(second_column);
    

    删除数据

    DELETE FROM 表名 [WHERE 布尔表达式];
    DELETE FROM second_table; //脑抽
    

    更新数据

    UPDATE 表名 SET 列1=值1, 列2=值2, ...,  列n=值n 
    [WHERE 布尔表达式];
    
    UPDATE first_table
    SET first_column = 5, 
        second_column = '乳娃娃'
    WHERE first_column IS NULL;
    

    相关文章

      网友评论

          本文标题:SQL 增删改

          本文链接:https://www.haomeiwen.com/subject/ypwsyctx.html