多表查询
1.交叉查询(笛卡尔积)
select[*][字段,字段] from 表,表
2.内连接查询
select [*][字段,字段] from 表,表 where 条件select [*][字段,字段] from 表,表 inner join表 on 条件
3.外连接查询
3.1左外连接
select * from 表 left outer join 表 on 条件
3.2右外连接
select * from 表 right outer join 表 on 条件
4.子查询(嵌套查询)
一个查询的结果当作另一个查询的条件
分页查询
- limit a,b;
- a(开始的索引;从0开始计数的)
b(代表每一页显示的数目)
a=(当前页面-1)*b;
select * from product limit 3,10;
两种做法:
- 每次加载都查询数据库(适合一条数据量很大)
- 一次加载完,全部返回(适合一条数据量很小)
数据库存储引擎
mysql的核心就是存储引擎.
1.InnoDB存储引擎
- 默认存储引擎,特点:
- 1.具有提交、回滚、崩溃恢复能力的事务安全
- 2.处理巨大数据量的最大性能设计
- 3.完全与mysql服务整合
- 4.支持外键完整约束
- 5.用在众多需要高性能的大型数据库站点
2.InnoDB存储引擎
查看引擎命令
show englines;
mysql其他命令:
1.在表的第一行添加一个字段
alter table tb_dept1 add brand int(11) first;
2.在表的指定列之后添加一个字段
alter table student add age int after id;
3.修改字段的排列位置
alter table<表名> modify <字段1> 数据类型 first/after <字段2>;
4.更改表的存储引擎
alter table <表名> engine=<更改后的存储引擎名>
5.删除表的外键约束
alter table<表名> drop foreign key<外键约束名>;
6.mysql中不能直接使用特殊字符,需要通过转义字符
子查询
关键字:
- any(some):满足其中一个条件
- all:满足所有条件
- in:内存查询语句返回一个数据列,提供给外层查询语句进行比较操作.
- exists:判断子查询是否有任何返回行
使用正则表达式查询