DML语句用于操作数据表的数据,如:插入、修改、删除。insert into、update和delete from三个命令组成。
1、insert into
INSERT INTO `grade` (`id`, `math`)VALUES('1','83');
- 若省略表名后的括号及括号内的列名列表,默认将为所有列插入值。
- 若某列值不确定,则为该列分配一个null值。INSERT INTO `grade` (`id`, `math`) VALUES (NULL , '83');
- 标准SQL语句,每次只能插入一条数据。
- 带子查询的插入语句(一次可插入多条记录):选择的源表、带插入的目标表的列数、数据类型匹配即可。
将student表中所有的grade字段全部对应插入grades表中的math字段。
INSERT INTO grades (math)SELECT
grade
FROM student
将student表中所有的grade、level字段全部对应插入grades表中的math、java字段。
INSERT INTO grades (math,java)SELECT
grade, `level`
FROM student
INSERT INTO student (NAME, age)
VALUES
('Mary',21),
('Jack',25);
UPDATE student
SET `name` ='Mary',
`age` ='21'
WHERE
id =9;
update一次可修改多条、多列记录。
where语句是一个条件表达式,没有where语句意味着where表达式的值总是true,即表中所有记录都会被修改。
总是整行整行的删除,可一次删除多行。同样,没有where语句,竟会删除表内所有记录。
DELETEFROM student
WHERE NAME ='Jack'
- 主表被从表参照时,主表记录不能被删除。
- 先删除对应从表记录,才能删除主表记录;
- 或定义外键约束时定义了主从表间的级联删除on delete cascade;
- 或使用on delete set null 指定当主表记录被删除时,对应从表记录设为null。