SQL中用新数据填充表

来源:互联网 发布:世界人工智能专业排名 编辑:程序博客网 时间:2024/06/05 09:54

 一、插入记录操作
    语法:INSERT INTO 表名 (列名) VALUES (列值);  
    叙述:若在输入记录时,每个字段均有内容,可省略表名后的字段名。如果表名后面没写字段名,则默认是向所有的字段添加值。
    注意事项:1. 插入的值必须和列一一对应,各数据项用逗号分隔;
              2. 插入值的数据类型、精度和小数位数必须和对应列的数据类型、精度和小数位数相一致;
              3. 如果在设计表的时候就指定了某列不允许为空,则必须插入数据;
              4. 如果某列的某个字段没有值,可以插入 NULL 值;
              5. 具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值;
              6. 字符串和日期值数据必须用单引号括起来,数值型数据不用括起;
              7. 所有标点符号一律在英文半角状态下输入。
     例1:向 people 表中添加一条记录:insert into people(name,age)values("zhangsan",20);
     例2:创建一个表格 TEAMS 来记录篮球队:CREATE TABLE TEAMS(TEAM_ID INTEGER(2) NOT NULL,NAME  VARCHAR(20) NOT NULL );
          生成篮球队的记录:INSERT INTO TEAMS VALUES (1,'STRING MUSIC');
                            INSERT INTO TEAMS VALUES (2,'HACKERS');
                            INSERT INTO TEAMS VALUES (3,'SHARP SHOOTERS');
                            INSERT INTO TEAMS VALUES (4,'HAMMER TIME');
     例3:创建一张学生信息表,往表中插入数据:create table Students( Scode  int   not null  auto_increment, Sname  varchar(20)  not null,
          Saddress varchar(20)  default'未知', Sgrade  int, SEmail  varchar(20), Ssex  bit, primary key(Scode) );
         INSERT INTO Students (Sname,Saddress,Sgrade,SEmail,Ssex)VALUES ('张青裁','上海松江',96,'ZQC@Sohu.com', 0) ;
         INSERT INTO Students (Sname,Saddress,Sgrade,SEmail,Ssex)VALUES ('李晓明','北京海淀',75,'LXM@Sohu.com', 1) ;
         INSERT INTO Students (Sname,Saddress,Sgrade,SEmail,Ssex)VALUES ('王晶晶', default, 83, 'WJJ@Sohu.com', 1) ;
二、插入多行数据
         INSERT INTO 表名 (列名) VALUES (列值), (列值), (列值) …… ;
    例4:往学生信息表中插入多行数据:
         INSERT  Students (Sname,Sgrade,Ssex) VALUES
         ('测试女生1',75,0),
         ('测试女生2',77,0),
         ('测试女生3',83,0),
         ('测试男生1',81,1), 
         ('测试女生4',90,0),
         ('测试男生2',94,1),
         ('测试女生5',51,0),
         ('测试男生3',53,1);
三、从另一个表插入数据
         INSERT INTO 表名 (列名)
         SELECT (列名) FROM 源表名;
    这里,SELECT 是执行查询的主要命令,下一章我们会详细介绍;FROM 是查询中的一个子句,用于指定要查询的表的名称。        
    例1:把学生信息表中的部分数据插入通讯录表里:
         INSERT INTO TongXunLu (姓名, 地址, 电子邮件) 
         SELECT Sname, Saddress, SEmail FROM Students;
    例2:把 TEAMS 表里的数据插入 TEAMS_TMP 表里:
         INSERT INTO TEAMS_TMP
         SELECT * FROM TEAMS;

原创粉丝点击