首页 > 常见问答

sql语句大全_sql语句入门

sql语句大全_sql语句入门

  sql即结构化查询语言(structuredquerylanguage),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。sql语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,sql查询语句就是一个典型的例子,无论是高级查询还是低级查询,sql查询语句的需求是最频繁的。那么sql语句大全有哪些呢?下面提供sql语句大全,希望对需要sql语句入门的网友有所帮助,学习一下!

基础

sql语句大全_sql语句入门

  创建数据库

  创建之前判断该数据库是否存在

  ifexists(select*fromsysdatabaseswherename=databasename_data,--主数据文件的逻辑名称

  filename=,--主数据文件的物理名称

  size=数值mb,--主数据文件的初始大小

  maxsize=数值mb,--主数据文件增长的最大值

  filegrowth=数值%--主数据文件的增长率)

  logon

  (/*--日志文件的具体描述,各参数含义同上--*/

  name=具体数据库where条件

  例子:。.frombin值1,值2,值4,值6)

  删除主表没有的信息

  两张关联表deletefromtable1wherenotexists(select*fromtable2wheretable1.field1=table2.field1

  四表联查问题

  select*fromaleftinnerjoinbona.a=b.brightinnerjoincona.a=c.cinnerjoindona.a=d.dwhere.....

  日程安排提前五分钟

  sql:select*from日程安排wheredatediff(where1=1是表示选择全部where1=2全部不选,

  如:

  if@strwhere!=and+strwhere}

  收缩数据库

  --重建索引

  dbccreindex

  dbccindexdefrag

  --收缩数据和日志

  dbccshrinkdb

  dbccshrinkfile

  压缩数据库

  dbccshrinkdatabase(dbname)

  转移数据库给新用户以已存在用户权限

  execsp_change_users_login'update_one','newname','oldname'

  go

  检查备份集

  restoreverifyonlyfromdisk='e:\dvbbs.bak'

  修复数据库

  alterdatabase[dvbbs]setsingle_user

  go

  dbcccheckdb('dvbbs',repair_allow_data_loss)withtablock

  go

  alterdatabase[dvbbs]setmulti_user

  go

  日志清除

  setnocounton

  declare@logicalfilenamesysname,

  @maxminutesint,

  @newsizeint

  usetablename--要操作的数据库名

  select@logicalfilename='tablename_log',--日志文件名

  @maxminutes=10,--limitontimeallowedtowraplog.

  @newsize=1--你想设定的日志文件的大小(m)

  --setup/initialize

  declare@originalsizeint

  select@originalsize=size

  fromsysfiles

  wherename=@logicalfilename

  select'originalsizeof'+db_name()+'logis'+

  convert(varchar(30),@originalsize)+'8kpagesor'+

  convert(varchar(30),(@originalsize*8/1024))+'mb'

  fromsysfiles

  wherename=@logicalfilename

  createtabledummytrans

  (dummycolumnchar(8000)notnull)

  declare@counterint,

  @starttimedatetime,

  @trunclogvarchar(255)

  select@starttime=getdate(),

  @trunclog='backuplog'+db_name()+'withtruncate_only'

  dbccshrinkfile(@logicalfilename,@newsize)

  exec(@trunclog)

  --wrapthelogifnecessary.

  while@maxminutes>datediff(mi,@starttime,getdate())--timehasnotexpired

  and@originalsize=(selectsizefromsysfileswherename=@logicalfilename)

  and(@originalsize*8/1024)>@newsize

  begin--outerloop.

  select@counter=0

  while((@counter<@originalsize/16)and(@counter<50000))

  begin--update

  insertdummytransvalues('filllog')

  deletedummytrans

  select@counter=@counter+1

  end

  exec(@trunclog)

  end

  select'finalsizeof'+db_name()+'logis'+

  convert(varchar(30),size)+'8kpagesor'+

  convert(varchar(30),(size*8/1024))+'mb'

  fromsysfiles

  wherename=@logicalfilename

  droptabledummytrans

  setnocountoff

  更改某个表

  execsp_changeobjectowner'tablename','dbo'

  存储更改全部表

  createproceduredbo.user_changeobjectownerbatch

  @oldownerasnvarchar(128),

  @newownerasnvarchar(128)

  as

  declare@nameasnvarchar(128)

  declare@ownerasnvarchar(128)

  declare@ownernameasnvarchar(128)

  declarecurobjectcursorfor

  select'name'=name,

  'owner'=user_name(uid)

  fromsysobjects

  whereuser_name(uid)=@oldowner

  orderbyname

  opencurobject

  fetchnextfromcurobjectinto@name,@owner

  while(@@fetch_status=0)

  begin

  if@owner=@oldowner

  begin

  set@ownername=@oldowner+'.'+rtrim(@name)

  execsp_changeobjectowner@ownername,@newowner

  end

  --select@name,@newowner,@oldowner

  fetchnextfromcurobjectinto@name,@owner

  end

  closecurobject

  deallocatecurobject

  go

  循环写入数据

  declare@iint

  set@i=1

  while@i<30

  begin

  insertintotest(userid)values(@i)

  set@i=@i+1

  有关sql语句大全的介绍就到这里,希望对大家都有所帮助!想要详细了解sql语句大全,可以继续关注sql语句入门的最新动态。

原文标题:sql语句大全_sql语句入门,如若转载,请注明出处:https://www.hb-hcdz.com/wenda/15706.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「恒驰号」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。