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那么会去除排序 即)

Need a translation service?

Please enter your personal details and we will contact you shortly

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