2016-02-25 66 views
1

我只需要将数据值插入到我的一些表中,但无法找到合适的语法。下面是引用表:SQL插入一些数据

create table PERFORMER (
    STAGE_NM char(15) primary key, 
    P_NAME varchar(10), 
    CHRIST_NM varchar(10) 
); 

可以说,我只是想将数据插入到STAGE_NMP_NAME,我会去这样的:

insert data PERFORMER values ('The Cage', 'Nicolas Cage') 

或将我空''CHRIST_NM我想离开空吗?像这样:

insert data PERFORMER values ('The Cage', 'Nicolas Cage', '') 

我觉得这将是第一个,但我无法找到任何说我在这个假设中是对还是错的。

+0

插入表(列,...)值(value1,...)?? – devpro

+1

MySQL或SQL-Server,这是什么? – Barmar

+0

对不起,它自动更正,我会修复标记。我在SQL Server 2014中。 – bonzo

回答

2

为什么不直接在你的插入语句显式?

insert performer (STAGE_NM, P_NAME) values ('The Cage', 'Nicolas Cage'); 
+0

我认为这一点,但又不确定在这种情况下可以做到这一点。我应该提到我对这门语言还很陌生。除非你是第一次创作这个专栏,否则我的教授提出的任何评论都没有说明是否使用明确的专栏。 – bonzo

+2

在现实世界中,只要有可能就使用明确的列。你不知道是否有人在2年后需要修复它,当时有人在桌子上添加了新的专栏! :)它也更容易阅读。 –

2

如此地http://www.w3schools.com/sql/sql_insert_into_select.asp

,如果你不希望在所有列

INSERT INTO table2 
(column_name(s)) 
SELECT column_name(s) 
FROM table1; 

插入数据你可以添加一些列的名称,以便您可以使用

INSERT INTO Performer (STAGE_NM, P_NAME) VALUES ('The Cage', 'Nicolas Cage'); 

希望它有帮助!

伯特兰

2

我们强烈推荐使用的列清单,以防万一您稍后重新排序列,特别是因为他们的所有字符串。

insert into table (stage_nm, p_name) 
values('The Cage', 'Nicolas Cage'); 

如果你真的不想一一列举,只是有价值观,我会建议使用NULL,而不是零长度字符串,如在你的榜样。