文章目录
MySQL数据库DML操作
基本知识
-
DML(数据库管理语言):用于操作数据库对象中包含的数据
-
insert
、update
、delete
-
添加insert
-- 语法
INSERT INTO 表名<(字段1,字段2,字段3,...)> VALUES('值1','值2','值3')
-
’ 字段1,字段2…’ 该部分可省略 , 但添加的值务必与表结构,数据列,顺序相对应,且数量一致 .
-
可同时插入多条数据 , values 后用英文逗号隔开
insert into `stu`(`name`) values('张三'),('李四')
修改update
-- 语法
UPDATE 表名 SET column_name=value <,column_name2=value2,...> <WHERE condition>;
- value 为修改后的数据 , 可以为变量 , 具体值, 表达式或者嵌套的SELECT结果
- condition 为筛选条件 , 如不指定则修改该表的所有列数据
删除delete
-- 语法
DELETE FROM 表名 <WHERE condition>;
-
只会删除数据,不会删除表的结构
Delete删除的问题
删除完毕后,重启数据库后,
如果引擎是InnoDB,自增列从1开始 (因为是存在内存中的,断电即失);
如果引擎是MyISAM,继续自增(存在文件中)
truncate命令
作用:用于完全清空表数据 , 但表结构 , 索引 , 约束等不变 ;
语法:
TRUNCATE <table> 表名;
-- 清空年级表
TRUNCATE grade
注意:区别于delete命令
- 相同 : 都能删除数据 , 不删除表结构 , 但TRUNCATE速度更快
- 不同 :
- 使用TRUNCATE TABLE 重新设置AUTO_INCREMENT计数器(自增归0)
- 使用TRUNCATE TABLE不会对事务有影响 (事务后面会说)