mysql学习识记一

一.数值型
整型
tinyint
smallint
Mediumint
Int
Bigint
用tinyint(m)说明这一类型的本人一些理解
这个m 是宽度 需要和zerofill配合使用 比如是tinyint(5) zerofill
那么显示为0000S 这个就是你的结果
浮点型 、定点型
float
decimal
float 与 decimal 的区别 就只是decimal表现的更精准 更大些
这里用float 说明
float(M,D):M代表总位数,D代表小数位 float(6,2)最大显示为9999.99
4字节 8 字节
浮点型这一个类型是mysql特有的D
字符型
char varchar 字节65535 不过一般转换为assii码 utf8所以算起来也就2w多个字符
说明:char(8) 如果设置为utf8 那么最大能存储8个汉字 char如果不足8个字符
用空格补齐 varchar()缩展
char定长速度快些
text 内容多 所以搜索慢 如果内容不多建议用char varchar代替
日期型
这里要要引入时间戳这个概念就是1970-0-0. 0:0:0到现在的秒数
这是因为datetime虽然直观,但计算不便
Year类型:1个字节 表示1901-2155,[0000表示错误时选择]
如果输入2位‘00-69’表示 2000-2069
Date类型 典型格式 1992-08-12
日期类型: ‘1000-01-01’-->'9999-12-31'
Time类型 格式12:00:00
时间类型: -838:59;59到+838:59:59
Datetime 格式 1999-08-02 12:00:00
范围 ‘1000-01-01 00:00:00’-->'9999-12-31 00:00:00'
查询的五种子句
1.where
2.group by
3.having
4.order by
5.limit
查询要循序的利用这5个子句 如果顺序不符合 会出现错误 即有顺序要求
清空一张表
truncate 表名;
查询的结果就能当一个表使唤 如selcet * from as tmp;
where 理解 把表达式拿到行中 看是否为真
列 理解 把列当成变量来理解
查询结果 当成表来理解
select goods_id,goods_name from goods order by goods_id desc limit 1;
select goods_id,goods_name from goods where goods_id= where 子句
子查询(ps:需要结合的思想)
where 型 子查询 :把内层查询的结果当作外层的比较条件
select goods_id,cat_id,goods_name from goods where goods_id in (select max(goods_id) from goods group by cat_id);
from 型 子查询:把内层的查询结果当作一个临时表,供外层sql再次查询
select name,avg(socre) from stu where name in (select name form(select name,count(*)as gk from stu where score =2) as tmp ) group by name;
exists 型 子查询 :把外层的查询结果,拿到内层, 看内层的查询是否成立
举例:select cat_id,cat_name from category where exists (select * form goods where goods,cat_id =category.cat_id);
union:联合
把两次或者多次的查询结果合并起来
要求:两次查询的列数一致
推荐:查询的每一列,相对应的列类型也一样
可以来自于多张表
多次sql语句取出的列名可以不一致,此时以第一个sql的列名为准
如果不同的语句取出的行,有完全相同(即每个列的值都相同)那么相同的行将会合并(去重复)
如果不去重复,可以加all来制定
如果字句中有order by ,limit ,须加(),推荐放到所有子句之后,即对最终合并后的结果来排序
在子句中,order by 配合 limit 使用才有意义,如果order by 不配合limit使用,会被语法分析器优化分析时去除
举例:
select id ,sum(num) from (select * from ta union select * from tb ) as tmp group by id;
(select goods_id,cat_id,goods_name,shop_price from goods where cat_id=4 order by shop_price desc limit 2) union
(select goods_id,cat_id,goods_name,shop_price from goods where cat_id =5 order by shop_price desc limit 3)
(ps:如果desc后面不加limit那么会去除排序 即)

Words translated by CCJK

146,096,379

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00

Over 95% of our clients recommend our language services to others


Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP