DML:数据操作语言,它是对表中的数据进行操作的语言.它包含:增,删,改
创建一张表用于测试DML:
- CREATE TABLE person(
- name VARCHAR(30),
- age INT(3)
- );
插入数据
语法:
INSERT INTO 表名 [(字段1,字段2,...)] VALUES (字段1的值,字段2的值,...)
- INSERT INTO person(name,age) VALUES ('张三',22);
- INSERT INTO person(age,name) VALUES (33,'李四');
SELECT * FROM person; 在INSERT语句中未被指定的列在插入数据时,默认插入NULL值。如果未指定的列指定了默认值,则插入指定的默认值
INSERT INTO person(name) VALUES ('王五');
在INSERT语句中字段名可以忽略,若忽略则为全列插入,此时VALUES后指定的值的顺序,类型,个数必须与表中字段一致
- INSERT INTO person VALUES('赵六',56);
- INSERT INTO person VALUES('钱七',NULL);
修改表中数据
语法:
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2,....] [WHERE 过滤条件]
修改指定记录
将张三的年龄改为22岁:
UPDATE person SET age=22 WHERE name='张三';
WHERE子句在这里的作用:仅选定表中name字段值为'张三'的记录
将年龄等于15岁的人改为年龄36岁
UPDATE person SET age=36 WHERE age=15;
满足WHERE条件的记录都会进行修改
WHERE子句中常用的条件
=,<,>,<=,>=,<>(不等于,!=不是所有数据库都支持)
将年龄大于30岁的人改为年龄29
将一个计算表达式的结果作为修改的值使用
将person表中每个人的年龄涨一岁
UPDATE person SET age=age+1;
同时修改多个字段
将"李四"的名字改为"李老四"并且年龄改为55
UPDATE person SET name='李老四',age=55 WHERE name='李四'
删除表中数据
语法
DELETE [FROM] 表名 [WHERE 过滤条件]
案例
删除'李老四'这条记录
DELETE FROM person WHERE name='李老四';
删除表中年龄在30岁以上的(含30)
DELETE FROM person WHERE age>=30;
清空表操作
DELETE FROM person;
总结