其实DML只包含了以下3个语句:
INSERT
UPDATE
DELETE
INSERT语句
当往一个表中添加一行新的数据时,需要使用DML语言中的INSERT语句。该语句的格式如下:
INSERT INTO 表名 [(列名 [,列名…])]
VALUES(数值,数值…):
其中:
表名:要输入数据的表的名字。列名:表中要输入数据列的名字。数值:对应列的具体值。
使用以上的INSERT语句格式每一次只能向表中插入一行数据。例12-5的DML语句往dept_dml表中插入一行数据。例12-5
SQL> INSERT INTO dept_dml (deptno, dname, loc)
2 VALUES(66, '美容', '煤球胡同');
请注意在使用如例12-5的DML语句插入一行数据时,日期型和字符型的数据必须用单引号括起来。您可以在INSERTINTO子句中列出每一个要插入值的列的名字。其数值的数据类型一定与对应的列的数据类型相匹配。注意:
如果您在向某个表中插入中文字符时遇到了困难,不用着急。这很可能是在中文方式下输入引号或逗号造成的,您只要保证在英文方式下输入标点符号就应该没有问题了。
您也可以按表中列的默认顺序在VALUES子句中直接列出每一个要插入的数据值,而不用在INSERTINTO子句中列出每一个要插入值的列的名字,如例12-7.
例12-7
SQL> INSERT INTO dept_dml
2 VALUES(77,'订货','狼山市');
尽管使用例12-7所示的方法可以达到向一个表中插入一行数据的目的,但是在开发软件时应该列出所有要插入数据的列名,这样会使软件的易读性大为增加,也使软件更容易维护。
您可以在VALUES子句中使用空串('')向dept_DML表中输入一条含有空值(NULL)的记录,如例12-9的DML语句所示。
例12-9
SQL> INSERT INTO dept_DML(deptno, dname, loc)
2 VALUES(88, · · ·牛街');
也可以在VALUES子句中使用关键字NULL向dept_DML表中输入一条含有空值(NULL)的记录,如例12-11的DML语句所示。
例12-11
SQL> INSERT INTO dept_DML(deptno, dname, loc)
2 VALUES(44,NULL,'安静大街');
您还可以利用不列出要插入的列的方法向dept_DML表中输入一条含有空值(NULL)的记录,如例12-13的DML语句所示。
例12-13
SQL> INSERT INTO dept_DML(deptno, dname)
2 VALUES(33, 公关');
可以在插入语句中使用特殊的值。例如公司今天刚刚雇了一名新的保安,名字叫童铁