数据库操作和存储引擎
创建数据库:create database 数据库名;
删除数据库:drop database 数据库名;
-
存储引擎
- 什么是存储引擎?
- 以不同的数据结构存储不同的数据,体现出操作数据效率的不同,这些存储数据的机制就是存储引擎
- 分类
- MyISAM:CRUD操作效率高,但不支持事务、外键
- InnoDB:CRUD操作效率低,但支持事务、外键
- 什么是存储引擎?
MySQL的常用类型
MySQL | Java | 含义 |
---|---|---|
int | int | 整数类型 |
bigint | long | 长整型 |
bit | boolean | 布尔类型,存储0或1 |
float | float | 单精度型 |
double | double | 双精度型 |
varchar | String | 字符串类型 |
Date/DateTime | java.uitl.datetime | 时间类型 |
decimal | BigDecimal | 高精度类,用于金钱计算 |
text | 存储长篇文字,比如小说 |
表的操作
创建表:create table 表名 (列名1 类型 [约束],列名2 类型 [约束]);
删除表:drop table 表名;
-
约束
- unique:该列内容唯一,不可重复
- primary key:主键,非空且唯一
- auto_increment:列字段内容自动增长
- default:给该列内容赋默认值
DML操作
-
插入操作
- 给全部/部分字段插入内容:insert into 表名 (列名1,列名2...) values (值1,值2...) [where条件]
- 给全部字段插入内容:insert into 表名 values (值1,值2...) [where条件];
- 批量插入内容:insert into 表名 values (值1,值2...),(值1,值2...) [where条件];
- 列名与值需要一一对应
修改操作:update 表名 set 列名1=值1,列名2=值2... [where条件];
删除操作:delete from 表名 [where条件];
DQL查询操作
普通查询:select 列名或* from 表名 [where条件];
-
过滤查询
- 比较运算符
- > < >= <= = !=或<>
- 逻辑运算符
- and、or、not
- 比较运算符
-
排序查询
# 选择id,货品名称,分类编号,零售价大于200,先按分类编号排序,编号相同的再按零售价降序排序 select id, productName, dir_id, salePrice from product where salePrice > 200 order by dir_id, salePrice desc;
- asc:升序,默认不写也是升序
- desc:降序
-
分页查询
select * from department limit #{startIndex}, #{pageSize};
- 当前页以currentPage表示,每页显示数据条数用pageSize表示,那么分页查询就是从startIndex开始查询pageSize条数据出来,则可以得出startIndex = (currentPage - 1) * pageSize
-
模糊查询
select * from employee where name like concat('%', #{keyword}, '%');
- %:匹配任意个任意字符
- _:匹配一个任意字符