热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

MSSQLServer数据库语法

--数据操作SELECT--从数据库表中检索数据行和列INSERT--向数据库表添加新数据行DELETE--从数据库表中删除数据行UPDATE--更新数据库表中的数据--数据定义CREATETABLE--创建一个数据库表DROPTABLE--从数据库中删除表ALTERTABLE--修改数据库

--数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库

  --数据操作

  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

推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 梦幻西游挖图奇遇:70级项链意外触发晶清诀,3000W轻松到手
    在梦幻西游中,挖图是一项备受欢迎的活动,无论是小宝图还是高级藏宝图,都吸引了大量玩家参与。通常情况下,小宝图的数量保证了稳定的收益,但特技装备的出现往往能带来意想不到的惊喜。本文讲述了一位玩家通过挖图获得70级晶清项链的故事,最终实现了3000W的游戏币逆袭。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 邮件(带附件,模拟文件上传,跨服务器)发送核心代码1.测试邮件发送附件接口***测试邮件发送附件*@parammultipartFile*@return*@RequestMappi ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
author-avatar
ynyx六五
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有