引擎
ISAM
读取效率高,内存占用低
不支持事务,不支持外键约束(可以添加,但是约束不生效)不容出错。
MyISAM
对ISAM的优化
存在和ISAM一样的问题
InnoDB
支持事务、外键约束。可以进行奔溃恢复。设置方式。
MySQL中的DML语句
1,插入单行数据
insert into 表名 values (列1的值,列2的值....,最后一列的值);
2,插入多行数据
insert into 表名 (列1,列2....,列N) values(列1的值,列2的值....,列N的值);
3,将查询结果插入到新表中
create table 新表(select字段1,字段2,.....from新表);
4,删除数据
delete from 表名 : 删除表中的所有的数据
delete from 表名 where 条件
truncate table 表名
5,
修改操作
修改表中的所有的数据
update 表名 set 列名=新值 , 列名=新值 , .... 列名=新值
根据条件修改
update 表名 set 列名=新值 , 列名=新值 , .... 列名=新值 where 条件
MySQL中的SELECT语句
查询某张表中的所有的数据,* 代表的是所有的列
select * from 表名;
查询某张表中的所有的数据
select 列1, 列2, 列3 ... from 表名
常用函数
max(
字段名
) 最大值
min(
字段名
) 最小值
sum(字段名
) 总和
avg(
字段名
) 平均值
count(
字段名
) 个数,数量
ceil(x) 向上取整, 取得是 不小于 x
的 最小整数
floor(x) 向下取整,取得是不大于 x
的最大整数
rand()
返回0·1间的随机数
null 不参与 组函数运算
只能用于
select
后 或者
having
后
select now() -- 获取的是 当前时间
1
、非关联子查询
一个查询A 嵌套在 另一个查询B的 where/having 关键
字后,此时, A 称为 B 的子查询
2
、关联子查询
一个查询A 嵌套在 另一个查询B的 select/from 关键字
后,此时, A 称为 B 的子查询