MySQL数据类型:
1.整数类型:TINTINT(1字节),SMALLINT(2),MEDIUMINT(3),INT(4),BIGINT(8)
2.浮点数类型和定点数类型:FLOAT(4字节),DOUBLE(8),DECIMAL(M,D)(M+2 字节)
M:数值的总位数;
D:小数点保留的位数;也就是说保留的最大整数位是M-D。
3.日期与时间类型:TEAR(YYYY),TIME(HH:MM:SS),DATE(YYYY-MM-DD),DATETIME(YYYY-MM-DD HH:MM:SS),TIMESTAMP(YYYY-MM-DD HH:MM:SS)
4:字符串类型:CHAR,VARCHAR,TINYTEXT,TEXT,MEDIUNTEXT,LONGTEXT,ENUM,SET
5:二进制类型:BIT,BINARY,VARBINARY,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB
https://www.cnblogs.com/whgk/p/6142780.html
--------------------------------------------------------------------------
mysql关键字:
1:HAVING:可以对group by 分组后的结果进行条件过滤
HAVING和WHERE的区别 HAVING是在分组前过滤 WHERE是分组后过滤
2:LIMIT m,n : 取第m+1条数据开始的n条数据,若只有一个数字为n,则默认从第0条数据开始取n条
3:
--------------------------------------------------------------------------
sql执行顺序:
(1)from (2)on (3)join (4)where (5)group by (6)avg,sum (7)having (8)select (9)distinct (10)order by
--------------------------------------------------------------------------
1:mysql普通双表连接查询
2:内连接查询、自连接查询(将一个表当两个表进行内连接查询)
3:外连接查询,左外连接查询和右外连接查询
4:符合条件连接查询
5:带ANY、SOME关键字的子查询
6:带ALL关键字的子查询
7:带EXISTS关键字的子查询 SELECT * FROM sss WHERE EXISTS(SELECT xx FROM WHERE WHERE id = x) 若EXISTS子查询无数据则不执行父查询
8:带IN关键字的子查询
9:带比较运算符的子查询
--------------------------------------------------------------------------
插入语句:INSERT INTO 表名(字段名,字段名...) VALUES (a,b,...)[,(a1,b1,...),...](插入多条数据)
(1)将查询语句插入表中INSERT INTO person(id,name,age,info) SELECT id,name,age,info FROM person_old;
更新语句:UPDATE 表名 SET 字段名=值,字段名=值... WHERE 条件;
删除语句:DELETE FROM 表名[WHERE <condition>];
--------------------------------------------------------------------------
MYSQL EXPLAIN关键字
使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈
https://www.cnblogs.com/xuanzhi201111/p/4175635.html
? EXPLAIN不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况
? EXPLAIN不考虑各种Cache
? EXPLAIN不能显示MySQL在执行查询时所作的优化工作
? 部分统计信息是估算的,并非精确值
? EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划
--------------------------------------------------------------------------
sql语句中 @ 表示定义变量