• 数据库系列之数据管理(插入数据)


    插入数据

    1 语法
    INSERT  [INTO]  <表名>  [(列名)]  VALUES  <值列表>
    其中:“[]”代表可选的;“<>”代表必需的。如果有多个列名和多个列值需要用逗号隔开。

    2 实例

    INSERT INTO Authors (AuthorName,Sex,Age,Email,TelPhone,City)
    VALUES ('吴玉鹏',1,47,'wyp@sohu.com','01090876529','北京')

    实现功能:把Values子句提供的列值依次赋值给表中指定的各列。
    添加数据时,字符型和日期型数据的值要用单引号括起来。

    使用Insert Select语句插多行数据

    1 语法
    INSERT INTO  <表2>    [列名]
    SELECT  <列名>  FROM  <表1>
    注意:
    (1)<表2>必须事先存在。如果不存在,执行时将会出现错误。
    (2)查询出的字段数目、数据类型、字段顺序,与插入列保持一致。
    2 示例
    要将Authors表中所有作者信息保存到AuthorsInfo表中。

    INSERT INTO AuthorsInfo (作者姓名,年龄,电子邮件,所在城市)
    SELECT AuthorName,Age,Email,City
    FROM Authors

    使用Select Into语句插入多行数据

    1 语法
    SELECT  <列名> 
    INTO  <新表>
    FROM  <原始表>
    注意:
        <新表>不能事先存在,它是在执行该语句时系统自动创建的。

    2 示例
    要将Authors表中“作者姓名、年龄、电子邮件、所在城市”数据存储到一个新表中

    SELECT IDENTITY(int, 1, 1) as Id, AuthorName,Age,Email,City
    INTO NewAuthorsName 
    FROM Authors

    使用Select Into语句插入标识列数据

    1 语法
    SELECT  IDENTITY(数据类型, 标识种子, 标识增量)  as 列名 
    INTO  <新表>
    FROM  <原始表>

    2 示例
    要将Authors表中“作者姓名、年龄、电子邮件”数据存储到一个新表中,并且
    要求插入新表时自动生成标识列字段。

    SELECT IDENTITY(int, 1, 1) as Id, AuthorName,Age,Email,City
    INTO NewAuthorsName 
    FROM Authors

    使用Union关键字插入多行数据

    1 语法
    INSERT  [INTO]  <表名>  [列名]
    SELECT  <值列表> UNION
    SELECT  <值列表> UNION
    SELECT  <值列表>
    注意:
    [列名]:可以省略,如果省略列名,那么<值列表>的数据个数、顺序、数据类型必须与表中字段顺序、数据类型保持一致。

    2 示例
    向Authors表中一次插入多位作者信息 。

    INSERT INTO Authors (AuthorName, Sex, Age, Email, TelPhone)
    SELECT '张笑林',1,30,'zxl@163.com','02067839876' UNION
    SELECT '李辉',0,52,'lh@126.com','02167345987' UNION
    SELECT '洪海波',1,40,'hhb@163.com','031189654329'

    3 使用Union注意的问题
    Union语句中不能使用DEFAULT关键字

    INSERT INTO Authors (AuthorName, Sex, Age, Email, TelPhone, City)
    SELECT '张笑林',1,30,'zxl@163.com','02067839876','上海' UNION
    SELECT '李辉',0,52,'lh@126.com','02167345987',DEFAULT UNION
    SELECT '洪海波',1,40,'hhb@163.com','031189654329','石家庄'
    语法检测就出现错误提示:关键字'default' 附近有语法错误。

  • 相关阅读:
    赵炯博士《Linux内核完全注释》
    0.11内核rd_load@ramdisk.c中memcpy函数好像有bug
    Can't find kernel text map area from kcore
    Could not allocate 40960 bytes percpu data
    镜像
    H3C S6800交换机 BCM shell命令
    Bean的作用域
    Bean之间的关系
    Bean的自动装配
    Java8 Hash改进/内存改进
  • 原文地址:https://www.cnblogs.com/cmhunter/p/4278830.html
Copyright © 2020-2023  润新知