【网学网提醒】:网学会员为您提供SQLServer语法总结参考,解决您在SQLServer语法总结学习中工作中的难题,参考学习。
/*-----建文件夹-----*/EXECXP_CMDSHELL'MKDIRURL',[NO_OUTPUT不输出]/*建库*/IFEXISTS(SELECT*FROMSYSDATABASESWHERENAME='数据库名')DROPDATABASE数据库名GOCREATEDATABASE数据库名ONPRIMARY(NAME='数据库名_data',FILENAME='URL',FILEGROWTH=,MAXSIZE=)LOGON(NAME='数据库名_log',FILENAME='URL',FILEGROWTH=)GO/*建表*/IFEXISTS(SELECT*FROMSYSOBJECTSWHERENAME='表名')DROPTABLE表名--查看是否存在,存在就删除CREATETABLE表名(字段1数据类型是否为空[identity],--标识列---NULL为允许空NOTNULL不允许(默认为NULL)字段2数据类型是否为空[CONSTRAINTPK_约束名PRIMARYKEY],--主键字段3数据类型是否为空[CONSTRAINTUQ_约束名UNIQUE],--唯一字段4数据类型是否为空[CONSTRAINTCK_约束名CHECK(约束表达式)],--检查约束字段5数据类型是否为空[CONSTRAINTDF_约束名DEFAULT(值/表达式)],--默认约束字段6数据类型是否为空[FOREIGNKEY(列名[,列名2...])REFERENCES引用表名(引用列名[,引用列名2....])]--外键约束......)ALTERTABLE表名ADD列名列定义--在已有表中添加列ALTERTABLE表名ALTERCOLUMN列名新数据类型是否为空约束--修改列---表中有值时,数据类型不能改变也不能改小,不能改成不允许空/*插入数据*/INSERT[INTO]表名VALUES(值列表)--插入单行数据INSERT表名SELECT值列表1UNIONSELECT值列表2UNION......SELECT值列表n多行INSERT表名(列名[,列名...])SELECT(列名[,列名...])FROM表名[WHERE条件]
--插入--利用
查询插入记录/*修改数据*/UPDATE表名SET列名=更新值[,列名2=更新值2...][WHERE条件]/*删除数据*/DELETE[FROM]表名[WHERE条件]/*建约束*/ALTERTABLE表名ADDCONSTRAINT约束名表达式/*删约束*/DROPCONSTRAINT约束名/*创建视图*/CREATEVIEWVIEW_视图名视图列表/*删除视图*/DROPVIEW视图名/*创建索引*/CREATE[UNIQUE]|[clustered]|[NULLclustered]INDEXINDEX_索引名ON表名列名[,列名...]/*删除索引*/DROPINDEX表名.索引名/*-----创建登录帐号和数据库用户-----*/IFNOTEXISTS(SELECT*FROMmASter.dbo.sysLOGINsWHERELOGINNAME='登录名')BEGINEXECSP_ADDLOGIN'登录名','密码'--添加SQL登录帐号EXECSP_DEFAULTDB'登录名','数据库名'--修改登录的默认数据库END/*查询*/SELECT列名[[AS]列名别名][列名列名别名...]FROM表名[WHERE条件]SELECT表名.列名[表名.列名...]FROM表名,表名[表名...]INNERJOINLEFTJOINRIGHTJOIN//内连接、左连接、右连接/*授予用户权限*/GRANTALL|用户权限[,用户权限...]TO用户名[,用户名...]CREATE,DROP...
--用户权限包括
/*授予对象权限*/GRANTALL|对象权限[,对象权限...]ON数据库对象名TO用户名[,用户名...][WITHGRANTOPTION]--对象权限包括:
INSERT、SELECT、UPDATE、DELETE......---withgrantoptiON被授权的用户可再授权其他用户/*收回对象权限*/
REVOKEALL对象权限[,对象权限...]FROM用户名[用户名...]/*-----创建存储过程-----*/CREATEPROCPROC_存储过程名参数列表ASEXEC存储过程名参数赋值--调用存储过程/*创建事务*/BEGINTRANSACTION--开始事务COMMIT--提交事务ROLLBACK--回滚事务
数据类型转换CONVERT(数据类型,数据)比较运算符<,<=,>,>=,=,<>(或!=),!>,!<确定范围BETWEEN下限值AND上限值NOTBETWEEN下限值AND上限值确定集合IN(等同于=ANY或=ALL)NOTIN(等同于!=ANY或!=ALL)字符匹配LIKE,NOTLIKE是否空值ISNULL,ISNOTNULL布尔运算NOT,AND,OR-----优先级按此顺序----函数MAX,MIN,AVG,SUM,COUNT<--GROUPBY**HAVING-->