
mysql
文章平均质量分 90
一朵风中摇曳的水仙花
世人多愿锦上添花,却少有人雪中送炭
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Mysql中用exists代替in
exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录,反之如果exists里的条 件语句不能返回记录行,则当前loop到的这条记录被丢弃,exists的条件就像一个bool条件,当能返回结果集则为true,不能返回结果集则为 false如...转载 2018-11-04 14:48:41 · 1982 阅读 · 0 评论 -
用一句sql语句更新两个表并可更新对应的字段的值
ACCESS例子:insert into products (ProNumber,CASNumber,Cnname,Price,Enname,Baozhuang,Pinpai) select ProNumber,CASNumber,Cnname,Price,Enname,Baozhuang,Pinpai from product221.用一句sql从一个表里面取出数据导入另外一个表里面...转载 2018-11-20 15:06:42 · 7946 阅读 · 0 评论 -
sql的行转列(PIVOT)与列转行(UNPIVOT)
在做数据统计的时候,行转列,列转行是经常碰到的问题。case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强一、行转列1、测试数据准备 CREATE TABLE [StudentScores]( [UserName] NVARCHAR(20), --学生姓名 ...转载 2019-01-06 17:54:48 · 596 阅读 · 4 评论 -
MYSQL:SQL中Group By的使用
1、概述2、原始表3、简单Group By4、Group By 和 Order By5、Group By中Select指定的字段限制6、Group By All7、Group By与聚合函数8、Having与Where的区别9、Compute 和 Compute By1、概述“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“...转载 2018-06-21 20:04:56 · 284 阅读 · 0 评论 -
SQL中varchar和nvarchar有什么区别
varchar(n)1.长度为 n 个字节的可变长度且非 Unicode 的字符数据。2.n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。nvarchar(n)1.包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。FOR EXAMPLE:两字...转载 2019-01-06 17:41:51 · 438 阅读 · 0 评论 -
case when else表达式
<!-- 按照条件查询活动,使用Activity类来接查询结果 --> <select id="selectActivityDoPagination" parameterType="java.lang.String" resultMap="activity"> select ID, ACTIVITY_CODE, ACTIVITY_NAME, ACT...原创 2018-02-12 11:48:07 · 307 阅读 · 0 评论 -
【mysql】Date和String的互相转换(DATE_FORMAT & STR_TO_DATE)
1.Date ——> String 使用的函数:DATE_FORMAT(date,format) date:需要转换的日期 format:格式化的样式 format样式整理: 年: %Y 显示四位 : 2015 %y 只显示后两位 :15 月: %M 月份的英文显示:October %m 月份...转载 2018-03-02 16:54:17 · 341 阅读 · 0 评论 -
sql 语句阶段性总结【多表联合更新】
(1)根据支行代码更新支行名称,新建表temp_sub_branch 将需要更新的数据导入,执行sqlupdate ONLINE_BRA_OFF_REC_SUB_BRA aset a.SUB_BRANCH_NAME=( select b.SUB_BRANCH_NAME from temp_sub_branch b where b.SUB_BRANCH_ORG_CODE=a.SUB...原创 2018-03-13 17:00:22 · 303 阅读 · 0 评论 -
unix_timestamp 时间戳函数用法(hive)
一、unix_timestamp函数用法 1、unix_timestamp() 得到当前时间戳 2、如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以直接unix_timestamp(string date) 得到参数对应的时间戳 3、如果参数date满足yyyy-MM-dd HH:mm:ss形式,则我们需要指定date的形式,在进行转换 unix_timesta...转载 2018-10-19 17:32:21 · 3148 阅读 · 0 评论 -
批量删除sql
create or replace procedure test_005 is vSql varchar2(2000); vSql2 varchar2(2000); vTable_bak varchar2(50); vTable2_bak varchar2(50); vgrant varchar2(100); begin vgrant:='grant create tabl...原创 2018-06-27 09:44:00 · 868 阅读 · 0 评论 -
sql中exists,not exists的用法
exists : 强调的是是否返回结果集,不要求知道返回什么, 比如: select name from student where sex = 'm' and mark exists(select 1 from grade where ...) ,只要exists引导的子句有结果集返回,那么exists这个条件就算成立了,大家注意返回的字段始终为1,如果改成“select 2 fro...转载 2018-11-29 10:09:04 · 240 阅读 · 0 评论 -
sql语句中#{}和${}的区别
#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是id,则解析成的sql为order by “id”。$将传入的数据直接显示生成在sql中。如:order by userid,如果传入的值是111,那么解析成sql时的值为order by user转载 2017-12-12 16:33:18 · 559 阅读 · 0 评论 -
MYSQL日期 字符串 时间戳互转
涉及的函数date_format(date, format) 函数,MySQL日期格式化函数date_format()unix_timestamp() 函数str_to_date(str, format) 函数from_unixtime(unix_timestamp, format) 函数,MySQL时间戳格式化函数from_unixtime时间转字符串[sql] 预览复制...转载 2018-11-04 14:24:34 · 129 阅读 · 0 评论 -
xml转义字符在mybatis动态sql中的使用
一,常用转义字符表 < < 小于号 > > 大于号 & & 和 ' ’ 单引号 " " 双引号 二,使用方法示例 <if tes...转载 2019-11-18 10:22:53 · 384 阅读 · 0 评论 -
阶段性 技术总结
(1)定义日志private Logger logger = LoggerFactory.getLogger(this.getClass());(2)打印日志logger.info("活动组表中组ID为{}的活动为:{}",actGroupIds, actIds);(3)定义常量[全大写,如果有两个字符串则使用下划线分割] public static final String SUCCESS = "原创 2017-12-20 15:11:19 · 251 阅读 · 0 评论 -
MyBatis中#{}和${}的区别详解
先给大家介绍下MyBatis中#{}和${}的区别,具体介绍如下:1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".2. $将传入的数据直接显示生成在sql中。如:order by $u...转载 2018-12-26 20:39:27 · 185 阅读 · 0 评论 -
sql语句总结2018-02-07
sql语句总结2018-02-07(1)增【含校验】<insert id="insertSelective" parameterType="com.cmbcc.template.db.basic.domain.SysDemo" > <!-- WARNING - @mbggenerated This element is automatically ...原创 2018-02-12 09:59:28 · 285 阅读 · 0 评论 -
sql 笔记
sql 笔记【2017-11-21】单行函数(1)不同类型的函数; (2)转换函数; (3)条件表达式字符串函数: (1)lower(str)转小写; (2)upper(str)转大写; (3)initcap(str)将单词的首字母大写; (4)concat(str1,str2)连接字符串; (5)substr(str,x,y)取字符串的子串,注意X是指从str的第几个字母开始,y是一原创 2017-12-14 14:44:55 · 188 阅读 · 0 评论 -
sql语句返回结果是一个类
mapper 如下所示:<select id="selectActivityDoPagination" parameterType="java.lang.String" resultMap="activity"> selectID ,ACTIVITY_CODE ,ACTIVITY_DESCRIPTION ,INDIRECT_RECOMMEND ,to_char(CREATE_TI原创 2017-12-13 14:43:10 · 767 阅读 · 0 评论 -
插入一条数据得到id后,将其作为一条数据中的一个字段插入另一个表
那要看你b中其它字段写什么值了.如果数据表设置有默认值,那么直接insertb(f1)selectf1froma就可以了,其它字段会用默认值填充.如果你不需要其它值,字段又允许null的话,那么直接写nullinsertb(f1,f2,f3)selectf1,null,nullfroma如果你不想写null,要手工给f2,f3两字段写其它值,那么写常量就可以了in...转载 2019-07-29 18:45:52 · 1281 阅读 · 0 评论 -
mysql 添加索引
1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 3.添加INDEX(普通索引) mysql>ALTER TA...转载 2018-11-04 14:11:03 · 158 阅读 · 0 评论 -
mysql Date类型与String类型转换
1.Date ——> String 使用的函数:DATE_FORMAT(date,format) date:需要转换的日期 format:格式化的样式 format样式整理: 年: %Y 显示四位 : 2015 %y 只显示后两位 :15 月: %M 月份的英文显示:October %m 月份...转载 2018-06-25 15:38:43 · 10657 阅读 · 0 评论 -
如何获取数据前十条?分别用oracle ,sql server,和mysql
oracle:select * from tab where rownum <= 10;sql server:select top 10 * from tab mysql: select * from tab limit 10db2:select * from tab fetch first 10 rows only转载 2018-12-26 19:56:04 · 595 阅读 · 0 评论 -
MySQL的Limit详解
问题:数据库查询语句,如何只返回一部分数据? Top子句 TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 在SQL Server数据库中语法为: SELECT TOP number|percent column_name(s) FROM table_name 但是并非所有的数据库系统都支持 TOP 子句,比如Or...转载 2018-10-22 16:48:58 · 154 阅读 · 0 评论 -
select * from a,b
今天代码中写脚本用了select * from a,b where a.id = b.id.然后同事说让我写内连接,我说这就是内连接啊。结果同事说这怎么会是内连接,这是笛卡尔乘积。我当时有点惊呆了,在原来公司都是这样写啊,难道这不是内连接,后来百度一下,发现: 单纯的select * from a,b是笛卡尔乘积。但是如果对两个表进行关联:select * from a,b where...转载 2018-10-10 17:55:40 · 2960 阅读 · 1 评论 -
mysql中数据类型的取值范围
mysql整型bigint、int、mediumint、smallint 和 tinyint的语法介绍,如下:1、bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到18446744073709551615。一位为 8 个字节。2、int一个正常大小整数...转载 2019-01-23 19:23:56 · 532 阅读 · 0 评论 -
mysql——逗号分割字段情况【find_in_set】
最近在做一个项目的时候,涉及了一个问题就是我在一个字段中添加好多数据用逗号隔开,违反了第一范式原则。当然是因为历史原因,具体不提。在这中情况下使用简单的like就会出现问题。比如这个字段存的IT,FT,SIT1,SIT2 然后筛选条件是IT,使用like的话,包含SIT1或者SIT2这种的也会被筛选出来,这样就会造成数据错误。这不是我们想要的结果。于是我想到的解决方法:find_in_se...原创 2019-11-11 18:46:39 · 1425 阅读 · 0 评论 -
sql 给已有的表添加一个字段和备注
格式:ALTER TABLE 表名 ADD 字段名称 字段类型(字段长短-选填) NOT NULL(是否不可为空) DEFAULT 0(默认值) COMMENT '已经跑批给SAS的维度数目之和'(备注);例子:原创 2018-12-26 19:37:32 · 21832 阅读 · 0 评论 -
Mysql 修改字段默认值
环境描述:MySQL 5.7.13问题描述:建表的时候,users_info表的role_id字段没有默认值,后期发现注册的时候,需要提供给用户一个默认角色,也就是给role_id字段一个默认值。当前users_info表的role_id 在创建表的时候,没有设置默认值,数据库自动设置为空。原先建表语句:role_id字段。修改字段默认值:role_id默认值设置...转载 2018-11-05 10:30:11 · 73994 阅读 · 1 评论 -
SQL查询:并集、差集、交集
新建两个表进行测试: test_aID name 1 曹操 2 郭嘉 3 孙权 4 周瑜 test_bID name 1 刘备 2 关羽 3 张飞 4 孙权 5 周瑜 1.UNION形成并集 UNION可以对两个或多个结果集进行连接,形成“并集”。 子结果集所有的记录...转载 2018-11-13 17:48:58 · 5381 阅读 · 0 评论 -
union和union all的区别
union和union all的区别是:union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。Union:对两个结果集进行并集操作,不包括重复行,同时进行默认...转载 2018-11-29 09:53:59 · 264 阅读 · 0 评论 -
MySQL的Limit详解
问题:数据库查询语句,如何只返回一部分数据? Top子句 TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 在SQL Server数据库中语法为: SELECT TOP number|percent column_name(s) FROM table_name 但是并非所有的数据库系统都支持 TOP 子句...转载 2018-10-15 16:39:49 · 213 阅读 · 0 评论 -
exists、 all 、max、 with 、复制表、多字段组合查询等sql总结
(1)exists 与not exists存在与不存在题目:选择所有没有管理者的员工的last_name方法一:select last_namefrom employeeswhere manager_id is null方法二:select last_namefrom employees e1where not exists(select 1 ...原创 2018-03-14 14:19:55 · 581 阅读 · 0 评论 -
使用 EXISTS 代替 IN 和 inner join
在使用Exists时,如果能正确使用,有时会提高查询速度: 1,使用Exists代替inner join 2,使用Exists代替 in 1,使用Exists代替inner join例子: 在一般写sql语句时通常会遇到如下语句: 两个表连接时,取一个表的数据,一般的写法通过关联查询(inner join): sele...转载 2018-11-04 14:54:54 · 1612 阅读 · 0 评论 -
实战:上亿数据如何秒查
最近在忙着优化集团公司的一个报表。优化完成后,报表查询速度有从半小时以上(甚至查不出)到秒查的质变。从修改SQL查询语句逻辑到决定创建存储过程实现,花了我3天多的时间,在此总结一下,希望对朋友们有帮助。数据背景首先项目是西门子中国在我司实施部署的MES项目,由于项目是在产线上运作(3 years+),数据累积很大。在项目的数据库中,大概上亿条数据的表有5个以上,千万级数据的表10个以上,百...转载 2019-01-21 16:02:21 · 637 阅读 · 0 评论 -
高手详解SQL性能优化十条经验
1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时...转载 2018-11-29 10:00:23 · 187 阅读 · 0 评论 -
sql 修改某列字段为非空 not null
修改数据库表的已存在的某列为非空属性 alter table table_name modify column_name not null;例如:添加一个字段ALTER TABLE jw_user_role ADD zk_env VARCHAR(16);修改字段为not null,还要把原来的类型也写出来ALTER TABLE jw_user_role MODIFY ...转载 2018-11-04 14:16:13 · 46342 阅读 · 7 评论 -
如何在navicat里面远程登陆mysql?
(1)首先进入masqlcd mysql./bin/mysql -uroot -p输入密码,进入msql(2)输入命令:grant all PRIVILEGES on*.* to 'root'@'%' identified by 'root1234' WITH GRANT OPTION;即开通允许用户root使用密码‘root1234’从任何主机链接到mysql服务器。然后输入命令:mysql&...原创 2018-06-28 10:21:06 · 886 阅读 · 0 评论 -
oracle一次set表中多个字段
假设表a中有多个字段(province ,city)需要从b表获取(两张表的mobile一样),总结了几种写法。一、updatea set a.province=(select province from b where b.mobile=a.mobile);updatea set a.city=(select cityfrom b where b.mobile=a.mobile);这种写法效...转载 2018-03-14 10:14:47 · 8089 阅读 · 0 评论 -
sql语句总结2018-02-07
sql语句总结2018-02-07(1)增【含校验】<insert id="insertSelective" parameterType="com.cmbcc.template.db.basic.domain.SysDemo" > <!-- WARNING - @mbggenerated This element is automatically ...原创 2018-06-28 10:32:21 · 282 阅读 · 0 评论