[英]Inserting new data in a table
我创建了一个用于学习目的的基本表。
CREATE TABLE friends (
id INT,
name TEXT,
birthday DATE
);
添加了一些数据...
INSERT INTO friends (id,name,birthday)
VALUES (1,'Jo Monro','1948-05-30');
INSERT INTO friends (id,name,birthday)
VALUES (2, 'Lara Johnson','1970-03-03');
INSERT INTO friends (id,name,birthday)
VALUES (3,'Bob Parker', '1962-09-3');
我意识到我忘了包含 email 列。 我添加了专栏...
ALTER TABLE friends
ADD COLUMN email;
..但是我现在如何才能将数据添加到这个新列?
我尝试过 WHERE 语句,用和不用其他列名重写 INSERT INTO 语句,但没有任何效果?
我在这里想念什么?
谢谢!
将电子邮件插入临时表,然后用它更新真实表。
CREATE TABLE friends ( id INT auto_increment primary key, name VARCHAR(100), birthday DATE ); INSERT INTO friends (name, birthday) VALUES ('Jo Monro','1948-05-30'), ('Lara Johnson','1970-03-03'), ('Bob Parker', '1962-09-3'); ALTER TABLE friends ADD COLUMN email VARCHAR(100); select * from friends
编号 | 姓名 | 生日 | email -: |:----------- |:--------- |:---- 1 | 乔梦露 | 1948-05-30 | null 2 | 劳拉·约翰逊 | 1970-03-03 | null 3 | 鲍勃·帕克 | 1962-09-03 | null
-- -- temporary table for the emails -- CREATE TEMPORARY TABLE tmpEmails ( name varchar(100) primary key, email varchar(100) );
-- -- fill the temp -- insert into tmpEmails (name, email) values ('Jo Monro','jo.monro@unmail.net'), ('Lara Johnson','lara.johnson@unmail.net'), ('Bob Parker', 'UltimateLordOfDarkness@chuni.byo');
-- -- update the real table -- update friends friend join tmpEmails tmp on friend.name = tmp.name set friend.email = tmp.email where friend.email is null;
select * from friends
编号 | 姓名 | 生日 | email -: |:----------- |:--------- |:--------- ---------- 1 | 乔梦露 | 1948-05-30 | jo.monro@unmail.net 2 | 劳拉·约翰逊 | 1970-03-03 | lara.johnson@unmail.net 3 | 鲍勃·帕克 | 1962-09-03 | UltimateLordOfDarkness@chuni.byo
db<> 在这里摆弄
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.