- 浏览: 500178 次
- 性别:
- 来自: OnePiece
-
最新评论
-
zhanggang807:
第二种方法比较好
<spring> 定时任务每次都执行两次的问题,慎用new ClassPathXmlApplicationContext() -
assasszt:
谢谢分享,很清楚的讲明了原理。
字符集与字符编码简介 -
su0nils000:
难得的笔记
<进阶-2> 打造高效正则表达式 -
足至迹留:
mini188 写道用MD5来解决碰撞是不是也是可行的呢?个人 ...
Hash简介 -
mini188:
用MD5来解决碰撞是不是也是可行的呢?
Hash简介
文章列表
1. mysql默认查询时,不区分字母大小写。
比如:select * from test where title = 'abc';
则title=ABC的也会查出来。
sqlserver默认也不区分,oracle默认区分。但都可以修改设置。
mysql --添加多个字段
- 博客分类:
- 数据库-通用
1. 添加单个字段
alter table test add c4 varchar(2);
2. 添加多个字段
alter table test add column sent_blacklist int(11) DEFAULT 0 COMMENT ' 我是注释1', add column sent_notexist int(11) DEFAULT 0 COMMENT '注释2', add column sent_error int(11) DEFAULT 0 COMMENT '注释3';
对比可以看到,添加多个字段需要"add column 字段名",而单个字段直接&q ...
1. in和exists
IN 操作符允许我们在 WHERE 子句中规定多个值。
SQL IN 语法:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
in 是把外表和内表作hash 连接,而exists是对外表(主表)作loop循环,每次loop循环再对内表进行查询。认为exists比in效率高的说法是不准确的,要看条件。
如果查询的两个表大小相当,那么用in和exists差别不大。
如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in。
1 ...
轻轻拍打的回忆。
1.SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集, Result-Set)。
由 SQL 查询程序获得的结果被存放在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航, ...
1. distinct简介
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。
distinct这个关键字用来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
2.使用限制
1)distinct必须放在select后的第一个字段前
2)distinct的作用范围是select后的所有的字段,而不仅仅是紧挨着的字段。就像联合主键一样,共 ...
order by时sqlserver和oracle对null值的对待相反。
【sqlserver】:
sqlserver 认为 null 最小。
升序排列:null 值默认排在最前。
要想排后面,则:order by case when col is null then 1 else 0 end ,col
降序排列:null 值默认排在最后。
要想排在前面,则:order by case when col is null then 0 else 1 end , col desc
【oracle】:
oracle认为 null 最大。
升序排列,默认情况下,null值排后面 ...
列上的运算很简单,比如表student(id number, name varchar2(10), score number);
给所有学生成绩加10分;
update student set score = score+10;
还可以创建视图:
create view v_student select id, name, score+10 as score from student;
现在又多一张表score,里面有每个学生很多科目的成绩score(stu_id number, course_id number, score number),要求创建视图,包含学生的功课总分:
create ...
基础的东西长久不用太容易丢了,或者是自己理解不深刻。。。
就是一个题目,一张分数表,有学号,课程号,分数,求每门课程分数最大的学生学号。
表:score(stu_id varchar2(10), course_id varchar2(20), score number)
sql:
select s.stu_id, s.course_id,s.score
from (select course_id, max(score) as score from score group by course_id) t, score s
where t.course_id = s.co ...