数据操纵语言在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=13,删除语句
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'