一、插入记录操作
语法: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;
SQL中用新数据填充表
最新推荐文章于 2024-09-14 23:52:33 发布