目录
HAVING
WHERE语句不能和count同时使用,使用HAVING,在GROUP BY 后面使用
DISTINCT
列出表中不重复的值
修改表名
ALTER TABLE 旧表名 RENAME 新表名
四舍五入
ROUND(x)函数取离x最近的函数,ROUND(x,y) x是目标数,y是保留几位小数,截断时进行四舍五入
FORMAT(x,y),将x保留到小数点后y位,截断时进行四舍五入,但输出结果是三位一个逗号的
求和
sum()
计数
count()
具体用法及区别参考
insert ignore into 表名
该语法和insert into的区别是可以忽略表中已经存在的数据,insert into在插入数据时会检查主键,如果出现错误就会报错,用该语法可以忽略
添加Unique唯一索引
ALTER TABLE `表名` ADD UNIQUE index_name( `字段名` )
alter table actor add unique uniq_idx_firstname(first_name);
添加普通索引
ALTER TABLE `表名` ADD INDEX index_name( `字段名` )
alter table actor add index idx_lastname(last_name);
创建视图
CREATE VIEW <视图名> AS <SELECT语句>
create VIEW actor_name_view AS SELECT
first_name as first_name_v,
last_name as last_name_v
FROM
actor
查看视图
DESCRIBE 视图名;
DESC 视图名;
RIGHT函数
RIGHT(s,n) 函数返回字符串 s 最右边的 n 个字符。
DENSE_RANK() 函数
DENSE_RANK() 是一个窗口函数,它为分区或结果集中的每一行分配排名,而排名值没有间隙。
行的等级从行前的不同等级值的数量增加1。
CREATE TRIGGER 语句创建触发器
触发器是与 MySQL 数据表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。
语法格式
CREATE TRIGGER <触发器名> < BEFORE | AFTER >
<INSERT | UPDATE | DELETE >
ON <表名> FOR EACH Row<触发器主体>