创建mysql数据表的时候,经常会遇到手机号码和座机号码数据的存储问题. 先说手机号码:很多人喜欢使用数字来进行存储,手机号不涉及到运算,并且有时候要带括号,加号之类的字符,有时候还要以0开头.所以,手机号最好使用varchar(20)的方式进行存储,这样存储可以支持模糊查询. 座机号码的存储有两种方式,一种是座机区号和座机号分开存储成varchar.一种是使用一个varchar存储整个座机电话号码.…
在使用selenium2 python自动化过程中,用户添加的时候程序设置的手机号和身份证号码是唯一的,这方面python代码可以实现,以下是调试成功,可以实现的. 具体代码如下 身份证需要下载districtcode.txt这个文件:http://files.cnblogs.com/files/yicaifeitian/districtcode.rar idCare.py # coding=utf-8 import os, sys import random from datetime imp…
mysql那些事之索引篇 上一篇博客已经简单从广的方面介绍了一下mysql整体架构以及物理结构的内容. 本篇博客的内容是mysql的索引,索引无论是在面试还是我们日常工作中都是非常的重要一环. 索引是什么? 官方介绍索引是帮助MySQL高效获取数据的数据结构.打个比方来说的话相当于我们生活中字典. 索引的优势和劣势 优势: 可以加快数据的检索速度,降低磁盘的IO,提高查询效率. 索引列可以对数据进行排序,减低cpu的消耗 劣势: 索引是需要占用磁盘空间的. 索引只是针对查询会提升性能.对增删改反…
在mysql见表的时候,会遇到选择存储引擎:MyISAM和InnoDB.究竟用哪种存储引擎好呢? 1.MyISAM:表锁:支持全文索引:读并发性能较好. 2.InnoDB:行锁:支持事务,支持外键:写并发性能较好. 实际上,现在大多数的公司里,mysql的规定都是使用InnoDB作为默认存储引擎,除了支持事务和行锁是比较重要的两个原因外,其实MyISAM在实际应用场景中意义也不大,并且一个重要原因是,官方支持力度大.oracle很早就收购了InnoDB,后面又收购了mysql,现在重点发展Inn…
创建mysql数据表的时候,经常会遇到存储小数(浮点数)的情况,如:价格,重量,身高等. 目前大的公司流行三种存储方案: 1.将数据扩大10的倍数达到使用整数类型存储目的. 比如价格,我们经常以分为单位进行存储,也就是将数据扩大100倍,这样元改成分存储. 重量可以用克为单位,如果克还是小数,就以毫克,微克等单位进行存储. 2.使用decimal类型的方式存储 比如价格,我们可以使用两位小数的精度进行存储.强烈不建议采用float或者double的类型存储,会存在精度损失的问题,在以后做值比较的…
1. 环境配置 要将本地文件上传到阿里云oss中, 必须使用阿里云提供的工具 ossutil, 有32位,也有64位的, Linux和Windows都有.具体可以到阿里云官网下载 官网及文档: https://helpcdn.aliyun.com/document_detail/120075.html?spm=a2c4g.11186623.2.45.637b1c7aEqbumo 本文以Linux系统为例: 下载工具:wget http://gosspublic.alicdn.com/ossuti…
大家好,我是jacky,很高兴继续跟大家分享<MySQL数据分析实战>,今天跟大家分享的主题是表补充之存储引擎: 我们之前学了跟表结构相关的一些操作,那我们看一下创建表的SQL模型: 在我们创建表里,我们还有ENGINE=存储引擎,没有说,我们现在MySQL的默认引擎是InnoDB,那其实在5.5版本之前,默认的存储引擎是MyISAM,而5.5之后呢才使用的是InnoDB,本节课程jacky将讲解跟存储引擎有关的一些内容: 对于很多零基础的朋友来说,听到存储引擎这个词,是不是觉得很晦涩,很理论…
---恢复内容开始--- 登录 mysql登录 -u+用户 -p 密码 显示数据库 show databases; 使用某个数据库 use xxx; 显示数据库表 show tables 显示表结构 show columns form xxx;//表名 select选择 使用distinct来输出MYsql只返回不同的值 select distinct email from user//必须放在这个字段的前面 部分不能使用这个关键字(这个关键字用于可以用于所有列)除非指定的两个列都不同,否则所有…
前言:所谓的坑,两个意思,一个是软件本身的bug,一个是使用者常犯的错误. phper在日常开发中经常和mysql打交道.特别是在没有分层的中小应用中,phper开发要关注sql语句的实现. 入正题,上建表语句: DROP TABLE IF EXISTS `test_sql`; CREATE TABLE `test_sql` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', `name` varchar(32) NOT…
mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就是most bytes 4的意思.包括Emoji 表情和很多不常用的汉字都可以存储,还可以存储任意新增的Unicode字符,扩展性好啊. 而utf8 编码最大字符长度是 3 字节,如果遇到4个字节的款字符就出幺蛾子了. 而且,utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他…
几乎每次数据库建模的时候,都会遇到时间类型数据存储的问题. mysql存储时间通常选择这四种类型:datetime.timestamp.int和bigint四种方式,到底使用什么类型,需要看具体的业务. 我们分别对这四种类型进行讨论. 1.datetime 这个类型可以存储8字节,表示从1000到9999年之间的数据.这个类型可以为空值,也可以自定义值,默认的初始值是“0000-00-00 00:00:00”. 这种类型存储的存储的优点是数据可读性强,不需要函数做转换. 2.timestamp…
1.一条update语句 1.先通过引擎找到对应的行数据,并加锁 2.对行数据进行修改并调用引擎接口修改这条数据,然后释放锁(此时并没有把数据在磁盘上做出修改) 3.redo log在内存中生成这条update的日志,通过innodb_flush_log_trx_commit 参数判断是否flush(持久化到磁盘),并告知mysql执行器完成操作 4.执行器生成binlog并持久化到磁盘 5.执行器调用引擎提交事务接口,redo log状态变为commit状态完成整个更新操作. 6.InnoDB…
前言 这篇文章会对PHP的MySQL扩展库,MySQLI的扩展库,SQL批量执行,事务控制等等进行一些简单的讲解. MySQL扩展 PHP中MySQL扩展,虽然因为安全的原因,在PHP5.6及往上不在支持MySQL扩展库,但是还是要学习的,通过编写案例的方式来讲解. 案例 先说下操作数据库的大体思路吧,就是先获取连接->选择数据库->设置操作编码->发送sql指令->对返回的结果进行处理->释放资源,断开连接.案例是一个在线词典查询.下面是创建表的sql语句: create…
$res=$user->where("login_id='{$username}' OR phone='{$username}'")->find(); $phone=I('param.phone'); $sql='select phone,login_id from pro_cuser where phone="'.$data['phone'].'" or login_id="'.$data['phone'].'" and statu…
一:建表 二:获取数据库连接 1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar 2:写代码连接数据库,如下: /** * */ package com.hlcui.file; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * @author Administrator * */ public class…
-- MySQL优化 -- mysql 慢查日志的开启方式和存储 -- 1) 查看mysql是否开启慢查询日志 SHOW VARIABLES LIKE 'slow_query_log'; -- 2) 将慢查询日志记录在特定文件日志中 SET GLOBAL slow_query_log_file = '/home/mysql/sql_log/mysql-slow.log' -- 3)设置没有索引的记录到慢查询日志中, 通常情况下进行数据库优化过程中,主要是为了优化表和索引以及查询的一些使用方式 S…
环境: 1.两台Win10电脑 2.MySql5.6 过程: 1.原电脑停止MySql服务 2.复制C:\ProgramData\MySQL\MySQL Server 5.6\data文件夹到目标电脑的D:\MysqlData 3.目标电脑停上MySql服务 4.修改目标电脑C:\Program Files (x86)\MySQL\MySQL Server 5.6\my.ini文件: datadir改为: datadir="D:/MySqlData/data/" 5.目标电脑D:/My…
Jar包使用,及层的划分 c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 默认配置,如果没有指定则使用这个配置 默认配置最常用 建议放在最开头. 放其他地方也没问题 --> <default-config> <property name="driverClass">com.mysql.jd…
安装MySQL好多次了,每次都会纠结于数据库的字符编码配置,所以我决定这一次彻底把它理清. MySQL的字符编码结构比較细,它慷慨向分为两个部分:数据存储编码和传输数据编码.本篇讨论数据存储编码部分,传输数据编码在下一篇MySQL的字符编码体系(二)--传输数据编码中讨论. 编码层次 数据存储的字符编码配置是指定数据库中存储的数据默认採用什么字符编码.默认字符编码的设置分为四个层次:server级.数据库级.数据表级和列级. 也就是说.能够为server设置一个默认字符编码,再为server中的…
canal本质就是"冒充"从库,通过订阅mysql bin-log来获取数据库的更改信息. mysql配置(my.cnf) mysql需要配置my.cnf开启bin-log日志并且将bin-log日志格式设置为row, 同时为了防止bin-log日志占用过多磁盘,可以设置一下过期时间, [mysqld] log-bin=mysql-bin # 打开binlog binlog-format=ROW # ROW格式 server_id=1 # mysql Replication 需要设置…
如何将mysql数据库中的MyISAM类型表更改为InnoDB类型的表 改单个表 ALTER TABLE TABLENAME ENGINE=InnoDB; ALTER TABLE TABLENAME ENGINE=MyISAM; 改多个表 #修改为InnoDB SELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;' ) FROM information_schema.tables WHERE table_schema = 'DBN…
转载了https://blog.csdn.net/u013421629/article/details/78793966 https://blog.csdn.net/justdb/article/details/17331569 还有部分自己的学习 1.what 读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),而从数据库处理SELECT查询操作.数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库. 2.why 那么为什么要…
php中变量有三个基本的特性: 1.变量符号.也就是变量的名称.形象比喻,kv中的key.这个有php引擎的符号表(hash表)管理. 2.变量类型.一个php变量可以是boolean.integer.float.string.array.object.resource或者为NULL. 3.变量内容.比如:1."sdfsdf".array(1,2,3).由内存分配. php引擎中的变量描述: typedef union _zvalue_value{ long lval; double…
目录 InnoDB存储引擎 InnoDB存储架构 Checkpoint技术 Master Thread 工作方式 InnoDB关键特性(放一下,感觉看后面,再看总结吧) InnoDB存储引擎 InnoDB存储架构 ​ InnoDB存储引擎有多个内存块,可以认为这些内存块组成了一个大的内存池,负责如下工作: 维护所有进程/线程需要访问的多个内部数据结构 缓存磁盘上的数据,方便快速的读取,同时在对磁盘文件的数据修改之前在这里缓存. 重做日志(redo log)缓冲 ​ 后台线程的主要作用 刷新内存池…
1.事务的支持不同(innodb支持事务,myisam不支持事务) 2.锁粒度(innodb行锁应用,myisam表锁) 3.存储空间(innodb既缓存索引文件又缓存数据文件,myisam只能缓存索引文件) 4.存储结构 (myisam:数据文件的扩展名为.MYD myData ,索引文件的扩展名是.MYI myIndex) (innodb:所有的表都保存在同一个数据文件里面 即为.Ibd)…
浏览器控制台的js采集数据结果持久化存储 how to open a file in javascript https://developer.mozilla.org/en-US/docs/Web/API/File https://stackoverflow.com/questions/6396101/pure-javascript-send-post-data-without-a-form https://developer.mozilla.org/en-US/docs/Web/API/XML…
取代奶瓶Minidwep-gtk 破 WPA 全攻略  目录 1. CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 2. 自带的字典破解不出密码时使用 U 盘外挂字典继续暴力破解密码 3. 将握手包拷贝到 Windows 系统下使用 ewsa 工具高速破解密码 4.破解 WPA 加密“握手包”字典的制作 一.CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 插好网卡,在 minidwep-gtk 上面点鼠标右键选择执行. 跳出警告的对…
 目录 1. CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 2. 自带的字典破解不出密码时使用 U 盘外挂字典继续暴力破解密码 3. 将握手包拷贝到 Windows 系统下使用 ewsa 工具高速破解密码 4.破解 WPA 加密“握手包”字典的制作 一.CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 插好网卡,在 minidwep-gtk 上面点鼠标右键选择执行. 跳出警告的对话框点 OK 就可以了. 点 OK 后出现设置的窗口…
近期在工作中须要推断一个号码是否是手机号,是否是座机号. 在网上也搜到了大家总结的方法,没有直接使用这些方法是由于:手机号码在不断開始新的号码段(比方17x).座机号中个别区号由于行政区域的变化而废除. 这里的手机和座机的正則表達式基于本文作者眼下找到的最新的手机号码段,区号(截止到2015年8月). 座机号码:http://baike.baidu.com/view/103379.htm. new Regex(@"^0?(10|(2|3[1,5,7]|4[1,5,7]|5[1,3,5,7]|7[…
MySQL架构的那些事 此篇博客为原创,欢迎转载,转载时请注明出处,谢谢 最近深入学习了一下mysql的内容,想把自己的理解分享出来. mysql架构 逻辑架构 Connectors:连接器 Management Service & Utillties :系统管理和控制工具 Connection Pool:连接池 管理缓冲用户连接,线程处理等需要缓存的需求. 负责监听对 MySQL Server 的各种请求,接收连接请求,转发所有连接请求到线程管理模块.每 一个连接上 MySQL Server…