Welcome 微信登录

首页 / 数据库 / MySQL

MySql中having字句对组记录进行筛选使用说明

MySql中having字句对组记录进行筛选使用说明

having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。而 having子句在聚合后对组记录进行筛选。SQL实例: 一、显示每个地区的总人口数和总面积 SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region 先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完...
关于mysql innodb count(*)速度慢的解决办法

关于mysql innodb count(*)速度慢的解决办法

innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量。要初步解决这个问题,需要做不同于myisam的一些工作: 1、使用第二索引(一般不使用主键索引),并且添加where条件,如: 复制代码 代码如下: select count(*) from product where comp_...
Mysql auto_increment 重新计数(让id从1开始)

Mysql auto_increment 重新计数(让id从1开始)

方法一 delete from test; alter table `test` auto_increment=1 (好处,可以设置AUTO_INCREMENT 为任意值开始) 提示:如果表列和数据很多,速度会很慢,如90多万条,会在10分钟以上。 方法二 truncate table test (好处,简单,AUTO_INCREMENT 值重新开始计数) 一般情况下我们使用第二个就可以了,记住以上情况都是彻底删除所有记录。...
Mysql 开启Federated引擎的方法

Mysql 开启Federated引擎的方法

MySQL中针对不同的功能需求提供了不同的存储引擎。所谓的存储引擎也就是MySQL下特定接口的具体实现。 FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。 但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要)。 通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能。 使用show engin...
mysql支持跨表delete删除多表记录

mysql支持跨表delete删除多表记录

前几天写了Mysql跨表更新的一篇总结,今天我们看下跨表删除。 在Mysql4.0之后,mysql开始支持跨表delete。 Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录。 假定我们有两张表:Product表和ProductPrice表。前者存在Product的基本信息,后者存在Product的价格。 第一种跨表删除的方式是不用join,在delete时指定用半角逗号分隔多个表来删除,如下sql语句: ...
mySQL占用虚拟内存达8百多兆问题解决思路

mySQL占用虚拟内存达8百多兆问题解决思路

为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆。网上搜索了一下,得到高人指点my.ini。再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过多少M还是看得明的^-^ 更改后如下: innodb_buffer_pool_size=576M ->256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀 query_cache_size=100M ->16M 查询缓存 tmp_table_...
Mysql的游标的定义使用及关闭深入分析

Mysql的游标的定义使用及关闭深入分析

Mysql从5.0开始支持存储过程和trigger,给我们喜欢用mysql的朋友们更喜欢mysql的理由了,语法上和PL/SQL有差别,不过搞过编程的人都知道,语法不是问题,关键是思想,大致了解语法后,就从变量定义,循环,判断,游标,异常处理这个几个方面详细学习了。关于游标的用法Mysql现在提供的还很特别,虽然使用起来没有PL/SQL那么顺手,不过使用上大致上还是一样, 定义游标 declare fetchSeqCursor cursor for sel...
MySQL大表中重复字段的高效率查询方法

MySQL大表中重复字段的高效率查询方法

MySQL大表重复字段应该如何查询到呢?这是很多人都遇到的问题,下面就教您一个MySQL大表重复字段的查询方法,供您参考。 数据库中有个大表,需要查找其中的名字有重复的记录id,以便比较。如果仅仅是查找数据库中name不重复的字段,很容易复制代码 代码如下:SELECT min(`id`),`name` FROM `table` GROUP BY `name`; 但是这样并不能得到说有重复字段的id值。(只得到了最小的一个id值)查询哪些字段是重复的也容易...
MySQL学习笔记1:安装和登录(多种方法)

MySQL学习笔记1:安装和登录(多种方法)

今天开始学习数据库,由于我对微软不怎么感冒,所以就不用他家的产品了本来想装ORACLE的,不过太大了,看着害怕对于我这种喜欢一切从简的人来说,MySQL是个不错的选择好了,关于数据库的大理论我就懒得写了,那些考试必备的内容我已经受够了我只需要知道一点,人们整理数据和文件的行为在不断进化,以至现在使用数据库来更好的管理下面我们开始安装我使用的是Linux Mint,基于Ubuntu的一种发行版,用起来的确不错由于有现成的包管理工具使用,我就不从官网下载编译安...
MySQL学习笔记2:数据库的基本操作(创建删除查看)

MySQL学习笔记2:数据库的基本操作(创建删除查看)

我们所安装的MySQL说白了是一个数据库的管理工具,真正有价值的东西在于数据关系型数据库的数据是以表的形式存在的,N个表汇总在一起就成了一个数据库现在来看看数据库的基本操作 无非就是三点:创建 删除 查看 创建数据库 复制代码 代码如下: mysql> create database school; Query OK, 1 row affected (0.00 sec) create database语句用于创建数据库 后面的school是数据库的...
MySQL学习笔记4:完整性约束限制字段

MySQL学习笔记4:完整性约束限制字段

完整性约束是对字段进行限制,从而符合该字段达到我们期望的效果比如字段含有默认值,不能是NULL等 直观点说:如果插入的数据不满足限制要求,数据库管理系统就拒绝执行操作 设置表的主键 主键能够标识表中每条信息的唯一性,如同身份证号码和人的关系 人可以同名,但是身份证号码却是唯一的, 创建主键的目的在于快速查找到表中的某一条信息 单字段主键 复制代码 代码如下: mysql> create table student( -> id int prim...
MySQL批量插入遇上唯一索引避免方法

MySQL批量插入遇上唯一索引避免方法

一、背景以前使用SQL Server进行表分区的时候就碰到很多关于唯一索引的问题:Step8:SQL Server 当表分区遇上唯一约束,没想到在MySQL的分区中一样会遇到这样的问题:MySQL表分区实战。今天我们来了解MySQL唯一索引的一些知识:包括如何创建,如何批量插入,还有一些技巧上SQL;这些问题的根源在什么地方?有什么共同点?MySQL中也有分区对齐的概念?唯一索引是在很多系统中都会出现的要求,有什么办法可以避免?它对性能的影响有多大?二、过...
<< 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 >>