MySQL
I天辉I
专注于Python相关的量化投资
展开
-
如何为mysql建立索引
前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。Code代码如...转载 2018-08-30 14:08:01 · 544 阅读 · 0 评论 -
mysql索引作用的简单理解
索引好比书的目录,好比新华字典的拼音、偏旁部首查字,可以帮助人快速查找到需要的内容,当数据表记录达到几十w级别的时候,索引的作用非常明显。 一、索引的类型索引类型有多种,哈希、BTREE、全文索引等,其实不管什么类型,都是为了在特定业务场景下方便快速查找数据的算法。例如哈希索引,key-value形式,最简单的,书本的目录也是类似的。假如有一本书中,我们已知文章标题要找到这...转载 2018-08-30 13:45:38 · 224 阅读 · 0 评论 -
mongodb,redis,mysql 对比
本篇内容大部分不是原创,转载的会贴有链接。准备学习下数据库,想对目前的主流数据库做一个简单的了解分析,就搜集了资料整理到了一块。当下主流的要数NoSql数据库了,拥有强大的高并发能力。mongodb:它是一个内存数据库,数据都是放在内存里面的。对数据的操作大部分都在内存中,但mongodb并不是单纯的内存数据库。持久化方式:mongodb的所有数据实际上是存放在硬盘的,...转载 2018-08-13 10:51:21 · 447 阅读 · 0 评论 -
Mysql查看版本号的五种方式介绍
查看版本信息 #1使用命令行模式进入mysql会看到最开始的提示符 Your MySQL connection id is 3 Server version: 5.1.69 Source distribution #2命令行中使用status可以看到 复制代码代码如下:mysql> status; -------------- mysql Ver 14.14 Distrib...转载 2018-08-02 11:52:29 · 994 阅读 · 0 评论 -
mysql 数据库varchar(100)可以存储多少个汉字,多少个数字
具体还是要看版本的4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节) 5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。自己在数据库中建个表测试下可以放多少个汉字。示例:以5.0以上版本为例。新建表: CREATE T...转载 2018-08-02 11:51:17 · 3825 阅读 · 0 评论 -
mysql 删除表中某一列的数据及删除某一列的方法
表名 table_name要操作的字段名 field_name如果删除字段的值,可以将所有值清空:UPDATE table_name SET field_name = '';如果删除字段(这个字段从此就没有了):ALTER TABLE table_name DROP COLUMN field_name;...转载 2018-08-01 15:05:25 · 36425 阅读 · 2 评论 -
mysql中模糊查询的用法介绍
下面介绍mysql中模糊查询的四种用法:1 %:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。另外,如果需要找出u_name中既有“三”又...转载 2018-08-09 18:57:02 · 226 阅读 · 0 评论 -
mysql中常用的三种插入数据的语句
mysql中常用的三种插入数据的语句:insert into表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错;replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引的话,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;REPLACE语句会返回一个数,来指示受影响的行的数目。该数是被删除和被插入...转载 2018-06-06 10:28:31 · 7668 阅读 · 0 评论 -
Navicat 里有个库的表打不开,一直加载,还不能关闭
用Navicat for mysql操作mysql数据库,其中一个表怎么也打不开,一直加载,还不能关闭。从网上搜索原因,主要是以下几个原因:原因一:表死锁,会出现这样的情况,锁不释放,无论多久都读取不了数据,一直加载中!原因二:表里面的数据量太大造成的。 原因三:网络慢,卡,数据不能传输。经过分析,个人觉得是愿意一导致我的问题,所以,百度下用如下方式解决:在navicat里右击数...转载 2018-05-24 16:27:51 · 4415 阅读 · 0 评论 -
python mysql数据库插入timestamp
利用python向mysql数据库插入timestampdef insert_install_service_info(serviceName,nodeID,nodeIP='9.42.83.54'): conn = MySQLdb.connect(host='172.17.46.15',user='root',passwd='huxin2010') curs = conn.curs...转载 2018-05-10 17:28:34 · 2985 阅读 · 0 评论 -
Navicat for MySQL 安装和破解(完美)
Navicat工具使用方便,但需要破解。1、安装Navicat软件安装成功之后进行破解。 然后选择刚刚安装的Navicat安装路径下找到navicat.exe文件,点击选择即可激活 成功。 可以使用啦! Navicat for MySQL 安装软件和破解补丁:链接:https://pan.baidu.com/s/1oKcErok_Ijm0CY9U...转载 2018-10-02 11:18:05 · 16426 阅读 · 7 评论 -
Windows上本地安装MySQL数据库
环境:windwos 10(1511) 64bit、mysql 5.7.14时间:2016年9月5日一、下载mysql1. 在浏览器里打开mysql的官网http://www.mysql.com/2. 进入页面顶部的"Downloads"3. 打开页面底部的“Community(GPL) Downloads”4. 在页面中间的位置找到我们window...转载 2018-10-03 23:41:55 · 623 阅读 · 0 评论 -
为MySQL和Pandas准备的SQLAlchemy
多年来我一直使用mysql-python库来连接mysql数据库。这些年来它对我很有用。但有时你需要有更快的速度或使用mysql-python时有更好的连接管理。这就是SQLAlchemy的用武之地。在深入研究之前,如果你正在做那些不怎么依赖于速度的事情(例如:你并不关心花了1秒钟来连接数据库、操作数据、关闭数据库),那么你可以忽略掉这个窍门。即便如此,如果你有多个连接,连接的时间则会相加...转载 2019-04-10 22:03:12 · 469 阅读 · 0 评论 -
MySQL Server 8.0.13.0 安装教程 (总结各方已发布方法的,完成安装)
MySQL Server 8.0.13.0 安装教程本文结合百度https://jingyan.baidu.com/article/0bc808fc0df3641bd485b9b3.html与https://www.jianshu.com/p/cda7eff9fd92的优缺点所写。在mysql 6.1.3的基础上安装8.0.13.mysql 8.0.13 下载地址:https://dev...转载 2019-04-09 21:36:04 · 545 阅读 · 0 评论 -
Select count(*)和Count(1)的区别和执行方式
在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。本文会阐述这三者的作用,关系以及背后的原理。 往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能,给出的理由是Count( *)会带来全表扫描。而实际上如何写Count并没有区别。 Co...转载 2019-04-01 22:06:11 · 1304 阅读 · 0 评论 -
查看和修改Mysql数据库建表的时候默认的存储引擎
建表的时候,不指定type或engine,则使用默认的存储引擎。默认的存储引擎,可以在配置文件my.ini中查看和修改,默认是InnoDB:# The default storage engine that will be used when create new tables whendefault-storage-engine=INNODB也可以通过sql查询:show vari...原创 2018-10-24 22:39:57 · 1341 阅读 · 0 评论 -
MySQL中MyISAM与InnoDB区别及选择
InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间里面跨平台可直接拷贝使用InnoDB中必须包含AUTO_INCREMENT类型字段的索引表格很难被压缩MyISAM:不支持事务,回滚将造成不完全回滚,不具有原子性不支持外...转载 2018-10-24 22:21:39 · 187 阅读 · 0 评论 -
mysql left join,right join,inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行举例如下:表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a2...转载 2018-10-19 00:35:06 · 114 阅读 · 0 评论 -
Python+PyQt5+MySQL 实现天气管理系统
在本篇博客中,我利用Python语言其编写界面库PyQt5,然后通过连接MySQL数据库,实现了一个简单的天气管理小系统,该系统包含简单的增删查改四个主要功能。本文旨在解析实现的程序,能够让读者快速了解PyQt5图形界面库,然后可以初步实现这样一个小的系统程序。PyQt5简介PyQt5本身来自C++的界面库Qt,经过一系列的封装移植到Python里面,作为Python的一个图像界面库,它继...转载 2018-10-04 17:22:13 · 8757 阅读 · 13 评论 -
MySQL数据类型
在本教程中,您将了解MySQL数据类型以及如何在MySQL中设计数据库时有效地使用它们。数据库表包含具有特定数据类型(如数字或字符串)的多个列。 MySQL提供更多的数据类型,而不仅仅是数字或字符串。 MySQL中的每种数据类型都可以通过以下特征来确定:它用来表示数据值。 占用的空间以及值是固定长度还是可变长度。 数据类型的值可以被索引。 MySQL如何比较特定数据类型的值。数据类...转载 2018-10-04 11:56:03 · 180 阅读 · 0 评论 -
数据库中char与varchar类型的区别
在建立数据库表结构的时候,为了给一个String类型的数据定义一个数据库的数据库类型,一般参考的都是char或者varchar,这两种选择有时候让人很纠结,今天想总结一下它们两者的区别,明确一下两者的区别。首先明确的是,char的长度是不可变的,而varchar的长度是可变的,也就是说,定义一个char[10]和varchar[10],如果存进去的是‘csdn’,那么char所占的长度依然为1...转载 2018-10-04 11:51:58 · 289 阅读 · 0 评论 -
PyQt5连接MySQL
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jeekmary/article/details/79677285首先声明,以下的程序是在前辈的基础上稍作修改,适应PyQt5以及做一些解释先展示先PyQt5连接MySql的效果这里连的是我本机的mysql当然是可以连接远程的服务器的1 ,布局布局我们就不多做解释...转载 2018-10-04 11:11:18 · 2395 阅读 · 2 评论 -
mysql中如何不重复插入满足某些条件的重复的记录的问题
最近在项目中遇到了这样的一个问题“: 在mysql数据库中需要每次插入的时候不能插入三个字段都相同的记录。在这里使用到了 insert into if not exists 和insert ignore into 这两种方式,既然使用到了就在这里总结一下吧,毕竟mysql中的函数或者关键字太多了,使用到了就将相关的都总结一下。分享出来各位爷参考参考。先说我自己项目中使用到的,然后将所有可用的方法...转载 2018-05-09 14:30:50 · 5773 阅读 · 0 评论 -
MySQL修改表结构操作命令总结
以下内容转自:http://www.jb51.net/article/58079.htm表的结构如下: 复制代码代码如下:mysql> show create table person;| person | CREATE TABLE `person` ( `number` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `...转载 2018-03-21 15:03:35 · 575 阅读 · 0 评论 -
Mysql 多表查询详解
一.前言 二.示例三.注意事项一.前言 上篇讲到Mysql中关键字执行的顺序,只涉及了一张表;实际应用大部分情况下,查询语句都会涉及到多张表格 :1.1 多表连接有哪些分类?1.2 针对这些分类有哪些连接方法?1.3 这些连接方法分别作用于哪些应用场景?这篇针对这三个点通过实例来讲述,目的是穷尽所有的场景和所有的方法,并且对每个方法的转载 2018-01-31 16:00:19 · 287 阅读 · 0 评论 -
【mysql】count(*),count(1)与count(column)区别
ount(*)对行的数目进行计算,包含NULLcount(column)对特定的列的值具有的行数进行计算,不包含NULL值。count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。性能问题1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;2.尽量减少SELECT COUNT(*) FROM table转载 2018-01-06 19:51:24 · 240 阅读 · 0 评论 -
【MySQL】MySQL中链接查询inner join与left join使用
在有些场景下需要我们对两个表里的结果进行查询,这个时候就需要连接查询了。连接查询其实就是对两个表记录做笛卡尔乘积。如果不指定连接条件的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数的乘积;如果指定则,则仅对符合列条件的行进行笛卡尔乘积,并返回结果。在这里可以指定两个列相等,也可以自定两个列其他逻辑关系,而且也可以指定多个列通过or或者and进行连接。mys转载 2018-01-13 16:36:01 · 2740 阅读 · 1 评论 -
Mysql中的视图
阅读目录什么是视图视图的特性视图的作用使用场合视图实例1-创建视图及查询数据操作视图实例2-增删改数据操作其它什么是视图通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。视图的特性视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数转载 2018-01-13 14:10:57 · 269 阅读 · 0 评论 -
MySQL数据类型varchar详解
1、varchar(N)的逻辑意义从MySQL4.1开始,varchar (N)中的N指的是该字段最多能存储多少个字符(characters),不是字节数。不管是一个中英文字符或者数字、或者一个汉字,都当做一个字符。在4.1之前,N表示的是最大存储的字节数(bytes)。2、varchar(N)到底能存多长的数据在mysql reference manual上,varchar最多能转载 2018-01-13 11:50:57 · 3491 阅读 · 0 评论 -
MySQL存储引擎--MyISAM与InnoDB区别
MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。 以下是一些转载 2018-01-13 11:47:38 · 250 阅读 · 0 评论 -
关于mysql中[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails
今天在弄mysql的时候突然出现一条这个错误信息,当时就蒙逼了,不过仔细观察一番后发现是外键的原因,这是由于在删除表的时候存在外键关联这时候就会出现删除错误,我们可以暂时把mysq数据库的外键约束给关闭掉,具体方法请看如下:[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails转载 2018-01-13 11:12:53 · 1174 阅读 · 0 评论 -
sqlalchemy 基本查询
from sqlalchemy import func, or_, not_user = User(name='a')session.add(user)user = User(name='b')session.add(user)user = User(name='a')session.add(user)user = User()session.add原创 2017-12-16 19:02:23 · 1095 阅读 · 0 评论 -
Python:数据库操作模块SQLAlchemy
SQLAlchemy的ORM是一个映射函数(Mapper),将Python中定义的类与数据库中的表建立关联,以及类的实例(instance)和表的行(row)建立关联。 查看一个类所对应的数据库表,使用__tablename__属性,例如 User.__tablename__1. 查询数据 (query)1.1 查询一个trace中flow个数(to转载 2017-12-16 18:55:46 · 597 阅读 · 0 评论 -
21分钟 MySQL 入门教程
目录一、MySQL的相关概念介绍二、Windows下MySQL的配置配置步骤MySQL服务的启动、停止与卸载三、MySQL脚本的基本组成四、MySQL中的数据类型五、使用MySQL数据库登录到MySQL创建一个数据库选择所要操作的数据库创建数据库表六、操作MySQL数据库向表中插入数据查询表中的数据更新表中的数据删除表中的数据七、创建后的修改转载 2017-12-07 00:33:18 · 453 阅读 · 0 评论 -
MySQL之——数据表分区技术PARTITION浅析
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/50729565这篇文章主要介绍了Mysql数据表分区技术PARTITION浅析,分别介绍了 Mysql 中的分区技术 RANGE、LIST、 HASH,需要的朋友可以参考下。在这一章节里, 我们来了解下 Mysql 中的分区技术 (RANGE, LIST,转载 2018-01-17 00:12:31 · 304 阅读 · 0 评论 -
mysql分区管理 - hash分区
hash分区的目的是将数据按照某列进行hash计算后更加均匀的分散到各个分区,相比,range和list分区来说,hash分区不需要明确指定一个给定的列值或者列值集合应该在保存在哪个分区,mysql会自动按照hash计算后完成这些工作,我们只需要基于将要进行hash的列值指定一个列或者表达式,以及可选的指定要分区的表总的分区数量。 下面我们举一个例子来说,hash分区如何创转载 2018-01-17 00:17:43 · 6202 阅读 · 0 评论 -
MYSQL:基础—主键
MYSQL:基础—主键1.什么是主键 表中的每一行都应该具有可以唯一标识自己的一列(或一组列)。而这个承担标识作用的列称为主键。 如果没有主键,数据的管理将会十分混乱。比如会存在多条一模一样的记录,删除和修改特定行十分困难。2.那些列可以作为主键: 任何列都可以作为主键,只要它满足以下条件: • 任何两行都不具有相同的主键值。就是说这列的值都是互不相同的。 • 每个行都必须具有一...转载 2018-03-20 13:22:34 · 420 阅读 · 0 评论 -
MySQL数据库之MyISAM与InnoDB的区别
从以下几个方面:1、存储结构 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。2、存储空间 MyISAM:可被压缩,存储空间较小。 InnoDB:需要更多的内存和存储,它会在主内存中建立其转载 2018-01-30 15:53:23 · 264 阅读 · 0 评论 -
不建议mysql分区表
缘起:业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表。 解决什么问题?回答:当mysql单表的数据库过大时,数据库的访问速度会下降,“数据量大”问题的常见解决方案是“水平切分”。 mysql常见的水平切分方式有哪些?回答:分库分表,分区表 什么是mysql的分库分表?回答:把一个很大的库(表)的数据分到几个库(表)中,每个库(表)的结构都相同,但他们可能分布在不同的mysql实...转载 2018-02-26 16:31:10 · 688 阅读 · 0 评论 -
深入解析MySQL分区(Partition)功能
自5.1开始对分区(Partition)有支持= 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。=== 水平分区的几种模式:===* Range(范围) – 这种模式允许DBA将数据划分不同范围。例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990's)的数据以及任何在20转载 2018-01-19 10:25:32 · 380 阅读 · 0 评论