sql创建数据库语句

创建数据库的SQL语句:createatabasestuDBonprimary--默认属于主文件组,可以省略(/*--数据文件具体描述--*/name='stuDB_data',--主文件组的逻辑名称filenamedata='D:\stuDB_data.mdf',--主数据文件物理名称size=5mb,--主数据文件初始大小maximumsize=100mb,--主数据文件增长最大增长值file=15%--主数据文件的增长率)logon(/*--日志文件详细说明,各参数含义同上--*/name='stuDB_log',filename='D:\StuDB_log.ldf',size=2mb,filegrowth=1mb)创建和删除表的SQL语句如下:useStuDBgoifexists(select*fromsysobjectswherename='stuMarks')droptablestuMarkscreatetablestuMarks(ExamNointidentity(1,1)primarykey,stuNochar(6)notnull,writingExamintnotnull,LabExamintnotnull)go--其中列属性“identity(初始值,增量)”表示该列“ExamNo”自动编号,也称为列标识al表名tertableaddconstraint约束名称类型约束类型具体约束变量表描述名称dropconstraint约束名称altertablestuMarksaddconstraintUQ_stuNoUnique(stuNo)altertablestuMarksdropconstraintUQ_stuNo/*--添加SQL登录帐户--*/execsp_addlogin'xie','123456'--帐户名为xie,说路径为123456--删除账户名xieexecsp_droplogin'xie'/*--在stuDB数据库中添加两个用户(必须存在)--*/usestuDBgoexecsp_grantdbaccess'xie','123456'go--提示:SQLServer中的用户dbo是具有执行所有权限的用户数据库中的活动,示数据库的所有者一般情况下,如果某个数据库是该数据库的所有者,即dbo用户,dbo用户是一个特殊的号码。
数据库用户无法删除,并且该用户始终出现在每个数据库中/*--允许数据库用户--*/--授权语法如下--向数据库用户授予[对表名]的权限usingtuDBgograntselect,update,insertonstuMarkstoxiegrantcreatetabletoxiego

SQL数据库中常用的一些语句。。。归类下

