• Mysql常用sql语句(22)- insert 插入数据


    测试必备的Mysql常用sql语句系列

    https://www.cnblogs.com/poloyy/category/1683347.html

    前言

    • 终于讲完基础的查询语句了...这篇讲的就是插入数据
    • insert 属于DML语句(数据操纵语句)

    insert ... values 的语法格式

    INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
    VALUES (值1) [… , (值n) ];

    语法格式说明

    • <列名>:可以不指定,默认指定表的所有列名
    • values:字段有多少个,值就要有多少个,且顺序要对应,否则会报错

    insert .. set 的语法格式

    这个用的不多哈,了解为主;

    INSERT INTO <表名>
    SET <列名1> = <值1>,
            <列名2> = <值2>,
            …

    两种语法格式的区别

     insert .. values 可以插入任意行数据,而 insert ... set 每次只能插入一行数据

    看看 emp 表的结构,方便后面栗子演示

    栗子一:不指定字段,添加记录

    INSERT INTO emp
    VALUES
        ( "20", "员工1", 3, 1, 1 );

    栗子二:指定所有字段,添加记录

    INSERT INTO emp ( id, NAME, dept_id, leader, is_enable )
    VALUES
        ( "20", "员工1", 3, 1, 1 );

    上面两个栗子添加的记录数据是一样的哦,只是一个指定了所有字段,另一个是不指定任何字段

    知识点

    • 指定多个字段时,字段的顺序可以随意,不需要按照表定义的顺序来写,但要保证 values 的顺序和字段的顺序相同
    • 指定的字段不用加单引号或者双引号,否则会报错

    常见错误写法

    特别在写代码的时候,经常需要字符串连接,一不留意就会用引号把字段名括起来,这样是不对的哦!

    INSERT INTO emp ( 'id', 'name' )
    VALUES
        ( "20", "员工1");

    报错截图

    栗子三:复制表数据来插入

    INSERT INTO emp ( id, NAME, dept_id, leader, is_enable ) SELECT
    15,
    NAME,
    dept_id,
    leader,
    is_enable 
    FROM
        emp 
    WHERE
        id = 1;

    主要的语法格式

    insert into <表名> [<字段名>,<字段名>..] select ....

    注意:如果是复制表数据的话,不用加 values()

  • 相关阅读:
    Android——DEBUG 堆栈
    mycat读写分离与主从切换
    【測试工具】一个将Unix时间转换为通用时间的工具
    jQuery:多个AJAX/JSON请求相应单个回调
    iOS开发中经常使用的Xcode插件
    JAVA学习第二十六课(多线程(五))- 多线程间的通信问题
    我的mac OSX bash_profile文件
    angular学习(二)—— Data Binding
    python 读取grib grib2
    linux获取内存、cpu、负载、网口流量、磁盘信息
  • 原文地址:https://www.cnblogs.com/poloyy/p/12889240.html
Copyright © 2020-2023  润新知