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

此文章为转载 使用CASE来重新定义数值类型 SELECT id,title, (CASE date WHEN '0000-00-00' THEN '' ELSE date END) AS date FROM your_table SELECT id,title, (CASE status WHEN 0 THEN 'open' WHEN 1 THEN 'close' ELSE 'standby' END) AS status FROM your_table 查找重复的email记录字段 SELE…
EXEC master.dbo.sp_addlinkedserver @server = N'MYSQL2', @srvproduct=N'mySQL', @provider=N'MSDASQL', @provstr=N'DRIVER={MySQL ODBC 5.3 Unicode Driver}; SERVER=localhost; _  DATABASE=testdb; USER=root; PASSWORD=; OPTION=3'   SELECT * INTO xm FROM openq…
起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: 首先,需要对所需升级的sql所在目录的sql文件进行遍历.生成新的批量执行sql文件.想到是windows系统安装的mysql,首先想到使用bat进行sql文件的生成: 生成sql文件后,还需要使用bat文件连接到数据库,并使用新生成的sql文件进行升级. 想到升级的过程中还有可能字符集出现问题,因…
今天接到一位开发同学的数据操作需求,需求看似很简单,需要执行下面的SQL语句: delete from test_track_log where log_time < '2019-1-7 00:00:00'; 看需求描述是因为查询统计较差,希望删除一些历史数据. 带着疑问我看下了表结构: CREATE TABLE `test_track_log` ( `id` ) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', `uid` ) unsigned…
Django 中使用数据库的 9 个小技巧. 1. 过滤器聚合 在 Django 2.0 之前,如果你想得到“用户总数”.“活跃用户总数”等信息时,你不得不使用条件表达式. Django 2.0 中,通过在聚合函数中添加一个过滤器使这种问题变得更加简单.容易处理: 怎么样? 看起来很简洁明了吧. 如果你使用的是 PostgreSQL 的话,若要进行这种查询,查询程序如下: 可以看到,在第二个查询语句中,使用 FILTER(WHERE) 过滤语句. 2. 将查询结果变为 namedtuples 形…
mysql 使用的三个小技巧 快速阅读 Mysql查询工具中如何查询多条语名,Mysql中如何设置变量,Mysql中如何查特定字段,后面再加* Mysql查询工具中如何查询多条语名 默认myslq只能查询一条语句,如果想查询多条,可以在各条之间加;号 select * from tbl_A; select * from tbl_B Mysql中如何设置变量 用set语句, SET @dt = DATE_ADD(NOW(), INTERVAL -2 DAY); 在sql语句直接用变量赋值 SET…
输入输出几乎是每个C程序必须具备的功能,因为有了它们,程序才有了交互性.C提供的输入输出函数除了具有必须的输入输出功能外,还有一些其他实用的小技巧,了解这些小技巧将会为程序带来更友好的用户体验. 一.printf字段宽度.精度修饰符 当我们要输出类似表格形式的样式时,我们会用到字段宽度修饰符.它能够让printf函数的输出更加规整.我们先看下面的程序: 程序定义了一个容纳20个数字的数组,然后利用两个for循环将20个数字以四行五列的格式进行输出,虽然我们在printf的格式说明符%d的前面已经…
一直用Navicat来对MySQL数据库进行操作,今天突然想试试用DOS控制台来操作,特记录自己第一次使用经历,若有错误之处,还望大佬们指点. 首先打开控制台,win+R键,输入cmd,确定 输入mysql -uroot -p123456 其中root表示你的用户名,123456是你的数据库密码 若成功则出现如下界面 接着输入show databases;(注意是复数形式,并且分号别忘记),出现你的数据库名,如图 之后,ues +你想操作的数据库名,如use contact 接下来查看当前数据库…
连接mysql的语法 mysql -u用户名 -p密码 [-h主机名] [-P端口号] 在一个mysql服务器中, 可以有多个mysql数据库(本质是一个文件夹) 在一个mysql数据库中, 可以有多个数据库表(本质是一个二进制文件) 在一个mysql表中, 可以有多条记录(数据) SQL语法 1. 分号结尾 2. 不区分大小写 3. 注释: -- ,#,/* */ 语句分类 DDL 数据定义语言:定义数据库结构, 表结构 DML 数据操作语言:增删改 DQL 数据查询语言:查询 DCL 数据控…
window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u dbuser -p dbname users> dbname_users.sql 3.导出一个数据库结构 mysqldump -u dbuser -p -d --add-drop-t…
<?php$server = 'localhost'; $link = mysql_connect($server, 'root', 'haven'); $result = mysql_query('show databases'); echo '<pre>'; while ($row = mysql_fetch_array($result)) {  @mysql_select_db($row[0]);  system("/usr/bin/mysqldump $row[0] -…
工作中MySql的小技巧 1. 跑脚本时,经常遇到有则更新无插入的 逻辑操作:通常情况下,来一波if()判断然后选择 更新还是插入,前两天逛论坛时发现有人在比较REPLACE INTO 和 INSET INTO *** ON DUPLICATE KEY UPDATE ** 的 效率,觉得这是一个是优化以前做法的知识,有点意思. REPLACE INTO 与 INSET INTO *** ON DUPLICATE KEY UPDATE ** 的使用与比较 先创建一个实验表: CREATE TABL…
在日常工作中,经常会遇到历史大表从主库上迁移到备份机,以便腾出主库空间,那么如果你直接drop table 后,可能会引起数据库抖动,连接数升高等问题,从而影响业务. 那么用一个小技巧,即可轻松平滑的从主库上删除历史大表. 1.创建一个硬链接,在drop table 表时,"欺骗"MySQL已经删除完毕. ln test.ibd test.ibd.hdlk 2.这个时候不要直接rm test.ibd.hdlk,这样会引起磁盘IO转速上升,MySQL会发生性能抖动. 我们这里写一个脚本,…
前言 最近分享的一些源码.框架设计的东西.我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多:这次就分享一点接地气的: SpringBoot 使用中的一些小技巧. 算不上多高大上的东西,但都还挺有用. 屏蔽外部依赖 第一个是屏蔽外部依赖,什么意思呢? 比如大家日常开发时候有没有这样的烦恼: 项目是基于 SpringCloud 或者是 dubbo 这样的分布式服务,你需要依赖许多基础服务. 比如说某个订单号的生成.获取用户信息等. 由于服务拆分,这些功能都是在其他应用中以接口的形式提…
前言 一直想要整理一篇有关于window比较全的使用小技巧,却又不知道从哪里开始写起.而让我准备动手写这边随笔的动力,还是在加入虫部落<一个绿色环保,充满朝气的好地方>,从大家的分享中,我看到许多亮眼,让我耳目一新的小操作.没办法,我是一个小技术控,对于新奇的技术都会莫名的兴奋感.但是自己的技术提高不是很快,最终我给自己指定了各种提升计划 ,写笔记就是其中一种.我希望每一次的记录,能记下我知道的一点点.在以后得回顾中通过一篇篇的随笔中看到自己的成长,我会感觉很幸福.接下来就开始我的window…
总结的一些MySQL数据库面试题 2016年06月16日 11:41:18 阅读数:4950 一.sql语句应该考虑哪些安全性? (1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量. (2)最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账户. (3)当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄漏服务器和数据库相关信息. 二.简单描述MySQL中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响.…
SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库  Create DATABASE database-name 2.说明:删除数据库  drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7b…
如需转载请标明出处:http://blog.csdn.net/itas109 环境: MySQL  50515 Navicat for MySQL 一.导入前提 确保导入的sql文件的host和port以及MySQL版本号一致 详细操作: 1.如图,点击连接属性. 2.确保下图中的主机名和port与sql中信息的一致 3.执行,MySQL默认登录程序,查看MySQL版本号 二.新建sql中的数据库 本例中的数据库名称为tr.例如以下图新建数据名为tr,编码为utf8(依据实际改动).   三.导…
这篇承接上一篇<mysql必会sql语句>:http://blog.csdn.net/qq_32059827/article/details/51763950 这一篇属于加强版,问题和sql语句如下. 创建users表,设置id,name,gender,sal字段,其中id为主键 drop table if exists users; create table if not exists users( id int(5) primary key auto_increment, name var…
1. MySQL多表查询 1.1 外键约束 为了消除多张表查询出现的笛卡尔积的现象,MySQL在建表并进行多表之间的关键查询可以使用外键关联查询. 外键:从表1(sub)的某列引用(ref)另外一个表2(main)的某列的值,把表1的这列叫做表2这列的外键. 1.2 外键的设置使用 比如上述最简单的员工(employee)和部门表(department),设置外键dept_id与id相关联. 步骤如下: ①在多方表中设置fk外键,使用外键dept_id关联一方表中的主键id,并选择好参考表: ②…
1. 数据库操作与存储引擎 1.1   数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种: ①系统数据库(系统自带的数据库):不能修改,不能删除 information_schema:存储数据库对象信息,如:用户表信息,列信息,权限,字符,分区等信息. performance_schema:存储数据库服务器性能参数信息. mysql:存储数据库用户权限信息. test: 任何用户都可以…
1.以html格式输出结果使用mysql客户端的参数–html或者-T,则所有SQL的查询结果会自动生成为html的table代码$ mysql -u root --htmlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3286Server version: 5.1.24-rc-log MySQL Community Server (GPL)Type 'help;' or '…
本文内容: 什么是数据库 常见数据库 数据库的基本知识 基本SQL语法 1,什么是数据库? 数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合. 数据库就是长期存储在计算机内,有组织.可共享的集合. 2,常见的数据库: Oracle Database 甲骨文公司 SQL Server  微软公司 DB2   IBM公司 POSTGRESQL     开源 MySQL 开源 Access 微软公司 注意:虽然数据库各种各样,但是数据库语句之间具有相同之处. 3,数据库基本知识:…
1.下载安装ODBC驱动程序 地址:http://dev.mysql.com/downloads/connector/odbc/ 注意:系统的版本问题( 我的是64位的win7系统,但是SQL Service应该是32位的,所以还是得装32位的ODBC驱动程序 ) 2.创建系统DSN 位置:开始->设置->控制面板->管理工具->数据源(ODBC)  (这个打开的是64位的,但是SQL Service是32位的,所以这个路径不对) 注意:正确的路径是:C:/Windows/SysW…
1. 如何发现有问题的SQL?  使用mysql慢查询日志对有效率问题的Sql进行监视 (1) show  variables like 'slow_query_log';     查看慢查询日志是否开启 (2) set global slow_qeury_log_file = '/home/mysql/sql_log/mysql_slow.log'     设置慢查询日志文件的位置 (3) set global log_queries_not_using_indexes = on     把没…
1. 首先要得到该数据库中有哪些表,所用函数 mysql_list_tables(),然后可以将获取的所有表名存到一个数组.----------------该函数由于被弃用   用show tables from database_name代替2. show create table 表名 可以获取表结构.3. select * from 表名 取出所有记录,用循环拼接成 insert into... 语句. <?php header("Content-type:text/html;cha…
1.[ ]的使用 当我们所要查的表是系统关键字或者表名中含有空格时,需要用[]括起来,例如新建了两个表,分别为user,user info,那么select * from user和select * from user info就要报错,需要写成:select * from [user] 和 select * from [user info],不过千万不要因为有[]的帮助,就随意起名了,那是自找麻烦,不过我确实看到有人把用户表起名为user的. 2.NULLIF函数 NULLIF(Express…
基于Microsoft SQL Server 的标量值函数fun_GetPy,借鉴其他优秀的博主文章,此处贴出源码,以及使用方法 1.打开新建查询,贴如下代码,F5 /****** Object: UserDefinedFunction [dbo].[fun_GetPy] Script Date: 11/01/2019 11:07:35 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO )) ) AS BEGIN ) ) COLLA…
1.移动端自适应: 移动端的编写首先需要在header写入以下内容来表示页面是以不缩放的形式展示的: <meta name="viewport" content="width=device-width, initial-scale=1"> 移动端需要做适配,可以用rem为单位来编写css,基于某一尺寸的UI设计稿来编写HTML和CSS,以下代码可以用来适配不同尺寸屏幕来显示: document.addEventListener("DOMCont…
由于项目要求,要手动拼接SQL,(不知道领导们怎么想的--),然后就再次回到原始时代,append(SQL). 但后面查询牵扯到动态多条件,如果是mybatis的话就直接 可以用<if>标签拼接动态SQL,但在java中拼接,需要考虑where的连接情况/And的连接情况--,真是好头大. 后来在朋友告诉我一个方法,轻松解决了这个问题,就是在 直接加上 where 1=1 即可. 全文大概如下: select * from table where 1=1 然后再有字段加入,便直接使用 if判断…