当我们需要向数据库表中插入一条新记录时,就必须要使用到INSERT语句。

INSERT语句的基本语法是:

INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);

例如,我们向jobs表插入一条新记录,先列举出需要插入的字段名称,然后在VALUES子句中依次写出对应字段的值:

-- 添加一条新记录

INSERT INTO pwuser(username,password,address)

VALUES (\'TEST1\',\'TEST1\',\'广东省\');

 

在这里我们并没有列出userid字段,也没有列出userid字段对应的值,这是因为userid字段是一个自增主键,它的值可以由数据库自己推算出来的。此外,如果一个字段有默认值,那么在INSERT语句中也可以不出现。

字段顺序不必和数据库表的字段顺序一致,但值的顺序必须和字段顺序一致。也就是说,可以写

INSERT INTO jobs(min_salary,max_salary,job_id,job_title) ...,但是对应的VALUES就得变成(10000, 26000, ’Accesson’, ’IT_TEST’)。

还可以一次性添加多条记录,只需要在VALUES子句中指定多个记录值,每个记录是由(...)包含的一组值:

-- 一次性添加多条新记录

INSERT INTO pwuser(username,password,address)

VALUES (\'TEST2\',\'TEST2\',\'广东省\'),

       (\'TEST3\',\'TEST3\',\'广东省\');

除了可以插入正常数值之外,还可以插入空值,插入空值有俩种办法,一种是隐式方式,一种是显式方式。

隐式方式就是在列名中省略该列的值:

INSERT INTO pwuser(username,password)

VALUES (\'TEST4\',\'TEST4\');

显式方式就是在VALUES子句中指定空值:

INSERT INTO pwuser

VALUES (1,\'TEST4\',\'TEST4\',NULL);

除了以上那几种插入数据的方法之外,还可以从其他表中拷贝数据,这种方法就不用写values子句,不过子查询的值列表必须要和insert子句中的列名一一对应。

INSERT INTO pwuser

SELECT *

FROM user;

相关文章:

  • 2022-02-13
  • 2022-02-13
  • 2021-04-27
  • 2021-11-19
  • 2021-10-18
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2021-11-19
  • 2022-02-08
  • 2021-11-19
相关资源
相似解决方案