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

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
