mysql开发常用小结
1.时间转换
时间戳转时间 FROM_UNIXTIME
比如 FROM_UNIXTIME(1449480551/1000,'%Y-%m-%d %H:%i:%s')
如果是精确到毫秒的时间戳,则必须除1000 比如 FROM_UNIXTIME(1449480551850/1000,'%Y-%m-%d %H:%i:%s')
如果时间格式不对,则会返回null
时间转时间戳 UNIX_TIMESTAMP
select UNIX_TIMESTAMP( date('2015-10-25 18:20:25'))
select UNIX_TIMESTAMP( ),UNIX_TIMESTAMP( NOW()) --返回结果一样
2.datetime与timestamp区别
+---------------+----------------+| 列类型 | 显示格式 || TIMESTAMP(14) | YYYYMMDDHHMMSS | | TIMESTAMP(12) | YYMMDDHHMMSS || TIMESTAMP(10) | YYMMDDHHMM || TIMESTAMP(8) | YYYYMMDD || TIMESTAMP(6) | YYMMDD || TIMESTAMP(4) | YYMM || TIMESTAMP(2) | YY |+---------------+----------------+范围
datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于2037
储存
TIMESTAMP
1.4个字节储存(Time stamp value is stored in 4 bytes)
2.值以UTC格式保存( it stores the number of milliseconds)
3.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。
datetime
1.8个字节储存(8 bytes storage)
2.实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.)
3.与时区无关(It has nothing to deal with the TIMEZONE and Conversion.)
timestamp具有强制将长度上提到偶数的能力,同时,存储的还是14位数据,只不过读取的时候,隐藏了部分,如果将长度设置成14位,则可以看到隐藏的部分
另外timestamp默认非null,但可以手动设置和赋值
更多:http://www.jb51.net/article/51794.htm
3.子查询更新
update tb a,
(select time,name
from tt )b
set time4=b.col
where a.name=b.name and a.time1=b.time;
4.查询表结构相关语句
/**查看表结构**/
desc yourtablename
/**查看创建表语句**/
show create table yourtablename
/**查看所有列的信息**/
use information_schema;
select * from columns where table_name='yourtablename';
/**查看所有列名的信息**/
use information_schema;
select column_name from columns where table_name='yourtablename';
/**拼接列名到预定义的sql**/
select concat('insert into yourtablename values(',r.column_name) from
(select group_concat(column_name) column_name from columns where table_name='yourtablename') r;
/**查询mysql中包含指定列的所有表名称和注释**/
useinformation_schema;
selectdistinctc.table_name,t.TABLE_COMMENTfromcolumnscleftjointablest
onc.table_name=t.TABLE_NAME
wherec.TABLE_SCHEMA='database'/**数据库名称*/
andc.COLUMN_NAME='password'/**列名称*/
andc.DATA_TYPE='int'/**数据列类型*/
5.如何判断字段中是否含有中文
SELECT title,length(title),CHARACTER_LENGTH(title) FROM `temp_demo`
6.ROWNUM
select * from (SELECT @rownum:=@rownum+1 rownum, identifier From
(SELECT @rownum:=0,contributes.* FROM contributes limit 10) t)a where rownum>4 and rownum<6
7. 5.6 版本安装
1.配置path
2.设置my-default.ini
basedir = D:\download\tools\develop\mysql-5.6.24-winx64\bin
datadir = D:\download\tools\develop\mysql-5.6.24-winx64\data
3.安装 mysqld -install
启动net stat mysql
设置root空密码
SET PASSWORD FOR username=PASSWORD('new password');
或则
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='username';
mysql> FLUSH PRIVILEGES;
8. 开启远程监听
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
或则
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
9.时间默认设置
你可以改成 publis_date date not null default curdate();
curdate() 当前系统的时间,date 类型
sysdate() 和 now() 是当前系统时间并且精确到时分秒的,也就是datetime类型
TIMESTAMP DEFAULT CURRENT_TIMESTAMP
10. MySQL问题解决:-bash:mysql:command not found
ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可
重启mysql命令:service mysql start
11.com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2289 >1024)
max_allowed_packet 值太小造成
执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。
比如,图片数据的处理
在my.cnf文件中添加或者修改以下变量:
max_allowed_packet = 10M (也可以设置自己需要的大小)
max_allowed_packet 参数的作用是,用来控制其通信缓冲区的最大长度。
查看目前配置
show VARIABLES like '%max_allowed_packet%';
在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
然后关闭掉这此mysql server链接,再进入。
参考:
http://www.cnblogs.com/huangcong/archive/2013/03/26/2981790.html
http://www.oschina.net/question/1422726_2144185
mysql开发常用小结的更多相关文章
- mysql开发常用技巧总结
1.查询某个schema,某张表的创建时间. SELECT CREATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='db_camp ...
- MySQL 数据库常用命令小结
MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...
- 项目完成小结 - Django3.x版本 - 开发部署小结 (2)
前言 好久没更新博客了,最近依然是在做之前博客说的这个项目:项目完成 - 基于Django3.x版本 - 开发部署小结 这项目因为前期工作出了问题,需求没确定好,导致了现在要做很多麻烦的工作,搞得大家 ...
- IbatisNet开发使用小结
一. 介绍 平常做企业级应用,需求变化是经常的事,而很多基础代码重复也是很让人头疼的问题.所以很多人会使用一些ORM框架来增强项目的可维护性.可扩展性.IBatis.Net就是一个比较易用的ORM ...
- C#(Net)软件开发常用工具汇总,提高你的开发效率
C#(Net)软件开发常用工具汇总,提高你的开发效率 写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用技术文章. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是 ...
- Android开发常用工具汇总
Android开发常用工具汇总,本文章不断更新完善 一.数据库小工具Sqlite Developer SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的, ...
- express框架+jade+bootstrap+mysql开发用户注册登录项目
完整的项目代码(github):https://github.com/suqinhui/express-demo express是基于Node.js平台的web应用开发框架,用express框架开发w ...
- MySQL开发指南
数据库开发是数据库管理系统(DBMS)和数据库应用软件设计研发的总称,数据运维.参与数据库生产环境的问题优化和解决等方面的事宜. 1.关于MySQL数据库 2.搭建MySQL环境 3.入门常用SQL. ...
- mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)
一. xtrabackup 选项说明 在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上.点击查看xtrab ...
随机推荐
- 也谈OpenStack中的虚拟机HA
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目. 它的社区拥有超过130家企业及1350位开发人员,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通 ...
- Kafka单机环境的部署
前面说过Kafka集群环境的部署,现在主要说一下在本地测试中Kafka单机环境的部署,和前面一样首先保证zookeeper服务的正常运行,然后解压并释放kafka安装包,并放到指定位置: tar -x ...
- ArcGIS10.6了解一下
因为计算机水平不断更新,ESRI不得不重新倾力打造下一代ArcMap,叫ArcGIS Pro,现在ArcGIS Pro功能有一定地突显,但还不够强大和稳定:而ArcGIS Desktop方面没有什么大 ...
- brew install Jenkins
Chens-MacBook-Pro:Downloads chenqing$ brew install jenkins ==> Downloading http://mirrors.jenkins ...
- Lintcode: Add Binary
C++ class Solution { public: /** * @param a a number * @param b a number * @return the result */ str ...
- Windows 之 可以Ping通服务器但无法使用服务器连接的共享打印机
故障现象:一个公司内部局域网中,一台电脑可以Ping通服务器,但无法使用服务器连接的共享打印机. 故障分析与排除:根据故障现象分析,由于客户端可以Ping通服务器,说明网络连接正常,故障可能是由客户端 ...
- http协议版本历史
1.http 0.9 2.http 1.0 3. http 1.1 4.http 2.0 推送:主动发送js.css推送到浏览器. 二进制流:可以并行发送数据. 2019.3.18补充: (1)htt ...
- Influxdb数据存储
环境: CentOS6.5_x64 InfluxDB版本:1.1.0 InfluxDB存储引擎看起来很像一个LSM Tree,它包含预写日志和类似存储在LSM Tree中的SSTables只读数据. ...
- Tomcat 的 JDBC 连接池
JDBC 连接池 org.apache.tomcat.jdbc.pool 是 Apache Commons DBCP 连接池的一种替换或备选方案. 那究竟为何需要一个新的连接池? 原因如下: Comm ...
- JQuery动态给table添加、删除行 改进版
复制代码 代码如下: <html> <head> <title> </title> <script src="js/jquery-1.4 ...