前面介绍的聚集函数只是用来计算行数,平均数,最大值,最小值而不用检索所有数据.通过count()函数,我们可以计算生产商1003提供的产品数目,但如果我要查询所有生产商提供的商品数,这就需要进行分组查询. 1.创建分组:使用group by 关键字 select vend_id,count(*) as num_prods from products group by vend_id; --查询所有生产商生产的商品数 group by 要在where子句后,order by 子句前. 2.过滤分组…
前面介绍的聚集函数只是用来计算行数,平均数,最大值,最小值而不用检索所有数据.通过count()函数,我们可以计算生产商1003提供的产品数目,但如果我要查询所有生产商提供的商品数,这就需要进行分组查询. 1.创建分组:使用group by 关键字 select vend_id,count(*) as num_prods from products group by vend_id; --查询所有生产商生产的商品数 group by 要在where子句后,order by 子句前. 2.过滤分组…
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类型越简单越好,能保存数值的类型越小越好 5.3.1.数值型 5.3.1.1.整型 Tinyint: 一个字节 Smallint:两个字节 Mediumint:三个字节 Int, Integer:四个字节 Bigint:八个字节 默认是有符号,无符号整型是在类型后加unsigned 超出范围时是距离范…
1.连接mysql mysql 直接回车(是以root身份,密码空,登陆的是本机localhost) [root@www mysql]# mysql -uroot -p123 -S /var/lib/mysql/mysql.sock 2.设置root用户密码并登陆 [root@www mysql]# /usr/bin/mysqladmin -u root password '123' 再登陆: [root@www mysql]# mysql -u root -p123 -h localhost…
说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不一样划分: TINYINT:1字节 SMALLINT:2字节 MEDIUMINT:3字节 INT:4字节 BIGINT:8字节 如果不需要符号数时,建议加上unsigned,会扩充存储长度一倍,提高存储性能.如TINYINT UNSIGNED(0~255)/TINYINT(-128~127). 2.…
一:几种常用存储引擎汇总表 二:如何选择 一句话:除非需要InnoDB 不具备的特性,并且没有其他办法替代,否则都应该优先考虑InnoDB:或者,不需要InnoDB的特性,并且其他的引擎更加合适当前情况,例如 多读少写,对数据恢复要求不高,反而是 对存储空间要求较高. ****尤其注意:不要低估数据崩溃后恢复的重要性,MyISAM将数据写入内存中,然后等待操作系统定期将数据刷回磁盘.   MyISAM:默认的MySQL插件式存储引擎.如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,…
要点:ab复制 mysql集群架构流程: ABB(主从复制)-->MHA(实现mysql高可用.读写分离.脚本控制vip飘逸)-->haproxy(对slave集群实现分发,负载均衡)-->keepalive(预防一台haproxy单点故障,对两台及以上的haproxy实现高可用) 1.MySQL复制特性 --MySQL AB复制,即主从复制 master slave 备份(容灾) 减轻master压力 AB 读写分离 拓展: AA master-master 主主复制 ABBB 一主多…
1.字符集就是字符和其编码的集合,查看数据库支持的字符集 show character set 2.查看服务端启动时默认的字符集 mysql> show variables like 'character_set_%'; +--------------------------+-------------------------------------------+ | Variable_name | Value | +--------------------------+------------…
一.概述      存储过程是数据库定义的一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程可以避免开发人员重复的编写相同的SQL语句,而且存储过程是在MySql服务器中存储和执行的,可以减少客户端与服务器端的数据传输.   1.优点 (1)提供执行性能     通常在客户端执行SQL命令时,在数据库有解析到编译这个前期准备过程.但是,存储过程是先完成了解析.编译的处理后保存在数据库中的,执行时能减轻数据库负担,提高执行性能.   (2)可减轻网络负担  …
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mysql的时候,我就知道,程序员的成长路程上的一个瓶颈就在于数据库.如何书写高维护性的sql语句,如何能保持高维护性的同时又保持执行的高效率,这是个难题.我最近在做一个比较棘手的项目,常常left join 5~6张表,扫表10几万,查询速度慢的惊人.10几万还仅仅是测试数据,等真正的项目上线,数据量可…