此文章为转载

使用CASE来重新定义数值类型

  1. SELECT id,title,
  2. (CASE date WHEN '0000-00-00' THEN '' ELSE date END) AS date
  3. FROM your_table
  4. SELECT id,title,
  5. (CASE status WHEN 0 THEN 'open' WHEN 1 THEN 'close' ELSE 'standby' END) AS status
  6. FROM your_table

查找重复的email记录字段

  1. SELECT email, COUNT(email) AS q
  2. FROM emails_table GROUP BY email HAVING q > 1
  3. ORDER BY q DESC

取出随机顺序得到记录

  1. SELECT * FROM your_table ORDER BY RAND()

使用update替换指定字段里的字符

  1. UPDATE your_table
  2. SET name=REPLACE(name, 'gbin1.com', 'gbtags.com')
  3. WHERE name LIKE '%John%';

重设置指定table里的自动增加数值

  1. ALTER TABLE your_table AUTO_INCREMENT = 2

下一次你插入数据,那么id自动增加为2

为select语句添加一个自动增加的字段列

  1. set @N = 0;
  2. SELECT @N := @N +1 AS number, name, surname FROM gbtags_users;

使用concat来连接字段

  1. SELECT CONCAT(name,' ',surname) AS complete_name FROM users

使用date方法来取出日期类型的指定部分

  1. SELECT id,title, YEAR(date_field) FROM your_table
  2. SELECT id,title,
  3. CONCAT(MONTH(date_field),'/',YEAR(date_field)) as new_date
  4. FROM your_table

上面语句,第一个select取出了年份,第二取出了月份和年份组合

针对unique key(唯一键)类型字段的重复插入不报错的insert语句

  1. INSERT IGNORE INTO tags (tag) VALUES ('good');

这个insert语句可以执行多次,不会报错,重复的插入会被忽略

使用全文索引并且匹配搜索

  1. select * from articles where MATCH(content_column) AGAINST ('music')

你需要首先添加全文搜索索引到指定的列(content_column)。注意如果你表里已经有数据的话,不会创建索引,所以你需要使用一个空的表来执行这个语句

如果查询一个月以前

  1. SELECT user, count(*) AS logins
  2. FROM stat_log
  3. WHERE action='LOGIN' AND dt_when >= DATE_ADD(CURDATE(), INTERVAL -1 MONTH)
  4. GROUP BY user

这个语句能够让你查询字段dt_when一个月以前的所有记录

设置正确的字符集

  1. SET NAMES 'utf8';

请在连接开始后执行这个语句

从一个表插入另外一个表

  1. INSERT INTO yourtable (field1,field2,field3)
  2. SELECT newfield1,newfield2,'fixed value'
  3. FROM yourtable2

这个语句能够快速的帮助大家快速的添加一个表中的特定内容到另外一个表中

13个mysql数据库的实用SQL小技巧的更多相关文章

  1. MySQL数据库导入到SQL Server

    EXEC master.dbo.sp_addlinkedserver @server = N'MYSQL2', @srvproduct=N'mySQL', @provider=N'MSDASQL', ...

  2. mysql数据库批量执行sql文件对数据库进行操作【windows版本】

    起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: ...

  3. MySQL平滑删除数据的小技巧【转】

    今天接到一位开发同学的数据操作需求,需求看似很简单,需要执行下面的SQL语句: delete from test_track_log where log_time < '2019-1-7 00: ...

  4. 「Python-Django」Django中使用数据库的 9 个小技巧

    Django 中使用数据库的 9 个小技巧. 1. 过滤器聚合 在 Django 2.0 之前,如果你想得到“用户总数”.“活跃用户总数”等信息时,你不得不使用条件表达式. Django 2.0 中, ...

  5. mysql 使用的三个小技巧

    mysql 使用的三个小技巧 快速阅读 Mysql查询工具中如何查询多条语名,Mysql中如何设置变量,Mysql中如何查特定字段,后面再加* Mysql查询工具中如何查询多条语名 默认myslq只能 ...

  6. scanf和printf格式化输入输出中非常实用的小技巧

    输入输出几乎是每个C程序必须具备的功能,因为有了它们,程序才有了交互性.C提供的输入输出函数除了具有必须的输入输出功能外,还有一些其他实用的小技巧,了解这些小技巧将会为程序带来更友好的用户体验. 一. ...

  7. 在控制台中操作MYSQL数据库步骤以及一些小问题

    一直用Navicat来对MySQL数据库进行操作,今天突然想试试用DOS控制台来操作,特记录自己第一次使用经历,若有错误之处,还望大佬们指点. 首先打开控制台,win+R键,输入cmd,确定 输入my ...

  8. MySQL数据库基本操作以及SQL语句

    连接mysql的语法 mysql -u用户名 -p密码 [-h主机名] [-P端口号] 在一个mysql服务器中, 可以有多个mysql数据库(本质是一个文件夹) 在一个mysql数据库中, 可以有多 ...

  9. mysql数据库导入导出文件sql文件

    window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...

随机推荐

  1. jQuery——AJAX(一)

    jQuery.ajax(options):通过HTTP请求加载远程数据, 参数:options(可选),ajax请求设置.所有选项都是可选的. 返回值:XMLHttpRequest function ...

  2. SqlServer判断数据库、表、存储过程、函数是否存在

    假设场景是: 需要给一个脚本给客户更新, 这个对象可能存在或不存在 -- 更新存储过程 USE [数据库名] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ...

  3. C#自定义控件在添加引用后不显示在工具箱的解决方法

    先说一些背景: 在开发C#项目时,发现很多控件存在复用的情况,控件的属性都是要设置成一样的,我就想,能不能设置一个类来存放这个控件,这样我每次用的时候直接加一些特殊的操作就可以了,不需要再次设置控件属 ...

  4. USACO Chapter 1 解题总结

    USACO Chapter 1 解题总结 1.1.1 Your Ride Is Here 基本字符串操作,无压力. 1.1.2 Greedy Gift Givers 基础模拟题,弄明白题意,不怕麻烦, ...

  5. NOIP2012模拟试题【奶牛晒衣服】

    1.奶牛晒衣服(dry) [问题描述] 在熊大妈英明的带领下,时针和它的同伴生下了许多牛宝宝.熊大妈决定给每个宝宝都穿上可爱的婴儿装.于是,为牛宝宝洗晒衣服就成了很不爽的事情. 圣人王担负起了这个重任 ...

  6. mysql查询优化技巧

    索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等.这里记录的优化技巧更适合开发人员,都是从网络上搜集和整理的,主要是查询语句上的优化,其他层面上 ...

  7. sqlserver2005仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'SendMealAddress'中为标识列指定显式值。

    ps = con.prepareStatement("insert into SendMealAddress values(null,?,?,?,?)"); 表有一列是自增长的标识 ...

  8. 从远程oracle上导入到本地同一张表中不存在的记录的方法

    场景:在远程oracle上存在一张表A,在本地同样存在一张相同表结构的表B.由于本地表B中保存了业务系统操作产生的几条记录,同时原来导入了A中的部分记录,但是并没有保存A中全部的记录.A中有15条记录 ...

  9. Error:(108) No resource identifier found for attribute 'style' in package 'android'

    Error:(108) No resource identifier found for attribute 'style' in package 'android' 解决方案: 这是错误的写法: a ...

  10. microwindows Win32 API demo

    初次使用microwindows,资料有限,我也是费了很多功夫才明白.所以记录下来,好帮助那些爱学习的童鞋,另外请大虾们多多指教. 什么是microwindows,什么作用,等背景介绍我就不多说了,因 ...