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;


猜你喜欢
- 本文实例讲述了Python tkinter事件高级用法。分享给大家供大家参考,具体如下:先来看看运行效果:完整实例代码:# -*- codi
- 前言 1.实验环境: Python 3.6;2.示例代码地址:下载示例; 3.本文中元素是指列表、元组、字典等集合类数据类型中的下一级项目(
- 是否看见大站的广告都是放在内容中间实现文字环绕的呢,一般普通小站广告只能放在内容开头或者结尾,也许大站的cms系统带这个功能吧,我们小站常用
- 本文实例为大家分享了js+css实现换肤效果的具体代码,供大家参考,具体内容如下效果图如下:需求:点击对应小圆点,下面内容颜色跟着改变主要思
- Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。这篇文章使用tk
- 在MySQL 8.0.16版本中安装可能会出现部分错误提示已经不使用“UTF8B3”而是使用了“UTF8B4”#//////////////
- 一、安装配置PHP1、下载Php的版本zip包之后,解压缩到指定目录。下载地址:http://www.php.net/downl
- 代码如下: <!-- #include file="../conn.asp" --> <!-- #in
- 计数器(Counter)是一个非常常用的功能组件,这篇blog以未读消息数为例,介绍了在 Django中实现一个高性能计数器的基本要点。故事
- 代码如下:function checkip(checkstring)'用正则判断IP是否合法 dim re1 set re1=new
- 最近看到了两行 JavaScript 代码,很受启发。1. 封装 DOM 属性在 JavaScript 中,我们可以获取HTML元素的属性值
- 前文介绍了Oracle 中实现数据透视表的几种方法,今天我们来看看在 MySQL/MariaDB 中如何实现相同的功能。本文使用的示例数据可
- MySQL 中,可以为某张表指定多个索引,但在语句具体执行时,选用哪个索引是由 MySQL 中执行器确定的。那么执行器选择索引的原则是什么,
- 1从SQLServer导出数据 执行BCP: bcp "..." queryout "F:\test.txt&
- 容我废话一下最近几个月,毒教材被曝光引发争议,那些编写度教材的人着实可恶。咱程序员也没有手绘插画能力,但咱可以借助强大的深度学习模型将视频转
- 零、前言python代码中配置文件是必不可少的内容。常见的配置文件格式有很多中:ini、yaml、xml、properties、txt、py
- 简介: tempdb是SQLServer的系统数据库一直都是SQLS
- 先声明一下,这是本人在某个项目中用到的,本人自己写的,如有雷同纯属巧合。同时也欢迎高人指正。这种星级的投票效果很常见,但是目前线上大多都是通
- asp.net MVC中Action参数不只是一些基本类型,也支持实体参数。那么从客户端传来的数据如何映射或转换成实体对象呢?就是通过实体绑
- 讲这个方法之前,我们应该先了解下插入节点时浏览器会做什么。在浏览器中,我们一旦把节点添加到document.body(或者其他节点)中,页面