1.基础知识1.说明:创建数据库Database-name2。
说明:DROPDATABASEDELETEDATABASEDbname3。
备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:\mssql7backup\MyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4,说明:新建表createtabletabname(col1type1[notnull][PrimaryKey],Col2Type2[NotNull],..)基于现有表创建新表:A:createtabletab_newliketab_old(使用旧表创建新表)B:createtabletab_newasselectcol1,col2...fromtab_olddefinitiononly5。
描述:删除新表DropTableTabName6。
描述:添加列altertabletabnameaddcolumncoltype注意:一旦添加列,就无法删除。
在DB2中,添加列后无法更改数据类型。
唯一可以改变的是增加varchar类型的长度。
7.说明:添加主键:AltertabletabnameaddPrimarykey(col)说明:删除主键:Altertabletabnamedropprimarykey(col)8.说明:创建索引:create[unique]indexidxnameontabname(col....)删索引:dropindexidxname注:未建立索引可以更改,如果要更改则必须删除并重建。
9.说明:创建视图:createviewviewnameasselectstatement删除视图:dropviewviewname10.说明:几个简单的基本SQL语句select:selectfromtable1where范围插入:insertintotable1(field1,field2)values(v)alue1,value2)删除:deletefromtable1where范围更新:updatetable1setfield1=value1where范围搜索:select*fromtable1wherefield1like'%value1%'---like的语法很完美,查资料:sort*by!table1orderbyfield1,field2[desc]总计:selectcountattotalcountfromtable1sum:selectsum(field1)asminvaluefromtable1平均值:selectavg(field1)asamvaluefromtable1最大值:单元格ectmax(field1)asmaxvaluefromtable1最小值:selectmin(field1)asminvaluefromtable111。
描述:多个高级查询运算符A:UNION运算符UNION运算符的工作原理是连接另外两个结果表(例如TABLE1和TABLE2)并删除表中的任何重复行以形成一个结果表。
当ALL与UNION一起使用时(即UNIONALL),重复的行不会被消除。
在这两种情况下,派生表中的每一行都来自TABLE1或TABLE2。
B:EXCEPT运算符EXCEPT运算符通过包含TABLE1中但TABLE2中不存在的所有行来获取结果表,并删除所有重复行。
当ALL与EXCEPT(EXCEPTALL)一起使用时,不会消除重复行。
C:INTERSECT运算符INTERSECT运算符仅通过连接TABLE1和TABLE2中存在的行并删除所有重复行来获取结果表。
当ALL与INTERSECT(INTERSECTALL)一起使用时,不会消除重复行。
注意使用运算符词的多个查询结果行必须保持一致。
12、说明:外连接A、使用LeftOuterJoin:左外连接(LEFTJOIN):结果集包括被连接表的匹配行,也包括左连接表的所有行。
SQL:SELECT.A.A.B.A.C.B.C.B.D.B.FROMLEFTOUTJOINBONA.A=B.CB:RIGHTOUTERJOIN:RIGHTOUTERJOIN(RIGHTJOIN):连接结果集中包含两个匹配连接行的表。
C:FullOuterJoin:完全外连接:这不仅包括符号连接表的匹配行,还包括两个连接表的所有记录。
2.改进1.说明:复制表(仅复制结构,源表名:新表名:B)(可访问)方法一:选择*intobfromawhere1<>1方法二:选择top0*intobfroma2说明:复制表(复制数据,源表名:a的名称)目标表:B)(可以访问)INSERTINTO(A)。
,b,c)从b中选择,e,f;3。
描述:在数据库之间复制表(使用特定数据的完整路径)(可访问)insertintob(a,b,c)selectd,e,frombin‘特定数据库’示例where条件:..frombin''&Server.MapPath('')&"\data.mdb"&"'where..4.说明:子查询select(表名1:a表名2:b),b,cfromwherein(selectedfromb)或:selectb,cfromwherein(1,2),3)5.描述:显示文章、演讲者和最后回复时间。
title,a.username,b.adddatefromtablea,(selectmax(adddate)adddatefromtablewheretable.title=a.title)b6:外连接查询(表名1:表名。
2:b)selecta.a,a.b,a.c,b.fromaLEFTOUTJOINbONa.a=b.c7说明:在线查看查询(表名1:a)Select*from(SELECTa,b,cFROMa)Twheret.a>1;8限制查询数据范围时,包含范围值,notBetween不包含select*fromtable1where如何使用timeBetweentime1andtime2selecta,b,c,fromtable1whereanotBetweenvalue1andvalue29.select*fromtable1wherea[not]in('value1','value2','value6')10.描述:两个相关的表,删除其中的信息主表删除副表中没有的fromtable1wherenotexists(select*fromtable2wheretable1.field1=table2.field1)11.描述:四表联合查询问题:Select*fromaleftinnerjoinbona.a=b.brightinnerjoincona.a=c.cinnerjoindona.a=d.dwh这里....12。
说明:日程提前五分钟提醒您。
SQL:从时间表中选择,其中dated('分钟',f开始时间,getdate())>513。
说明:一条SQL语句完成数据库分页selecttop10b。
*from(selecttop20主键field,fielddesc)a,按表名顺序排序。
表名bwhereb。
主键字段orderbya。
排序字段14.描述:选择前10条记录top10*formtable1whereRange15.描述:选择每组数据中a最大且b值信息相同的所有记录(如用于每月论坛排名、每月热销产品)分析,可用于按主题性能等进行排名)select,b,cfromtabnametawherea=(selectmax(a)fromtablenametbwheretb.b=ta.b)16.语句:将TableA中但TableB和TableC中没有的所有行连接起来,并去除所有重复行,得到结果表(selectafromtableA)except(selectafromtableB)except(selectafromtableC)17.语句:随机选择10条数据,settop10*fromtablenameorderbynewid()19.描述:删除重复记录Deletefromtablenamewhereidnotin(selectmax(id)fromtablenamegroupbycol1,col2,...)20.说明:按库中所有表名列出编号Selectnamefromsysobjectswheretype='U'23,说明:INITIALIZEtabletable1TRUNCATETABLEtable124,说明:从top5*中选择10到15条记录from(selecttop15*fromtableorderbyidasc)table_aliasorderbyiddesc