STU1
1、不指定字段的整行插入
在STU1中新增一名同学的基本信息,SQL如下:
INSERT INTO test.stu1 VALUES('0001','牛牛','男',24,to_date('1988-05-25','YYYY-MM-DD'),'12外语')
格式如下:
INSERT INTO 表名 VALUES(值1,值2,...,值n)
对于CHAR或VARCHAR等字符型数据类型的字段,插入值时以==‘’==将值引用起来,日期型数据类型必须加上’TO_DATE’函数进行转换。转换格式为TO_DATE(DATE,‘格式符’)。
注:对于不指定字段的整行插入格式,INSERT语句中的VALUES子句中值的顺序、数据类型和长度必须要与待插入表的字段一致。
2、指定字段的整行插入
在STU1中追加一名新同学的信息:
INSERT INTO test.stu1 (SNO,sname,sgentle,sage,sbirth,sdept) VALUES('0002','GGB','男',24,to_date('1988-06-25','YYYY-MM-DD'),'12计算机')
采用指定字段的整行插入方式插入单行数据,可以减少插入时出现的语法错误和逻辑错误。此外,该格式由于列出了表的所有字段名,在具体的数据插入过程还可以对字段的顺序进行改变,只需将VALUES子句中相应值顺序改变即可。
用’SELECT’语句查看表记录,可以立即看到新插入的记录,但当用户关闭SQL*Plus再重新打开后该记录却无法显示。这是因为该记录的插入操作只保存到缓冲区,如真正需要写入到数据表STU1中,还需以’COMMIT’命令进行提交。
注:在实际的应用中,为了确保插入数据值能够与目标表的字段一一对应,一般都推荐使用指定字段的插入格式。
3、插入空值
空值即该处数值为空(NULL)但不是空格,而是说在空值处根本就没有数据存在。
INSERT INTO TEST.STU1 (SNAME,SNO,SGENTLE,SAGE) VALUES('阿伟','0003','男',23)
如果列被定义为NOT NULL,这时列中不允许有空值存在,则当用户使用INSERT语句时必须在此列插入一个数值。
注:空值和空格是不同的,在许多数据库中空格和空值在表中显示的都是空白,但其含义是截然不同的,空值表示值为空,空格表示值为’ '。