DML基本语法(增删改)
1、DML的基本介绍(增删改)
DML(Data Manipulation Language,修改数据):DML就是用来增删改表中的数据的,为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。
2、添加数据(insert)
INSERT INTO 语句用于向表中插入新记录。添加数据的语法:
插入一条数据:
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...); -- 指定列名及被插入的值。此时列名和值的数量和数据类型都要一一对应,否则会报错。 INSERT INTO table_name VALUES (value1,value2,value3,...); -- 无需指定要插入数据的列名,只需提供被插入的值即可。此时默认要给所有的列都添加值,如果值数量少了会报错。如果有自增主键,可以赋值为 null,数据库会自动处理
字段顺序不必和数据库表的字段顺序一致,但值的顺序必须和字段顺序一致。除了数字类型,其他类型的值都需要用引号(单引号或者双引号都可以)引起来。
一次性插入多条数据:
一次性添加多条记录只需要在VALUES
子句中指定多个记录值,每个记录是由小括号()包含的一组值:
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...), (value4,value5,value6,...) ; # 代码示例: INSERT INTO students (class_id, name, gender, score) VALUES (1, '大宝', 'M', 87),(2, '二宝', 'M', 81);
3、删除数据(delete)
DELETE 语句用于删除表中的记录。语法:
DELETE FROM 表名 WHERE 筛选条件; # 不带WHERE条件的DELETE语句会删除整个表的数据。如果WHERE条件没有匹配到任何记录,DELETE语句不会报错,也不会有任何记录被删除。 #示例: DELETE FROM students; # 删除整个student表的数据 DELETE FROM students WHERE id=1; DELETE FROM students WHERE id>=5 AND id<=7;
如果要删除掉整个表的数据不建议使用 delete 语句,因为有多少条数据就会执行多少次 delete 语句,效率偏低。
4、修改数据(update)
UPDATE 语句用于更新表中的记录。
UPDATE 表名 SET 列名=值,列名=值,... WHERE 条件; # UPDATE语句可以没有WHERE条件,这时整个表的所有记录都会被更新。。如果WHERE条件没有匹配到任何记录,UPDATE语句不会报错,也不会有任何记录被更新 #示例: UPDATE students SET score=60; # 整个student表的所有记录都会被更新 UPDATE students SET name='大牛', score=66 WHERE id=1; UPDATE students SET name='小牛', score=77 WHERE id>=5 AND id<=7; # 一次更新多条数据 UPDATE students SET score=score+10 WHERE score<80; # 在更新数据时可以使用表达式