数据操纵语言在DML包括向表中插入记录,修改记录,删除记录的语句
1,插入语句
Inset 语句用于向数据表或者视图中插入由VALUES 指定的各列值的行,其语法格式如下:
INSERT [ TOP ( expression ) [ PERCENT ] ]
[ INTO ]
{ table_name /*表名*/
| view_name /*视图名*/
| rowset_function_limited /*可OPENQUERY 或OPENROWSET 函数*/
[WITH (<table_hint_limited>[…n])] /*指定表提示,可省略*/
}
{
[ ( column_list ) ] /*列名表*/
{ VALUES ( ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n ] )
/*指定列值的value子句*/
| derived_table /*结果集*/
| execute_statement /*有效的EXECTUTE语句*/
| DEFAULT VALUES /*强制新行包含为每个列定义的默认值*/
}
}
说明:
● table_name:被操作的表名。
● view_name:视图名。
● column_list:列名表,包含了新插入数据行的各列的名称。如果只给出表的部分列插入数据时,需要用column_list指出这些列。
● VALUES子句:包含各列需要插入的数据,数据的顺序要与列的顺序相对应。若省略colume_list,则VALUES子句给出每一列(除IDENTITY属性和timestamp类型以外的列)的值。VALUES子句中的值有三种:
DEFAULT:指定为该列的默认值,这要求定义表时必须指定该列的默认值。
NULL:指定该列为空值。
expression:可以是一个常量、变量或一个表达式,其值的数据类型要与列的数据类型一致。注意表达式中不能有SELECT及EXECUTE语句。
例如:向clients表中插入一个客户记录(1,‘晓帅歌’, ‘女’,‘春熙路1号’)。
USE test
INSERT INTO clients values(1,'晓帅歌','女','春熙路1号')
由于掺入的数据包各列值并按表中各列的顺序列出这些值,所以省略列明表(colunm_list).
2,修改语句
UPDATE 语句用于修改数据表或视图中特定记录或列的数据,其语法格式如下:
UPDATE { table_name | view_name }
SET column_name = {expression | DEFAULT | NULL } [,…n]
[WHERE <search_condition>]
说明:
该语句的功能是,将table_name 指定的表或者view_name 指定的视图中满足<search_condition>条件的记录中由SET指定的各列的列值设置为SET指定的新值,如果不实用WHERE子句,则更新所有记录的指定列值。
例如,在clients表中将cid 为1 的客户端的address修改为“上海路88号”:
USE test
UPDATE clients
SET address='上海路88号'
WHERE cid=1
3,删除语句
DELETE 语句用于删除表或者视图中的每一行或者多行记录,其语法格式如下:
DELETE [FROM] { table_name | view_name }
[WHERE <search_condition>]
该语句的功能是,从table_name 指定的表或者view_name指定的视图中删除满足<search_condition>条件的行, 若省略该条件,则删除所有行。
例如,删除id为“2015”的学生的记录:
USE stsc
DELETE student
WHERE stno='2015'