MySQL 基础笔记
-- 蠕虫复制 (压力测试) INSERT INTO PRODUCT SELECT * FROM PRODUCT; -- 去重查询 SELECT DISTINCT PRICE FROM PRODUCT ORDER BY PRICE DESC; -- 字段置空 UPDATE PRODUCT SET CATEGORY_ID = 'NULL' WHERE PID = 14; -- 改变表结构,增加 size字段 ALTER TABLE PRODUCT2 ADD SIZE CHAR(10); -- SELECT 后面一般跟 被查询的分类,聚合函数 SELECT PRICE,COUNT(*) FROM PRODUCT GROUP BY PRICE; -- 复制表结构 CREATE TABLE product2 LIKE product; -- 创建数据库并指定数据库编码格式 CREATE DATABASE IF NOT EXISTS DB3 CHARACTER SET GBK; -- 改变数据库编码格式 ALTER DATABASE DB3 DEFAULT CHARACTER SET UTF8; -- 删除一行数据 DELETE FROM PRODUCT WHERE PID IS NULL;
1、DQL_select执行顺序
I. from
II. where
III. group by (之后是聚合函数运行)
IV. having
V. select
VI. order by
VII. limit
-
-
having是在分组后对数据进行过滤.
-
where是在分组前对数据进行过滤
-
having后面可以使用聚合函数
-
where后面不可以使用聚合函数
-
where先执行效率高,能where用where
- having一般和group by一起出现,对聚合结果进行过滤
-
3、delete from truncate table 的区别
delete form 表名
-
-
elete属于DML语句
-
elete 是遍历删除
-
delete删除的可能恢复
-
truncate table 表名
-
-
truncate 属于DDL语句(级别高)
-
truncate 是复制原表结构为一张新表,然后直接删除原表(效率高)
-
etruncate 删除的无法恢复
-