class06_插入数据

插入数据

插入整行字段

插入整行所有字段的数据

插入整行字段:关键字:INSERT INTO

INSERT INTO 表名 VALUES(?,?,?,?);

?:代表当前表中需要输入的值

假如需要向teacher表中插入Alex老师和Bryant老师的数据:

可使用如下语句:

INSERT INTO teacher VALUES(‘T0001’,’Alex’,’woman’)

INSERT INTO teacher VALUES(‘T0002’,’Bryant’,’man’)

[注意]:值的顺序与表中的字段顺序必须一致!这样并不安全

安全的写法如下↓:这样就可保证值是一一对应的

INSERT INTO teacher(teacher_id,teacher_nm,gender) VALUES('T0003','Cici','woman');

插入部分字段

插入行的部分字段数据

【可以为NULL的字段,可以直接省略,这样省略的值直接为NULL,如下】

INSERT INTO teacher(teacher_id,teacher_nm) VALUES('T0004','David');

 

这样David 的性别就是NULL

一次插入多行

使用一条SQL语句插入多行数据

一次插入多行数据:

INSERT INTO teacher VALUES(‘T0001’,’Alex’,’woman’),( ‘T0002’,’Bryant’,’man’);

逗号分隔即可多条数据

【注意:】

  1. 建议一条SQL语句插入的条数在1000条以下;
  2. 还受限于数据库支持的单条SQL语句的长度;

借助其他结果集插入

根据其他SQL执行结果集来插入数据

借助其他表的数据完成数据插入:

   SELECT * FROM teacher:

↑该条SQL的执行结果是返回teacher表中的所有数据。

    INSERT INTO teacher SELECT * FROM teacher

       ↑这条SQL是用返回的结果集作为数据插入,即翻倍teacher

克隆表

根据一张已存在的表生成一张新表

teacher[原表]--àteacher_bak[克隆的新表]

两种写法:

  1. 方法一:

a)   SELECT * INTO teacher_bak FROM teacher;

  1. 方法二:

a)   CREATE TABLE teacher_bak AS SELECT * FROM teacher

【注意:】

    不用的数据库,可能仅仅支持上面两种方法中的一种,或者两种都不支持,而是其特殊的写法

原文地址:https://www.cnblogs.com/77-is-here/p/12749159.html