SQLServer 数据库语法有哪些呢

51次阅读
没有评论

共计 4568 个字符,预计需要花费 12 分钟才能阅读完成。

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

— 全局变量 —

必须以 @@开头

--IF ELSE declare @x int @y int @z int select @x = 1 @y = 2 @z=3 if @x   @y print  x   y  -- 打印字符串 x   y  else if @y   @z print  y   z  else print  z   y
--CASE use pangu update employee set e_wage = case when job_level =  1  then e_wage*1.08 when job_level =  2  then e_wage*1.07 when job_level =  3  then e_wage*1.06 else e_wage*1.05 end
--WHILE CONTINUE BREAK declare @x int @y int @c int select @x = 1 @y=1 while @x   3 begin print @x -- 打印变量 x   的值  while @y   3 begin select @c = 100*@x + @y print @c -- 打印变量 c   的值  select @y = @y + 1 end select @x = @x + 1 select @y = 1 end
--WAITFOR -- 例   等待 1   小时 2   分零 3   秒后才执行 SELECT  语句  waitfor delay  01:02:03  select * from employee -- 例   等到晚上 11  点零 8   分后才执行 SELECT  语句  waitfor time  23:08:00  select * from employee

***SELECT***

select *(列名) from table_name(表名) where column_name operator value ex:(宿主) select * from stock_information where stockid = str(nid) stockname =  str_name  stockname like  % find this %  stockname like  [a-zA-Z]%  --------- ([] 指定值的范围) stockname like  [^F-M]%  --------- (^ 排除指定范围) ---------  只能在使用 like 关键字的 where 子句中使用通配符 ) or stockpath =  stock_path  or stocknumber   1000 and stockindex = 24 not stock*** =  man  stocknumber between 20 and 100 stocknumber in(10,20,30) order by stockid desc(asc) ---------  排序,desc- 降序,asc- 升序  order by 1,2 --------- by 列号  stockname = (select stockname from stock_information where stockid = 4)

——— 子查询 ——— 除非能确保内层 select 只返回一个行的值,——— 否则应在外层 where 子句中用一个 in 限定符

select *from table1, table2 where table1.id *= table2.id --------  左外部连接,table1 中有的而 table2 中没有得以 null 表示  table1.id =* table2.id --------  右外部连接  select stockname from table1 union [all] ----- union 合并查询结果集,all- 保留重复行  select stockname from table2

***insert***

insert into table_name (Stock_name,Stock_number) value (xxx , xxxx) value (select Stockname , Stocknumber from Stock_table2)---value 为 select 语句 

***update***

update table_name set Stockname =  xxx  [where Stockid = 3] Stockname = default Stockname = null Stocknumber = Stockname + 4

***delete***

delete from table_name where Stockid = 3 truncate table_name -----------  删除表中所有行,仍保持表的完整性  drop table table_name ---------------  完全删除表 

***alter table*** — 修改数据库表结构

alter table database.owner.table_name add column_name char(2) null ..... sp_help table_name ----  显示表已有特征  create table table_name (name char(20), age smallint, lname varchar(30)) insert into table_name select ......... -----  实现删除列的方法(创建新表) alter table table_name drop constraint Stockname_default ----  删除 Stockname 的 default 约束 

—- 统计函数 —-

AVG – 求平均值 COUNT – 统计数目 MAX – 求最大值 MIN – 求最小值 SUM – 求和

--AVG use pangu select avg(e_wage) as dept_avgWage from employee group by dept_id --MAX -- 求工资最高的员工姓名  use pangu select e_name from employee where e_wage = (select max(e_wage) from employee)

—- 日期函数 —-

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([, seed increment]) [AS column_name]) --IDENTITY()  函数只在 SELECT INTO  语句中使用用于插入一个 identity column 列到新表中  ISDATE() -- 函数判断所给定的表达式是否为合理日期  ISNULL(, ) -- 函数将表达式中的 NULL  值用指定值替换  ISNUMERIC() -- 函数判断所给定的表达式是否为合理的数值  NEWID() -- 函数返回一个 UNIQUEIDENTIFIER  类型的数值  NULLIF(, ) --NULLIF  函数在 expression_r1  与 expression_r2  相等时返回 NULL  值若不相等时则返回 expression_r1

看完上述内容,你们掌握 SQLServer 数据库语法有哪些呢的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计4568字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)