MySql函数使用

select DATE_FORMAT(NOW(),’%Y-%m-%d %T’) — 日期格式化 2020-06-30 11:03:26 select DATE_FORMAT(NOW(),’%Y-%c’) — 日期格式化 2020-6 select YEAR(NOW()) — 获取年2020 select DAY(NOW()) — 获取日30 select FLOOR(25.96) — 向下取整 25 select UNIX_TIMESTAMP(‘2020-06-30’) — 获取时间戳 1593446400 select CONCAT(‘zhang’,’-‘,’dong’,’-‘,’ling’) — 字符串拼接zhang-dong-ling select MOD(89,9) — 取余 8

2020年6月30日 · 1 分钟 · 天边的星星

MySQL 时间函数加减计算

一、MySQL 获得当前日期时间 函数 1.1 获得当前日期 + 时间(date + time) 1.2 获得当前日期 + 时间(date + time) 1.3 获得当前日期(date) 1.4 获得当前时间(time) 1.5 获得当前 UTC 日期时间 二、MySQL 日期时间 Extract(选取) 函数 2.1 选取日期时间的各个部分: 2.2 MySQL Extract() 函数 2.3 MySQL dayof… 2.4 MySQL week… 2.5 MySQL 返回星期和月份名称 2.6 返回月份中的最后一天 三、MySQL 日期时间计算函数 3.1 MySQL 为日期增加一个时间间隔 3.2 MySQL 为日期减去一个时间间隔 3.3 MySQL 另类日期 3.4 MySQL 日期、时间相减 四、MySQL 日期转换函数、时间转换函数 4.1 MySQL (时间、秒)转换 4.2 MySQL (日期、天数)转换 4.3 MySQL Str to Date (字符串转换为日期) 4.4 MySQL Date/Time to Str(日期/时间转换为字符串) 4.5 MySQL 获得国家地区时间格式 4.6 MySQL 拼凑日期、时间 五、MySQL 时间戳(Timestamp)函数 5.1 MySQL 获得当前时间戳 5.2 MySQL (Unix 时间戳、日期)转换函数: 5.3 MySQL 时间戳(timestamp)转换、增、减函数: 六、MySQL 时区(timezone)转换函数 一、MySQL 获得当前日期时间 函数 1.1 获得当前日期 + 时间(date + time) 函数:now() ...

2020年6月8日 · 7 分钟 · 天边的星星

Mysql日期处理

1.时间格式:在这个项目中,或许是由不同的人建立的数据库表结构吧,对时间的格式步统一,有的表中存储的long类型的时间戳,有的表中是存储的日期,有的表中存储的是时间,同时格式有20171225,2017-12-25等,一点都不统一。这样做,会对项目增加一些额外的工作量,同时会衍生出一些问题出来。比如,在写后台代码时,需要对时间做出处理,以适应数据库的时间格式;在进行夺标联合查询时,时间格式不统一,又会对sql语句进行时间格式转换,造成sql语句臃肿的情况。所以,在同一个项目中,时间格式应该保持统一。个人觉得long 类型的时间戳,以及String类型的yyyy-MM-dd HH:mm:ss 这两种方式时比较不错的。 long类型的时间戳,是因为后台java代码将date类型的时间转化为时间戳很容易。 String类型时因为,我们假如经常使用时间这个字段,在应用时不需要额外将Date类型转化为String类型,使用起来比较直观,方便。 2.常用时间语句 SELECT CURDATE():2017-12-25 //此时日期 SELECT NOW() : 2017-12-25 22:20:21 //此刻时间 SELECT YEAR(‘2017-12-25 22:27:45’): 2017 //获取时间的年份 SELECT MONTH(‘2017-12-25 22:27:45’): 12 //获取时间的月份 SELECT DAY(‘2017-12-25 22:27:45’):25 //获取时间的天数 SELECT HOUR(‘2017-12-25 22:27:45’):22 //获取时间的小时 SELECT MINUTE(‘2017-12-25 22:27:45’):27 //获取时间的分钟 SELECT SECOND(‘2017-12-25 22:27:45’):45 //获取时间的秒数 SELECT DATE_SUB(NOW(),INTERVAL 1 YEAR) //在目前的时间减去一年,该语句可以进行多种操作,指定时间下减去x年:DATE_SUB(“2017-12-25”,INTERVAL x YEAR),同时可以减去 x month/day/hour/minute/second等 SELECT ** DATE_ADD**(NOW(),INTERVAL 1 YEAR) //同上,在目前的时间上加上一年 SELECT CONCAT(‘2017′,’-12-12′):2017-12-12 //组装字符串,可以组装成任何时间格式,也可以使用如上语句,例如:SELECT CONCAT(YEAR(NOW()),’-12-12′) :2017-12-12 ; SELECT UNIX_TIMESTAMP(‘2017-12-25’):1514131200 //字符串转换成时间戳 SELECT FROM_UNIXTIME(1514131200) :2017-12-25 00:00:00 //时间戳转化为时间 ...

