SQLServer 数据库语法有哪些呢
SQLServer 数据库语法有哪些呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
--数据控制
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限--事务控制
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET TRANSACTION --定义当前事务数据访问特征
--程序化SQL
DECLARE --为查询设定游标
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
PREPARE --为动态执行准备SQL 语句
EXECUTE --动态地执行SQL 语句
DESCRIBE --描述准备好的查询
---局部变量declare @id char(10)--set @id = '10010001'select @id = '10010001'
---全局变量---
必须以@@开头
--IFELSEdeclare@xint@yint@zintselect@x=1@y=2@z=3if@x>@yprint'x>y'--打印字符串'x>y'elseif@y>@zprint'y>z'elseprint'z>y'
--CASEusepanguupdateemployeesete_wage=casewhenjob_level='1'thene_wage*1.08whenjob_level='2'thene_wage*1.07whenjob_level='3'thene_wage*1.06elsee_wage*1.05end
--WHILECONTINUEBREAKdeclare@xint@yint@cintselect@x=1@y=1while@x<3beginprint@x--打印变量x的值while@y<3beginselect@c=100*@x+@yprint@c--打印变量c的值select@y=@y+1endselect@x=@x+1select@y=1end
--WAITFOR--例等待1小时2分零3秒后才执行SELECT语句waitfordelay'01:02:03'select*fromemployee--例等到晚上11点零8分后才执行SELECT语句waitfortime'23:08:00'select*fromemployee
***SELECT***
select*(列名)fromtable_name(表名)wherecolumn_nameoperatorvalueex:(宿主)select*fromstock_informationwherestockid=str(nid)stockname='str_name'stocknamelike'%findthis%'stocknamelike'[a-zA-Z]%'---------([]指定值的范围)stocknamelike'[^F-M]%'---------(^排除指定范围)---------只能在使用like关键字的where子句中使用通配符)orstockpath='stock_path'orstocknumber<1000andstockindex=24notstock***='man'stocknumberbetween20and100stocknumberin(10,20,30)orderbystockiddesc(asc)---------排序,desc-降序,asc-升序orderby1,2---------by列号stockname=(selectstocknamefromstock_informationwherestockid=4)
--------- 子查询--------- 除非能确保内层select只返回一个行的值,--------- 否则应在外层where子句中用一个in限定符
select*fromtable1,table2wheretable1.id*=table2.id--------左外部连接,table1中有的而table2中没有得以null表示table1.id=*table2.id--------右外部连接selectstocknamefromtable1union[all]-----union合并查询结果集,all-保留重复行selectstocknamefromtable2
***insert***
insertintotable_name(Stock_name,Stock_number)value("xxx","xxxx")value(selectStockname,StocknumberfromStock_table2)---value为select语句
***update***
updatetable_namesetStockname="xxx"[whereStockid=3]Stockname=defaultStockname=nullStocknumber=Stockname+4
***delete***
deletefromtable_namewhereStockid=3truncatetable_name-----------删除表中所有行,仍保持表的完整性droptabletable_name---------------完全删除表
***alter table*** --- 修改数据库表结构
altertabledatabase.owner.table_nameaddcolumn_namechar(2)null.....sp_helptable_name----显示表已有特征createtabletable_name(namechar(20),agesmallint,lnamevarchar(30))insertintotable_nameselect.........-----实现删除列的方法(创建新表)altertabletable_namedropconstraintStockname_default----删除Stockname的default约束
----统计函数----
AVG --求平均值COUNT --统计数目MAX --求最大值MIN --求最小值SUM --求和
--AVGusepanguselectavg(e_wage)asdept_avgWagefromemployeegroupbydept_id--MAX--求工资最高的员工姓名usepanguselecte_namefromemployeewheree_wage=(selectmax(e_wage)fromemployee)
----日期函数----
DAY()--函数返回date_expression_r中的日期值MONTH()--函数返回date_expression_r中的月份值YEAR()--函数返回date_expression_r中的年份值DATEADD(,,)--函数返回指定日期date加上指定的额外日期间隔number产生的新日期DATEDIFF(,,)--函数返回两个指定日期在datepart方面的不同之处DATENAME(,)--函数以字符串的形式返回日期的指定部分DATEPART(,)--函数以整数值的形式返回日期的指定部分GETDATE()--函数以DATETIME的缺省格式返回系统当前的日期和时间
----系统函数----
APP_NAME()--函数返回当前执行的应用程序的名称COALESCE()--函数返回众多表达式中第一个非NULL表达式的值COL_LENGTH(<'table_name'>,<'column_name'>)--函数返回表中指定字段的长度值COL_NAME(,)--函数返回表中指定字段的名称即列名DATALENGTH()--函数返回数据表达式的数据的实际长度DB_ID(['database_name'])--函数返回数据库的编号DB_NAME(database_id)--函数返回数据库的名称HOST_ID()--函数返回服务器端计算机的名称HOST_NAME()--函数返回服务器端计算机的名称IDENTITY([,seedincrement])[AScolumn_name])--IDENTITY()函数只在SELECTINTO语句中使用用于插入一个identitycolumn列到新表中ISDATE()--函数判断所给定的表达式是否为合理日期ISNULL(,)--函数将表达式中的NULL值用指定值替换ISNUMERIC()--函数判断所给定的表达式是否为合理的数值NEWID()--函数返回一个UNIQUEIDENTIFIER类型的数值NULLIF(,)--NULLIF函数在expression_r1与expression_r2相等时返回NULL值若不相等时则返回expression_r1
看完上述内容,你们掌握SQLServer 数据库语法有哪些呢的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。