① sql语句中怎么修改 索引
我觉得应该不能修改索引吧。。创建索引的目的是为了提高查询效率,是对于某个具体属性而建立的,如果用户觉得这个索引不适合,或者说这个索引创建的不好,那么可以删除索引,重新再创建一个索引。某个属性创建索引不适合,可以把该索引删掉,再在另外的属性上创建一个索引,因此应该就没有必要再设计一个可以创建索引的方法或语句。删除后再创建一个索引可以达到这样的效果。
要不你把题目仔细说一下。。有试过搭配用desc来达到降序的目的吗
② Sql server如何为表A的B字段创降序索引
CREATE INDEX IND_A_B_DESC ON A(B DESC);
③ sql server 怎么建立索引
创建索引:
(1)在SQL Server Management Studio中,选择并右击要创建索引的表,从弹出菜单中选择“设计”,打开表设计器。右键单击表设计器,从弹出菜单中选择“索引/键”命令,打开“索引/键”对话框。对话框中列出了已经存在的索引,如下图所示。
(2)单击“添加”按钮。在“选定的主/唯一键或索引”框显示系统分配给新索引的名称。
(3)在“列”属性下选择要创建索引的列。可以选择多达16列。为获得最佳性能,最好只选择一列或两列。对所选的每一列,可指出索引是按升序还是降序组织列值。
(4)如果要创建唯一索引,则在“是唯一的”属性中选择“是”。
(5)设置完成后,单击“确定”按钮。
(6)当保存表时,索引即创建在数据库中。
使用CREATE INDEX语句创建索引:
复制内容到剪贴板
代码:
CREATE[ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX索引名
ON {表名|视图名} (列名[ ASC | DESC ] [ ,...n ] )
例:
在数据库HrSystem中为表Employees创建基于IDCard列的唯一索引IX_Employees,可以使用以下命令:
复制内容到剪贴板
代码:
USE HrSystem
GO
CREATE UNIQUE NONCLUSTERED INDEX [IX_Employees]ONdbo.Employees(IdCard)
GO
例:
为表Employees创建基于列IDCard的唯一、聚集索引IX_Employees1,可以使用以下命令:
复制内容到剪贴板
代码:
USE HrSystem
GO
CREATE UNIQUE CLUSTERED INDEX [IX_Employees1] ON [dbo].[Employees](IdCard)
GO
需要注意的是,在一个表中只允许存在一个聚集索引。因此,如果表Employees中已经存在一个聚集索引,则执行上面的语句时将会提示下面的错误信息。
消息1902,级别16,状态3,第1行
无法对表'dbo.Employees'创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引'PK__Employee__263E2DD300551192'。 例:
对表Employees的列Emp_name按照降序创建索引,可以使用以下命令:
复制内容到剪贴板
代码:
USE HrSystem
GO
CREATENONCLUSTERED INDEX [IX_Employees2] ON [dbo].[Employees]
(
[Emp_name] DESC
)
GO
在CREATE INDEX语句中使用INCLUDE子句,可以在创建索引时定义包含的非键列,其语法结构如下:
复制内容到剪贴板
代码:
CREATENONCLUSTERED INDEX 索引名
ON { 表名| 视图名 } ( 列名 [ ASC | DESC ] [ ,...n ] )
INCLUDE (<列名1>, <列名2>, [,… n])
例: 在表Employees上创建非聚集索引IX_Wage,索引中的键列为Wage,非键列为Emp_name、Sex和Title,具体语句如下:
复制内容到剪贴板
代码:
USEHrSystem
GO
CREATENONCLUSTERED INDEX IX_Wage
ON Employees ( Wage )
INCLUDE (Emp_name, Sex, Title)
GO
例: 在创建索引IX_Wage后,当表Employees中的数据量比较大时,执行下面的SELECT语句将会明显地改进查询效率。
复制内容到剪贴板
代码:
USEHrSystem
GO
SELECTEmp_name, Sex, Title, Wage
FROMEmployees
WHEREWage BETWEEN 1000 AND 3000
GO
④ 在数据库中如何用select-sql给相应的数据排序从高到低
1、打开一个Access数据库软件,可以打开已创建好的数据库,使用表设计工具,创建一个表,如下图所示。
⑤ Oracle数据库,sql语句查询怎么正确的降序显示
字段类型的问题,你表里字段的数据是数字,但是字段类型应该不是,将字段类型转换为数字,直接排序就可以了
select * from 表名 t
order by to_number(字段名) desc
⑥ sql如何建立降序索引 和删除索引
建立降序索引语法:
createindex索引名on表名(字段名desc);
注:desc换成asc则是升序索引。
删除索引语法:
dropindex索引名;
(6)sql数据库表索引降序设置扩展阅读:
索引的使用及注意事项御哗
尽量避免这些不走索引的sql:
1、SELECT `sname` FROM `stu` WHERE `age`+10=30;不会使用索引,因为所有索引列参与了计算。
2、SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990; 不会使用索引,因为使用了函数运算,原理与上面相同。
3、SELECT * FROM `hounwang` WHERE `uname` LIKE'后盾%' 走索引。
4、SELECT * FROM `hounwang` WHERE `uname` LIKE "%后盾%"不走索引。镇兆行
5、字符串与数字比较不使用索引;
CREATE TABLE `a` (`a` char(10));
EXPLAIN SELECT * FROM `a` WHERE `a`="1"走索引。
EXPLAIN SELECT * FROM `a` WHERE `a`=1 不猜局走索引
参考资料:网络索引
⑦ sql查询数据库最后10条记录按降序如何排列
SELECTTOP10FROM表名ORDERBY排序列DESC;
SQL的执行顺序先按照你的要求排序,然后才返回查询的内容。例如有一个名为ID自动增长的列,表中有100条数据,列的值得分别是1、2、3、4???9、99、100。那么查询加了DESC你得到的是91到100条,就是最后十条,如果加ASC你得到的将会是1到10,也就培岁是最前面的那几扰冲条。
⑧ 怎样按降序建立唯一索引表
如果计划频繁查询 employee 表(其中主键为 emp_id)的社会保障号 (ssn)列,而且希望确保社会保障号野扰是唯一的,则可在 ssn 上创建唯一索引。如果用户为一个以上的雇员输入相同的社会保障号,数据库会显示错误而且无法保存该表。当创建或修改唯一索引时,可设置一个忽略重复键的选项。如果此选项设置为“是”,那么当您试图通过添加或更新(用 INSERT 或 UPDATE 语句)影响多行的数据来创建重复键时,将不会添加包含重复项的行(对于更新操作将放弃包含重复项的行)。如果此选项设置为“否”,则整个批插入或更新操作将失败,并且将回滚所有数据。注意显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,伏脊渣请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。创建唯一索引在服务器资源管理器中选择要打开的数据库表。从“数据库”菜单中单击“打开表定义”。该表在“表设计器”中打开。从“表设计器”菜单中单击“索引/键”。单击“添加”。“选定的主/唯一键或索引”列表将显示新索引的系统分配名称。在网格中单击“类型”。从属性右侧的下拉列表中选择“索引”。在“列名”之下选择要进行索引的列。最多可选择 16 列缺悄。为获得最佳性能,每个索引仅选择一列或两列。对于所选的每一列,指出索引以升序还是降序排列该列的值。在网格中单击“是唯一的”。从属性右侧的下拉列表中选择“是”。如果希望忽略会在索引中创建重复键(用 INSERT 或 UPDATE 语句)的新数据或更新数据,请选择“忽略重复键”选项。保存表或关系图时将在数据库中创建该索引。注意如果单列在多行中包含 NULL,则无法在此单列上创建唯一索引。同样,如果列的组合在多行中包含 NULL,则无法在多个列上创建唯一索引。在进行索引时,它们被视为重复值。注意并不是所有的数据库都以相同的方式使用索引。
⑨ sql建立降序索引,该怎么解决
如果需要降序排序,使用order by desc,这是默认的,不需要设置也是降序,一般情况下按主键
⑩ 在MYSQL中怎么写SQL语句,能取到表中按ID降序排列的前五条记录
我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。
如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。
具体语法参考:
以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:
from 树懒学堂 - 一站式数据知识平台
你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
你可以设定多个字段来排序。
你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
你可以添加 WHERE…LIKE 子句来设置条件。
所以,楼主所问的问题答案应该为:select ... from ... order by ID desc limit(0,5)