2019年5月9日 · 5 分钟 · 天边的星星

Mybatis Generator 无法生成selectByPrimaryKey、deleteByPrimaryKey、updateByPrimaryKey MySQL

问题现象: 最近因为一张表新加了字段,重新使用 mybatis-generator 生成了一下mapper文件,结果发现新生成的文件比之前少了xxxByPrimaryKey 的几个方法,对应的xml文件中同样也少了这几个, 并且xml文件中的resultMap节点里主键id使用的是result标签,而不是id标签。 排查原因: 首先想到的是:难道表没有主键了,于是赶紧检查了一下我的表结构,发现主键没有问题呀!表结构并没有大的变化,我仅仅是加了一个普通字段而已,那怎么会这样呢? 然后我又检查了generatorConfig.xml中table项中的属性 enableSelectByPrimaryKey=”true” enableUpdateByPrimaryKey=”true” enableDeleteByPrimaryKey=”true” 看看这几个属性是否被设置成了false,默认的值是true。 发现也没有问题,这里配置也没有改动过! 唯一想到的变化是mysql连接器版本进行了升级: mysql mysql-connector-java 5.1.35 /** 升级版本 **/ mysql mysql-connector-java 8.0.11 将版本改回去重新试了下果然就可以了。那么可以确信就是 mysql-connector-java 版本升级造成的问题! 解决方法: 很纳闷为什么升级了高版本反而有问题了呢,想到这既然是普遍问题,那应该别人早就遇到过这个问题了,网上搜了下,果然很多人在问这个问题。 最终看到一篇文章找到了解决方法: 在jdbcConnection节点里配置useInformationSchema属性,可以解决mybatis-generator不识别主键问题: 参考文章:https://my.oschina.net/u/2289161/blog/1589630 另外还看到有人说:如果使用的mysql驱动5.x版本的就可以生成,使用6.x 及以上的,那就无法生成了,必须显式设置:useInformationSchema=”true” 说明一下,我使用的maven插件版本是 1.3.5 org.mybatis.generator mybatis-generator-maven-plugin 1.3.5 src/test/resources/generatorConfig.xml true ——————— 参考:https://blog.csdn.net/rchm8519/article/details/81949916

2019年1月29日 · 1 分钟 · 天边的星星

Mac安装mysql 8.0.13步骤

