SQL语句实例说明 方便学习mysql的朋友(2)
来源:asp之家 发布时间:2012-11-30 20:02:43
索引的建立与删除:
索引的建立:
CREATE [UNIQUE]|[CLUSTER] INDEX <索引名> ON <表名>(<列名> [次序][,<列名> [次序]]……);
UNIQUE 表明此索引的每一个索引值只对应唯一的数据记录。
CLUSTER 表示要建立的索引是聚簇索引。
create unique index id_index on teacher(id asc);
对teacher表的id列建立unique索引,索引名为id_index
索引的删除:
DROP INDEX <索引名> ON <表名>
drop index id_index on teacher;
在teacher表中删除索引,索引名为id_index
另外的方法:
新建索引:
ALTER TABLE <表名> ADD [UNIQUE]|[CLUSTER] INDEX [<索引名>](<列名> [<次序>],[<列名> [<次序>]]……)
alter table teacher add unique index id_index(id asc);
在teacher表中对id列升序建立unique索引,索引的名字为id_index
删除索引:
ALTER TABLE <表名> DROP INDEX <索引名>
alter table teacher drop index id_index;
删除teacher表名为id_index的索引
数据库索引的建立有利也有弊,参考文章:
数据库索引的作用和优点缺点(一)
数据库索引的作用和优点缺点(二)
数据库建立索引的原则
数据查询:
SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>]……
FROM <表名或视图名> [<表名或视图名>]……
[WHERE <条件表达式>]
[GROUP BY <列名1> [HAVING <条件表达式>]]
[ORDER BY <列名2> [ASC|DESC] [,<列名3> [ASC|DESC]]……];
查询经过计算的值:
select teacherId as id,salary - 100 as S from teacher;
查询经过计算的值,从teacher表中查询出teacherId字段,别名为id,并且查询出salary字段减去100后的字段,别名为S
使用函数和字符串:
select teacherid as id,'birth',salary - 20 as SA, lower(name) from teacher;
<目标表达式>可以是字符串常量和函数等,'birth' 为字符串常量,lower(name)为函数,将name字段以小写字母形式输出
消除取值重复的行:
select distinct name from teacher;
如果没有指定DISTINCT关键词,则缺省为ALL.
查询满足条件的元组:
WHERE子句常用的查询条件:
查询条件
谓词
比较
=, >, <, >=, <=, !=, <>, !>, !<
确定范围
BETWEEN AND, NOT BETWEEN AND
确定集合
IN, NOT IN
字符匹配
LIKE, NOT LIKE
空值
IS NULL, IS NOT NULL
多重条件(逻辑运算)
AND, OR, NOT
(1)比较大小:
select * from teacher where name = 'test';
select * from teacher where salary > 500;
select * from teacher where salary <> 500;
(2)确定范围:
select * from teacher where salary between 300 and 1000;
select * from teacher where salary not between 500 and 1000
(3)确定集合
select * from teacher where name in('test','test2');
select * from teacher where name not in('test','test2');
(4)字符匹配:
[NOT] LIKE '<匹配串>' [ESCAPE '<换码字符>']
<匹配串>可以是一个完整的字符串,也可以含有通配符%和_
%代表任意长度(长度可以是0)的字符。例如a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab
_代表任意单个字符。例如a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串。
select * from teacher where name like '%2%‘;
select * from teacher where name like '_e%d';
注意一个汉字要占两个字符的位置。
(5)涉及空值查询:
select * from teacher where name is null;
select * from teacher where name is not null;
注意这里的"is"不能用符号(=)代替。
(6)多重条件查询:
select * from teacher where name = 'test' and salary between 400 and 800;
select * from teacher where name like '%s%' or salary = 500;
ORDER BY子句:
ORDER BY 子句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列,缺省值为(ASC)
select salary from teacher order by salary asc;
select * from teacher order by name desc,salary asc;
猜你喜欢
- 技巧之一:提高使用Request集合的效率 访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的
- 在以前的日志中讲了怎么制作验证码,这篇就讲讲怎么给验证码加上起干扰效果的杂点。 其实很简单,首先做一个
- 很早以前就有很多关于用CSS制作的相册,今天突然想看又找不到,反正也无聊,自己做了一下,结果做一下发现自己温习了一些东西。还行,
- 【原文地址】 Tip/Trick: How to upload a .SQL file to a Hoster and
- 和设计师打过交道的人一定也见到过少数极品,不是扎着小辫子留着小胡子,就是剃了光头抽根烟,通常说起来一套一套的人作品都很一般般,而作品一般般的
- 1、纯粹的截取字符串function cutstr(thestr1,strlen) dim l,t,c&nbs
- 在使用DB2以来,碰到了几次出现提示SQL1032N错误,每次出错时出错信息大概如下:11/21/2004 22:15:33 0 0 SQL
- 来自Usability Post的Categories vs Tags作者认为“就博客而言,标签没有太大意义。”I don’t think
- 在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度也成为广大数据库用户所
- 将来电脑的大显示屏会越来越普及,并且从现在web设计作品中能观察到两点趋势:页面布局普遍更宽;页面内容文字普遍更大。使用1280×800和1
- 在SQL Server数据库管理中,针对分析服务Analysis Services 的性能优化必不可少,这里我们将学习到使用DMV来进行An
- 一段查看ASP文件源码的ASP程序,需要的朋友可以试试!<% SUB PrintLine (ByVal
- 下面是IN条件运算符的SQL语句:SELECT column1, SUM(column2) FROM&nbs
- 一直以来,JS前端代码因为必须经过IE明文解析,某些加密的JS如:JScript.Encode也因为树大招风,早就被人破解了。还有些加密的手
- CSS与JS紧密配合,为我们的页面增添了很多别致的效果。为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属
- 在面向对象的编程中,很多语言都支持函数重载,能根据函数传递的不同个数、类型的参数来做不同的操作,JS对它却不支持,需要我们额外做些小动作。在
- 一直很想就搜索结果页写一些心得文章出来,甚至连目录都整理好了可是就是一直没有动手。因为总是觉得还差很多东西需要研究需要分析需要验证。最近也组
- 方法一 <%dim total(7,3) total(1,0)="ASP之家"&n
- 当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这
- [root@vm1 ~]# rpm -ivh groundwork-foundation-pro-1.6.1-67.noarch.rpm P