您的位置:首页 > 数据库

SQL新增语句

2019-05-28 09:31 197 查看

当我们需要向数据库表中插入一条新记录时,就必须要使用到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;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: