测试表: CREATE TABLE `test` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, ` DEFAULT CHARSET=utf8; 插入测试数据: '); '); '); 交换两行中某个字段的值:(将ID=1.2的两个order替换下) UPDATE test t1 JOIN test t2 ) SET t1.`order` = t2.`order`,t2.`order`=t1.`order`; 交换两列中某两列的值:(将I…
在SQL UPDATE语句中,"="右侧的值在整个UPDATE语句中都是一致的,所有更新同时发生!因此以下语句将在没有临时变量的情况下交换两列的值: UPDATE table SET a = b, b = a; 注意,在MySQL的实现中,更新将按语句从左到右依次完成.…
一. 编写一条update语句实现商品涨价,具体规则如下 1.99元以内,提价20% 2.100-999元之间,提价10% 3.1000-1999之间,提价5% 4.其他提价2% update goods set price = ( case then price * 1.2 then price * 1.1 then price * 1.05 then price * 1.02 end); select * from goods; 二. 编写一条select语句,实现如下效果 学号   姓名 …
MERGE 目标表 USING 源表 ON 匹配条件 WHEN MATCHED THEN 语句 WHEN NOT MATCHED THEN 语句; http://www.chinaz.com/program/2010/1014/137713.shtml…
UPDATE cf_2015_company a, cf_2015_company bSET a.cname = b.linkman, a.linkman = b.cnameWHERE a.id = b.id AND CHAR_LENGTH(a.cname)<5 AND CHAR_LENGTH(a.linkman)>5…
insert into persons (id_p, lastname , firstName, city ) values (200,'haha' , 'deng' , 'shenzhen'), (201,'haha2' , 'deng' , 'GD'), (202,'haha3' , 'deng' , 'Beijing');…
1.查看当前服务器下面,有那些库(database)? 答: show databases; 2.如何创建一个数据库? 答 : create database 最后面在写数据库名:分号结束 3.选择数据库 在进行表,行的相关操作时,要先选择数据库 答: use 后面在写数据库名 ; //选择相应的数据库 这个比较怪可以不加分号 4.要选择了数据库才能查看表 如何查看一下库下面的所有表? 答 : show tables; 5.如何删除数据库 答: drop database 最后写数据库名: 6.…
CREATE TABLE tab_update (id TINYINT,n1 NVARCHAR(30),v1 NVARCHAR(30),s1 NVARCHAR(30)) INSERT INTO tab_update (id,n1,v1,s1) SELECT 1,'天','土豆','章子怡' UNION ALL SELECT 2,'集团','黄瓜','汪峰' UNION ALL SELECT 3,'宇宙','茄子','杰克隽逸' UNION ALL SELECT 4,'海洋','西红柿','刘德华…
从接触 Python 时起,我就觉得 Python 的元组解包(unpacking)挺有意思,非常简洁好用. 最显而易见的例子就是多重赋值,即在一条语句中同时给多个变量赋值: >>> x, y = 1, 2 >>> print(x, y) # 结果:1 2 在此例中,赋值操作符"="号的右侧的两个数字会被存入到一个元组中,即变成 (1,2),然后再被解包,依次赋值给"="号左侧的两个变量. 如果我们直接写x = 1,2 ,然后打印…
  项目中有个需求是获取出展会分类下的前n条展商. 刚开始的思路是用group by 获取出展会的分类,后面再根据分类获取该分类下的n个展商,但也需要第一次获取出展会的时候也获取所有的每个展会分类下的n条展商. CSDN上的有一个类似的问题:mysql中有个表:article(字段:id,type,date),type有1-10,10种类型.现在要用SQL找出每种类型中时间最新的前N个数据组成的集合. select a1.* from article a1 inner join (select…
ER图.分页.差异.Java连接MySQL SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目.初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIM…
问题描述:用户有一个这样一个需求,在一张表里会不时出现 "违规" 字样的字段,需要在出现这个字段的时候,把整行的数据删掉.这是个采集任务,如果发现有"违规"字样的数据,会整点或者什么时间进行统一上报,也无法对源头进行控制让这种数据不生成. 现在需要实现以下需求:1.实时检测这条数据的产生,发现后删除 2.在删除之前作备份这条数据 解决思路:需要明确解决思路, 1.首先是如何实时探测删除?询问开发,这条数据的生成方式为insert,就可以做一个当表做插入的时候,然后做…
文章来源:http://blog.sina.com.cn/s/blog_731bf4c90102wnpr.html 本文仅是个人经验总结,若有错误欢迎指教! 最近要做一个跨平台的项目,同时也涉及到网络数据传输,所以考虑采用Qt和Libevent. 1.vs编译libevent 参考网上众多通过VS编译Libevent的文章(http://www.cnblogs.com/luxiaoxun/p/3603399.html),成功编译得到了​libevent.lib.libevent_core.lib…
,),(,) ON DUPLICATE KEY UPDATE c=VALUES(c); 或者 INSERT INTO table (id,a,b,c) select id,a,b,c from xxx ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c) 上面的mysql的一条语句实现了往表里插入数据,如果对应的主键上(假设主键是a)已经有数据了那么执行更新操作,更新字段c为新值. 这样一条语句简化了我们的开发代码,否则开发代码还…
package com.swift; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; im…
在开发过程中,有时由于业务等需要把一个表中的两列数据进行交换. 解决方案 使用update命令,这完全得益于MySQL SQL命令功能的强大支持. 表格中原来数据类似如下: select * from product; +----+--------+| id | name   | original_price | price  | +----+----+--------+|  1 | 雪糕   |           5.00 |   3.50 | |  2 | 鲜花   |          …
前言:不废话.,直接进入正文 正文: 如何使用distinct在mysql中查询多条不重复记录值? 首先,我们必须知道在django中模型执行查询有两种方法: 第一种,使用django给出的api,例如filter value distinct order_by等模型查询api; 代码:LOrder.objects.values('finish_time').distinct() 这里应注意,原官方文档中写到: 示例(第一个之后的示例都只能在PostgreSQL 上工作): >>> Au…
注:该MySql系列博客仅为个人学习笔记. 在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面学习MySql的一些高级查询,MySql性能和SQL语句的优化等打个基础. 用博客来记录下学习的过程,方便以后查阅和加强记忆.有错误的地方还请指出! 一.MySql的基本操作命令 注: <>表示参数.[]表示可选项 连接数据库:mysql> mysql -u<username>…
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的.所以我花了很多时间来研究这个问题,网上也查不到解决方案,期间把朋友拉来帮忙,结果是…
总结一下常见查询语句的优化方式 1        COUNT 1.       COUNT的作用 ·        COUNT(table.filed)统计的该字段非空值的记录行数 ·        COUNT(*)或者是COUNT(not nullable field) 统计的是全表的行数 如果要是统计全表记录数,COUNT(*)效率会比COUNT(not nullable field)要高一点 2.       MYISAM的COUNT 一般执行COUNT操作时需要扫描大量的记录,但是在My…
IF表达式 IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3.IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定. select *,if(sva=1,"男","女") as ssva from taname where sva != "" 作为表达式的if也可以…
1.选取最适用的字段属性   MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小.例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用 VARCHAR这种类型也是多余的,因为CHAR(6) 就可以很好的完成任务了.同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGINT来定义整型字段. 另外一个提高…
声明:本篇文章大多数内容出自<MySQL必知必会>,仅供学习参考,勿作他用! 第4章 检索数据 4.1 SELECT语句 SELECT子句用于检索数据库中的表数据.它几乎是MySQL中最常用的语句.我们一定要掌握好.为了能够检索表数据,必须至少给出两条信息 —— 想选择什么(表字段,即列),以及从什么地方选择(哪张表). 4.2 检索单个列 输入: select prod_name from products; 分析: 上述语句利用SELECT语句从products表中检索一个名为prod_n…
(1.3)mysql 事务控制和锁定语句 lock table 参考转载自:https://www.cnblogs.com/kerrycode/p/6991502.html 关键词:mysql lock table 和 unlock tables,mysql事务控制 1.mysql lock table 和 unlock table [1.1]一般形式:lock table tbl_name read/write :当前会话锁定表,仅当前会话可操作 LOCK TABLES tbl_name [A…
标准SQL包含了4种基本的语句类别: DDL语句,数据定义语句,主要用来定义数据库,表名,字段,例如create,drop,alter. DML语句,数据操作语句,用来对数据记录的增删改查,还用来保证数据的一致性.主要有select,delete,insert,update语句. DCL语句,数据控制语句,用于控制不同数据对象访问级别的语句.定义了数据库.表.表.用户的访问权限和完全级别.常用的语句包括grant.revoke等 TCL语句,事务控制语句,用来确保事务的特性. CREATE TA…
这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条语句执行流程之前,我们看看mysql的基础架构. 图来自极客时间的mysql实践,该图是描述的是MySQL的逻辑架构. server层包括连接器.查询缓存.分析器.优化器.执行器涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视等.…
做优化,我在这里引用淘宝系统分析师蒋江伟的一句话:只有勇于承担,才能让人有勇气,有承担自己的错误的勇气.有承担错误的勇气,就有去做事得勇气.无论做什么事,只要是对的,就要去做,勇敢去做.出了错误,承担错误,改正错误,这样的人没有人会去责怪. 很久之前就想写一篇关于mysql优化方面的文章了,忙于工作,在着也比较懒散.现在网上mysql优化方面的帖子很多,也不乏精品.很早听一DBA前辈说过:mysql的优化,三分配置的优化,七分sql语句的优化.之前不是很理解,但接触到高并发大数据的时候,这句话的…
创建索引 一:唯一索引alter table table_name add unique index_name(column_list); 例如:alter table users_game_task add unique unique_userid_taskid(userid, taskid); 二:主键索引:PRIMARY KEY(主键索引)ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) alter table table_name…
sql注意事项: SQL 对大小写不敏感:SELECT 与 select 是相同的 某些数据库系统要求在每条 SQL 语句的末端使用分号. CREATE DATABASE CREATE DATABASE 语句用于创建数据库. CREATE DATABASE dbname; CREATE TABLE CREATE TABLE 语句用于创建数据库中的表. 表由行和列组成,每个表都必须有个表名. CREATE TABLE table_name ( column_name1 data_type(size…
MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段.在MySQL数据库中,在不同的情形下,空值往往代表不同的含义.这是MySQL数据库的一种特性.如在普通的字段中(字符型的数据),空值就是表示空值.但是如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空.此时为出现什么情况呢(如下图)? 我先创建了一个表.在这个表中有两个字段:…