mysql
文章平均质量分 76
ball球
这个作者很懒,什么都没留下…
展开
-
gorm hook使用中的问题及核心源码解读
本文针对的是gorm V2版本。hook官方文档可以点击这里,本文旨在对官方文档作一些补充说明。下文中所有的DB均指gorm.Open返回的DB对象。DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})1. hook作用的对象hook只能定义在model上,不能定义在gorm.DB上。假设我们有User表,对应model如下,则可以定义BeforeCreate hook,用于插入数据前的检查。type User struct { I原创 2021-05-24 10:32:09 · 2713 阅读 · 2 评论 -
从一个翻页查询说起
1. 问题有如下数据表:CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `nick` varchar(255) NOT NULL DEFAULT '', `image_url` varchar(255) NOT NULL DEFAULT '', `exp` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '经验值', `create_time` tim原创 2020-12-28 18:33:18 · 134 阅读 · 0 评论 -
mysql性能分析工具show profile(翻译)
SHOW PROFILE以及SHOW PROFILES语句可以显示当前会话过程中执行的sql语句的性能(profiling)信息。翻译 2017-01-12 18:40:32 · 6048 阅读 · 0 评论 -
mysql中int长度的意义
提问:mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?回答:不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。 如果你的答案和上面的一致,恭喜你和我犯了一样的错误。真实情况:我们建立下面这张表:CREATE TABLE `test` ( `id` int(10) unsigne原创 2016-05-31 11:50:25 · 43605 阅读 · 6 评论 -
mysql中几个有用的函数
1. FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。例:select mtime, from_unixtime(mtime) from topics limit 10;2. CONCAT(str1,str2,…) 作用:将str1, str2...连接为字串。如有任何一个参数为NULL ,则返回值为 N原创 2015-04-08 15:39:28 · 1226 阅读 · 0 评论 -
利用mysqldump备份数据库
mysqldump是sql级别的备份机制,它将数据表导成sql脚本文件,是非常常用的备份方法。下面整理了mysqldump的用法和几个常用参数。基本用法:mysqldump -u用户名 -p密码 -h主机 数据库 表 > 文件名如果想导出整个库,不加表名即可。例:mysqldump -uroot -h10.1.153.23 achievement black > bla原创 2012-07-20 12:36:38 · 1474 阅读 · 0 评论 -
mysql主从备份及原理分析
一.mysql主从备份(复制)的基本原理mysql支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在原创 2012-11-28 12:05:49 · 24654 阅读 · 3 评论 -
Sql视图初步
一.什么是视图视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。感性的看一个例子。假如有下面的sql:Select cust_name, cust_contact From customers, Orders, OrderItemsWhere Customers.cust_id = Orders.cust_id And OrderItems.orde原创 2012-11-12 16:12:01 · 1236 阅读 · 0 评论 -
Mysql MERGE引擎简介
一. 什么是MERGE引擎MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询。二. 应用场景如果需要把日志纪录不停的录入MySQL数据库,并且每天、每周或者每个月都创建一个单一的表,而且要时常进行来自多个表的合计查询,MERGE表这时会非常简单有效。三. 举例假设有如下两表CREATE TABLE `t1` ( `i原创 2012-04-25 17:22:56 · 23374 阅读 · 7 评论 -
Mysql联表查询
一.内联结、外联结、左联结、右联结的含义及区别在SQL标准中规划的(Join)联结大致分为下面四种:1.内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。2.外联结:分为外左联结和外右联结。左联结A、B表的意思就是将表A中的全部记录和表B中联结的字段与表A的联结字段符合联结条件的那些记录形成的记录集的联结,这里注意的是最后出来的记录集会包括表A的全部记录。转载 2012-09-20 14:23:34 · 40384 阅读 · 1 评论 -
sql语句中where与having的区别
Where 是一个约束声明,使用Where约束来自数据库的数据,Where是在结果返回之前起作用的,Where中不能使用聚合函数。Having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行。而where子句在查询过程中执行优先级高于聚合语句。原创 2012-09-04 13:18:16 · 28549 阅读 · 5 评论