**mysql中字段的常见类型: **
二进制位 bit(长度)
tinyint[(长度)] [有无符号unsigned] [位数低于长度时候是否填充零zerofill] 有符号表示范围-128 ~ 127, 无负号表示范围 0 ~ 255; 可用tinyint(1)来模拟boolean类型; *整型中的长度不做限制用, 仅仅做显示用, 即长度大于位数时候是否选择用零填充显示 *
int[(长度)] [unsigned] [zerofill]
bigint[(长度)] [unsigned] [zerofill]
decimal[(数字总个数 [, 小数点个数])] [unsigned] [zerofill] 该类型会以字符串类型存储在mysql, 以此来表示准确的浮点型
float[(数字总个数, 小数个数)] [unsigned] [zerofill]
double[(数字总个数, 小数个数)] [unsigned] [zerofill]
char(长度) 用固定长度存储字符类型, 这里的长度表示所有字符所占长度, 最长为255个字符
varchar(长度) 变长类型存储字符类型, 这里的长度表示人为定制的最大长度, 查询速度不如char定长类型
text 变长类型存储大字符串, 最多2**16 − 1个字符
mediumtext 最多2**24 − 1个字符
longtext 最多2**32 − 1个字符
enum(v1 [,v2, v3]) 枚举类型, v1表示可选的值
set(v1 [, v2, v3]) 集合类型, v1表示可选的不重复的值
date 以yyyy-mm-dd形式存储
time 以hh:mm:ss 新式存储
year 以yyyy新式存储
datetime 以yyyy-MM-dd hh:mm:ss 形式存储
** 表中数据的操作 **
增加内容 insert into 表 (列名01,列名02...) values (值,值,值...) [,(值,值,值...)] 可以一次增加多条数据
删除具体数据 delete from 表 where 条件'
修改表中具体数据 update 表 set 列名= 值 where 条件
查询具体内容 select 列名01 as 别名 , 列名02 from 表 where 条件
常见条件: 且关系and; 区间关系between 开始位置 and 结束位置; 在其中的关系in (v1, v2, v3); 不在其中的关系not in (v1, v2, v3); 在某种条件下in (select语句)
mysql中的两种通配符: %匹配任意零个字符或者任意多个字符; _匹配任意一个
mysql中的限制条件: limit number 表前number行以内; limit start, number 表示从start行起始的number行以内; limit number offset start 表示从第start'开始的number行以内
mysql中排序显示: order by 列1 desc,列2 asc 表示先以列1递减排序, 若列1相同时候则以列2递增排序
分组: select count(列名),sum(列名),max(列名),min(列名) from 表 where 条件 group by 列名01,列名02 order by 列名 这里的group by需要放在where与order之间, where和order可以不存在
连表查询结果
select A.xx B.oo from A, B where A.x=B.o 没有A.x=B.o对应的数据则不显示任何结果
select A.xx B.oo from A inner join B where A.x=B.o A和B具有对等位置, 没有A.x=B.o对应的数据则不显示任何结果
select A.xx B.oo from A left join B where A.x=B.o A表显示所有, 对于B表若无符合A.x=B.o的数据则其值为null来显示
select A.xx B.oo from B right join A where A.x=B.o A表显示所有, 对于B表若无符合A.x=B.o的数据则其值为null来显示
组合不去重复显示所有查询结果 select 列名 from 表 union all select 列名 from 表
组合去重显示 select 列名 from 表 union select 列名 from 表
**在mysql中的视图概念, 它并不是一个真实存在的表,而是根据自己写的sql语句执行所得的结果集, 方便查询过程和结果比较复杂时候暂存结果以便它用. 使用视图时候, 直接将它作为表来使用即可 **

