zoukankan      html  css  js  c++  java
  • 第一节:插入语句

    一、数据操作语言

      1、DML

        DML(Data Manipulate Language 数据操纵语言)可以在下列条件下执行:

        (1)向表中插入数据

        (2)修改现存数据

        (3)删除现存数据

      2、事务是由完成若干项的 DML 语句组成的。

    二、insert 插入语句

      1、两种语法格式

        (1)方式一

    insert into 表名(列名1,...) 
    values(值1,...);
    

          使用这种语法一次只能向表中插入一条数据。

        (2)方式二

    insert into 表名
    set 列名=值, 列名=值,...
    

      

      2、方式一案例

        (1)插入的值的类型要与列的类型一致或兼容

    INSERT INTO beauty(id, NAME, sex, borndate, phone, photo, boyfriend_id)
    VALUES(13, '唐艺昕', '女', '1990-4-23', '1898888888', NULL, 2);
    

      

        (2)向表中插入空值

          ① 隐式方式:在列名表中省略该列的值

    INSERT INTO beauty(id, NAME, sex, borndate, phone, boyfriend_id)
    VALUES(13, '金星', '女', '1990-4-23', '1898888888', 9);

      

          ② 显示方式:在 values 子句中指定空值

    INSERT INTO beauty(id, NAME, sex, borndate, phone, photo, boyfriend_id)
    VALUES(14, '唐艺昕', '女', '1990-4-23', '1898888888', NULL, 2);
    

      

        (3)列的顺序可以调换,但插入的值与字段名要一一对应

    INSERT INTO beauty(NAME, sex ,id, phone)
    VALUES('蒋欣', '女', 15, '110');
    

      

        (4)列数和值的个数必须一致,一一对应

    INSERT INTO beauty(NAME, sex ,id, phone, boyfriend_id)
    VALUES('关晓彤', '女', 16, '110');
    

      

        (5)可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致

    INSERT INTO beauty
    VALUES(17, '蔡文姬', '女', NULL, '119', NULL, NULL);
    

      

      3、方式二案例

        (1)插入新数据

    INSERT INTO beauty
    SET id = 19, NAME = '刘涛', phone = '999';
    

      

      4、两种方式的对比

        (1)方式一支持插入多行,方式二不支持

          Demo:

    INSERT INTO beauty VALUES
    (21, '唐艺昕1', '女', '1990-4-23', '1898888888', NULL, 2),
    (22, '唐艺昕2', '女', '1990-4-23', '1898888888', NULL, 2),
    (23, '唐艺昕3', '女', '1990-4-23', '1898888888', NULL, 2);
    

      

        (2)方式一支持子查询,方式二不支持

          Demo:

    INSERT INTO beauty(id, NAME, phone)
    SELECT 26, '宋茜', '1180966';
    
    INSERT INTO beauty(id, NAME, phone)
    SELECT id, bodyname, '1833187'
    FROM boys WHERE id > 30;
    

          

         此时不必书写 values 子句

        子查询中的值列表应与 insert 子句中的列名对应。

      5、其他注意点

        ① 字符和日期型数据应包含在单引号中;

        ② values 里面的值要去字段列名一一对应;

        ③ 可以使用函数;

        ④ 要求值的类型和字段的类型要一致或兼容;

        ⑤ 字段名可以省略,默认所有列,字段和值的个数必须一致;

        ⑥ 字段的个数和顺序不一定与原始表中的字段个数和顺序一致但必须保证值和字段一一对应;

     

  • 相关阅读:
    【语义未来】Twine和Scoutlabs揭示的冰山一角
    取舍之间:Keep Simple Keep Useful
    掌握激励组合拳的红色混混博客
    智能语义聚合框架:像人类一样收集和理解知识
    快车道不快的现象与人类误判心理学
    像Last.Fm去战斗,电台式的阅读体验?
    语义的未来【OpenSourceCamp讲稿】
    Spring 中 context:propertyplaceholder @Bean
    ${pageContext.request.contextPath}不能识别的问题
    Spring @Autowired 注解 指定自动装配
  • 原文地址:https://www.cnblogs.com/niujifei/p/14922284.html
Copyright © 2011-2022 走看看