码迷,mamicode.com
首页 > 数据库 > 详细

常用SQL语句收藏 <二>

时间:2015-08-28 13:32:31      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:sql 常用操作收藏   sql server   

创建下表

create table dbo.class_bak
(
Name  nvarchar(25) NOT NULL DEFAULT 'abc' primary key,
studentnumber int DEFAULT 0
);
insert into .class_bak (studentnumber) values(23)  :则插入的值col1的默认值就是abc.
复制一个表的结构到一个新表.
select * into class_bak from class where 1=2  :复制一个表为另一个表,如果不导数据,就将条件置为1=2即可.
显示某表的建表语句:
ORACLE: desc table_name
INFORMIX: dbschmea 
SQLSERVER:

修改:

Alter table class_bak add  monitor varchar(10)  ;:增加一列
Alter table class_bak alter COLUMN montior nvarchar(10) :修改一列
Alter table class_bak drop COLUMN monitor ;:删除一列
删除表: Drop table class_bak

创建索引

用于在查询数据时,加快查询速度,
create  UNIQUE  index idx1_class on class(class) 在字段class上创建唯一索引,即插入时,该字段不允许重复.名称为idx_class
insert into class (class,teacher) values('gaoer','lisi'); 此插入语句执行第二次将会失败.
删除索引: drop index idx1_class on class
索引的重新生成,重新组织:当一个表经过多次修改,插入,删除后,需要重建索引,以便以后可提高查询效率.但重建的过程是较为消耗资源的.在SCP等业务繁忙的机器上,一定要选择合适的时间段才能重建索引.
ALTER INDEX idx_class on class REBUILD
重新生成索引将会删除并重新创建索引。这将根据指定的或现有的填充因子设置压缩页来删除碎片、回收磁盘空间,然后对连续页中的索引行重新排序。 
ALTER INDEX idx_class on class REORGANIZE 
使用最少系统资源重新组织索引。 


索引技巧和调优:


查询语句中,对于字符串型的字段,一定要用单引号括起来,对于整型不要用引号,对于日期型的字段,目前暂无定论,是否会对性能有影响.可进一步跟踪.
尽量不要用in子句,那样的话无法使用索引,导致查询效率低下,可以改用UNION来连接多个查询.这样可以提高效率.
多个查询条件,应该将过滤多的带索引的字段的条件放在前面.
查询条件中尽量用等号,不要用大于,小于等,那样可能会用不上索引.
在全部查询出所有结果时,要求带上条件1=1,可以避免使用索引,提高效率.

创建存储过程

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
CREATE PROCEDURE [dbo].[get_avage_age] 
	-- Add the parameters for the stored procedure here
	@class_name nchar(10),
	@CheckDate [datetime]
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	select avg(age) from student where class=@class_name and born<@CheckDate
    -- Insert statements for procedure here	
END

执行:
USE [gaotest]
GO

DECLARE	@return_value int

EXEC	@return_value = [dbo].[get_avage_age]
		@class_name = 'gaosan',
		@CheckDate = '2009-01-01'

SELECT	'Return Value' = @return_value
GO
删除存储过程:
Drop procedure get_avage_age;




版权声明:本文为博主原创文章,未经博主允许不得转载。

常用SQL语句收藏 <二>

标签:sql 常用操作收藏   sql server   

原文地址:http://blog.csdn.net/yxh1157686920/article/details/48047895

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!