下载Mysql 下载地址 <span class="md-link" spellcheck="false">[https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/)</span> 选择tar压缩文件 配置环境 解压文件放到你希望的目录中 配置环境变量 例如: vi ~/.bash_profile export PATH=$PATH:/usr/local/mysql/bin 使其生效:source ~/.bash_profile 初始化mysql mysql 8.0 执行 scripts 目录下的 mysql_install_db 脚本完成一些默认的初始化(创建默认配置文件、授权表等) cd /usr/local/mysql sudo scripts/mysql_install_db <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws2.sinaimg.cn/large/006tNbRwly1fx9xmzyphej31m6074jti.jpg">![](https://ws2.sinaimg.cn/large/006tNbRwly1fx9xmzyphej31m6074jti.jpg)</span> <span class="">为了快速启动和停止mysql 我配置了别名</span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws4.sinaimg.cn/large/006tNbRwly1fx9xkpfh6oj30x603wwfa.jpg">![](https://ws4.sinaimg.cn/large/006tNbRwly1fx9xkpfh6oj30x603wwfa.jpg)</span> <span class="">检测mysql的status 执行mysqlstatus</span> <span class="">启动mysql 执行 </span> 出现这个错误 ...

2018年11月16日 · 1 分钟 · 天边的星星

15个nosql数据库

1、MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万~1.5万次读写请求。MongoDB还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。 MongoDB也有一个Ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB接口,使用起来非常简单,几乎和DataMapper一模一样,功能非常强大。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。 MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。 MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。 **特性 ** 它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: 面向集合存储,易存储对象类型的数据。 模式自由。 支持动态查询。 支持完全索引,包含内部对象。 支持查询。 支持复制和故障恢复。 使用高效的二进制数据存储,包括大型对象(如视频等)。 自动处理碎片,以支持云计算层次的扩展性。 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。 文件存储格式为BSON(一种JSON的扩展)。 可通过网络访问。 **官方网站 ** http://www.mongodb.org/ 2、CouchDB 介绍 Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST 接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB 是 Apache 基金会的顶级开源项目。 CouchDB是用Erlang开发的面向文档的数据库系统,其数据存储方式类似Lucene的Index文件格式。CouchDB最大的意义在于它是一个面向Web应用的新一代存储系统,事实上,CouchDB的口号就是:下一代的Web应用存储系统。 **特性 ** 主要功能特性有: CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。这当然也得以于Erlang无与伦比的并发特性才能做到。对于基于web的大规模应用文档应用,然的分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。 CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS,电话本,地址本等应用,在这些应用场合,文档数据库要比关系数据库更加方便,性能更好。 CouchDB支持REST API,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句,我们可以想像一下,用AJAX技术结合CouchDB开发出来的CMS系统会是多么的简单和方便。其实CouchDB只是Erlang应用的冰山一角,在最近几年,基于Erlang的应用也得到的蓬勃的发展,特别是在基于web的大规模,分布式应用领域,几乎都是Erlang的优势项目。 官方网站 http://couchdb.apache.org/ 3、Hbase 介绍 HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式。 HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。 ...

2016年5月18日 · 4 分钟 · 天边的星星

CentOS-7-64bit 配置Apache + MySQL + PHP

一、配置防火墙,开启80端口、3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: #停止firewall服务 - **systemctl stop firewalld.service** #禁止firewall开机启动 - **systemctl disable firewalld.service** 2、安装iptables防火墙 #安装 - **yum install iptables-services** #编辑防火墙配置文件 - **vi /etc/sysconfig/iptables** # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT ...

2016年5月17日 · 2 分钟 · 天边的星星

centos7下使用yum安装mysql

CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。 3. 安装mysql $ sudo yum install mysql-server 根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。 4. 重置密码 重置密码前,首先要登录 $ mysql -u root 登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户: $ sudo chown -R openscanner:openscanner /var/lib/mysql 然后,重启服务: $ service mysqld restart 接下来登录重置密码: $ mysql -u root mysql &gt; use mysql; mysql &gt; update user set password=password(‘123456‘) where user=‘root‘; mysql &gt; exit; 5. 开放3306端口 ...

2016年2月29日 · 1 分钟 · 天边的星星

android 链接mysql数据库

android下可以连接远程数据的,不过你远程的数据库服务的要开启远程,具体设置[http://www.ways2u.com/knowledge/?post=142](http://www.ways2u.com/knowledge/?post=142) Java利用JDBC访问数据库的编程步骤 http://www.ways2u.com/?post=76 android 链接mysql数据库实例: package com.hl; import java.sql.DriverManager; import java.sql.ResultSet; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class AndroidMsql extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { sqlCon(); } }); } private void mSetText(String str){ TextView txt=(TextView)findViewById(R.id.txt); txt.setText(str); } ...

2015年1月6日 · 1 分钟 · 天边的星星

mysql计算经纬度距离

mysql中计算经纬度方法 select * ,3956*2*asin(sqrt(power(sin((122.4058-abs(dest.lat))*pi()/180/2),2)+cos(122.4058/180)*cos(abs(dest.lat)*pi()/180)*power(sin((37.7907-dest.lon)*pi()/180/2),2))) as distance from sp_zxcplace dest HAVING distance<10000 order by distance Mysql根据经纬度算距离返回米 亲测ok SELECT pId,name,lon,lat, ROUND(6378.138*2*ASIN(SQRT(POW(SIN((34.3574030000*PI()/180-lat*PI()/180)/2),2)+COS(34.3574030000*PI()/180)*COS(lat*PI()/180)*POW(SIN((108.9263460000*PI()/180-lon*PI()/180)/2),2)))*1000) AS distance FROM sp_zxcplace HAVING distance<10000 ORDER BY distance

2015年1月2日 · 1 分钟 · 天边的星星