数据库的基本操作———增,删,改(DML)

一、认识MySQL的存储引擎

1.MySQL 5.5支持的存储引擎有InnoDB,MyISAM等。

2.常用的存储引擎:InnoDB和MyISAM

功能 InnoDB MyISAM
支持事务 支持

不支持

支持全文索引 不支持

支持

外键约束 支持

不支持

表空间大小 较大 较小
数据行锁定 支持 不支持

引用场景:

  • MyISAM存储引擎:访问速度较快,可以对不需要事务处理,以访问为主的应用适合!
  • InnoDB存储引擎:在事务处理上有优势,可以对需要频繁更新,删除,同时对事务要求比较高,需要实现并发控制的应用!

3.MySQL 5.5以上的版本默认的存储引擎是InnoDB.

#可以通过以下查看默认引擎
show variables like 'storage_engine%';

#修改默认的存储引擎
defaultsrotage- engine=InnoDB;

#注意:修改后要重新启动MySQL服务才生效

4.指定表的存储引擎

create table 表名(
    
    #.......省略代码
   
)engine=储存引擎;

二、数据的增,删,改

1.插入数据

(1)插入单行数据

insert into 表名  [字段名列表] values (值列表);

(2)插入多行数据

#插入多行数据
insert  into  表名 (字段名列表.....) 
values (值列表1,值列表),..... ,(值列表N);

(3)将查询结果插入到新表中

create table  新表 (select 字段1,字段2,.....from 原表);

2.更新数据

#更新数据语法
update  表名 set 列名 =更新值  where 更新条件;

#注意:set后面可以跟随多个修改的数据列的值,不限一个,不同列之间使用逗号分开
where 子句是可选的,如果不选,那么整个表的所有数据都会被更新

3.删除数据

(1)使用DELECT输出数据

delete from  表名 where 删除条件;

#注意:如果where条件不加上,那么就会删除整个表的数据。delete 数据的数整条记录,
不会删除单个列,所以在delete后面不能出现列名。

(2)使用TRUCATE TABLE删除数据

truncate   table 表名;

#注意:truncate 也可以删除表中的所有行,执行速度比delete执行速度要快,
并且删除后,自增列的标识是会重置的!

注意:truncate table 会删除表中的所有行,到表的结构,列,约束,索引等不会改动,还有truncate table不能用于有外键约束的表!在实际开发中,不建议使用,因为它删除的数据不能够恢复。

猜你喜欢

转载自blog.csdn.net/JAVA52Lin/article/details/84032349