SQL插入一些数据

时间:2016-02-25 20:32:10

标签: sql-insert sql-server-2014

我只需要将数据值插入到某些表中,并且无法找到正确的语法。这是参考表:

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', '')

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

3 个答案:

答案 0 :(得分:2)

为什么不在插入语句中明确显示?

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

答案 1 :(得分: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 :(得分:2)

强烈建议您使用列列表,以防您以后重新排序列,特别是因为它们都是字符串。

namespace ClassLibrary1
{
    public sealed class Class1
    {
        public delegate int myFunction(object o);
        public Dictionary<string, myFunction> list = new Dictionary<string, myFunction>();
        private static readonly Class1 _instance = new Class1();
        static Class1()
        {
        }
        public Class1()
        {
            string[] n = { "f1", "f2" };
            MethodInfo mInfo;
            foreach (var i in n)
            {
                mInfo = typeof(Class1).GetTypeInfo().GetDeclaredMethod(i);
                ParameterExpression objExpr = Expression.Parameter(typeof(object));
                Expression<myFunction> expr = Expression.Lambda<myFunction>(Expression.Call(null, mInfo, objExpr), objExpr);
                list.Add(i, expr.Compile());
            }

            list.Add("f11", f1);
            list.Add("f21", f2);
        }
        public static Class1 Instance
        {
            get
            {
                return _instance;
            }
        }
        public static int f1(object o)
        {
            string n = MethodBase.GetCurrentMethod().Name;
            System.Diagnostics.Debug.WriteLine("current function is {0} ", n);
            return 0;
        }
        public static int f2(object o)
        {
            string n = MethodBase.GetCurrentMethod().Name;
            System.Diagnostics.Debug.WriteLine("current function is {0} ", n);
            return 0;
        }
    }

}

如果确实不想列出它们并且只是拥有值,我建议使用NULL而不是零长度字符串,如示例所示。