登陆
浏览模式: 标准 | 列表 分类: SQL

SQLServer Transact SQL全集--很实用

大鸟哥发的SQL要学习的东东

» 阅读全文

一堆以后可能用到的SQL语句

SQL代码
  1. Truncate Table x_Lei   
  2.   
  3. Update x_Num Set xLei = REPLACE(xLei,' ','');   
  4.   
  5. Insert Into x_City(CityName) Select Distinct xSheng From x_Num   
  6.   
  7. Select xQu From x_Num Where xSheng=   
  8.   
  9. Update x_City set xZip=(select Top 1 xZip from x_Num As Num where x_City.CityName =Num.xSheng)   
  10.   
  11. Update x_City set ProId=(Select Id From x_Pro where ProName=(select Top 1 xAddr from x_Num where x_City.CityName =x_Num.xSheng))   

分页存储过程

SQL代码
  1. create proc proPage(@pageid int ,@pagesize int)   
  2. as  
  3. begin  
  4. if (@pageid=1)   
  5. begin  
  6.  set rowcount @pagesize   
  7.  select * from music order by id   
  8. end  
  9. else  
  10. begin  
  11.  declare @no1 int  
  12.  declare @num int  
  13.  select @num=@pagesize*(@pageid-1)   
  14.  set rowcount @num   
  15.  select @no1=id from music order by id   
  16.   
  17.  declare @no2 int  
  18.  select @num=@pagesize*@pageid   
  19.  set rowcount @num   
  20.  select @no2=id from music order by id   
  21.     
  22.  set rowcount 0   
  23.  select * from music where id>@no1 and id<=@no2   
  24. end  
  25. end  

调用方法Exec proPage 2, 10; 肚脐mjj给我的

SQL 给表复制大量的数据

SQL代码
  1. Insert Into Music([musicname]   
  2.       ,[singer]   
  3.       SELECT [musicname]   
  4.       ,[singer]   
  5.   FROM [Music]  

测试表数据量 上次写过这次忘记了 多谢亮亮的指点

插入一条记录 得到最新的自动增加ID

我们要用到SQL Server的@@IDENTITY。它能够记录下系统最近使用的一个IDENTITY的数值,用法:
所得到的值就是刚刚插入的那条记录的ID。

 

SQL代码
  1. SQL代码   
  2. INSERT INTO [qqmusic].[dbo].[Singer]       
  3.            ([singer]       
  4.            ,[singerename]       
  5.            ,[singerabc])       
  6.      VALUES      
  7.            ('肚脐mjj','dqmjj','m')       
  8. SELECT @@IDENTITY AS 'mAXiD'     

Truncate Table

truncate是SQL中的一个删除数据表内容的语句,用法是:
TRUNCATE TABLE [table Name]。

   下面是对Truncate语句在MSSQLServer2000中用法和原理的说明:
Truncate table 表名 速度快,而且效率高,因为:
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。
对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
TRUNCATE TABLE 不能用于参与了索引视图的表。

Tags: truncate, table

刚涉及到的SQL语法 替换

UPDATE Friend set Name = REPLACE(Name,'大鸟','超级大鸟')超级简单

Tags: sql, 语法, sql语法, 替换

验证sql保留字 HTML

来自Readlog.cn大鸟哥给的小玩意儿 在写delphi进行sql数据操作的时候进这里html文件里头耍耍

DEMO地址http://www.readlog.cn/demo/html/sql.htm

XML/HTML代码
  1. <html>     
  2. <head><title>验证sql保留字</title>  
  3. <script type="text/javascript">  
  4. function isSql(objID)     
  5. {   
  6. var i,msg;   
  7. var str=document.getElementById(objID).value.toLowerCase();   
  8. var w=",action,add,aggregate,all,alter,after,and,as,asc,avg,avg_row_length,auto_increment,between,bigint,bit,binary,blob,bool,both,by,cascade,case,char,character,change,check,checksum,column,columns,comment,constraint,create,cross,current_date,current_time,current_timestamp,data,database,databases,date,datetime,day,day_hour,day_minute,day_second,dayofmonth,dayofweek,dayofyear,dec,decimal,default,delayed,delay_key_write,delete,desc,describe,distinct,distinctrow,double,drop,end,else,escape,escaped,enclosed,enum,explain,exists,fields,file,first,float,float4,float8,flush,foreign,from,for,full,function,global,grant,grants,group,having,heap,high_priority,hour,hour_minute,hour_second,hosts,identified,ignore,in,index,infile,inner,insert,insert_id,int,integer,interval,int1,int2,int3,int4,int8,into,if,is,isam,join,key,keys,kill,last_insert_id,leading,left,length,like,lines,limit,load,local,lock,logs,long,longblob,longtext,low_priority,max,max_rows,match,mediumblob,mediumtext,mediumint,middleint,min_rows,minute,minute_second,modify,month,monthname,myisam,natural,numeric,no,not,null,on,optimize,option,optionally,or,order,outer,outfile,pack_keys,partial,password,precision,primary,procedure,process,processlist,privileges,read,real,references,reload,regexp,rename,replace,restrict,returns,revoke,rlike,row,rows,second,select,set,show,shutdown,smallint,soname,sql_big_tables,sql_big_selects,sql_low_priority_updates,sql_log_off,sql_log_update,sql_select_limit,sql_small_result,sql_big_result,sql_warnings,straight_join,starting,status,string,table,tables,temporary,terminated,text,then,time,timestamp,tinyblob,tinytext,tinyint,trailing,to,type,use,using,unique,unlock,unsigned,update,usage,values,varchar,variables,varying,varbinary,with,write,when,where,year,year_month,zerofill,";   
  9. msg=w.indexOf(","+str+",")!=-1?"":"不";   
  10. alert(str+msg);   
  11. }   
  12. </script>     
  13. </head>     
  14. <body>     
  15. <h3>sql保留字验证</h3><hr>     
  16. 请输入保留字:     
  17. <input id="wd" type="text" size=8>     
  18. <input type="button" value="提交" onclick="isSql('wd');">     
  19. </body>     
  20. </html>  

Tags: 验证, sql, 保留字, html

Total:28‹ Prev123