sql server 常用语法

--1 创建数据库

1 DROP DATABASE  mydb1
2 CREATE     DATABASE mydb1 ON ( NAME =‘mydb1‘,FILENAME=‘D:\mydb1.mdf‘)
3 LOG ON (NAME=‘mydb1_log‘ ,FILENAME=‘D:\mydb1_log.ldf‘)

--示例

1 CREATE     DATABASE 高校管理系统数据库 ON ( NAME =‘mydb1‘,FILENAME=‘D:\高校管理系统数据库.mdf‘,SIZE=5MB,
2 MAXSIZE =UNLIMITED,FILEGROWTH=1MB)
3 LOG ON (NAME=‘mydb1_log‘ ,FILENAME=‘D:\高校管理系统数据库_log.ldf‘,SIZE=1MB,MAXSIZE=2GB,FILEGROWTH=10%)

--2 自定义函数

1 create function 函数名(形参名 as 数据类型)
2 returns 返回类型
3 as
4 begin
5 --函数体
6 return 表达式
7 end

--示例

1 CREATE     DATABASE Demo数据库 ON ( NAME =‘mydb1‘,FILENAME=‘D:\Demo数据库.mdf‘,SIZE=5MB,
2 MAXSIZE =UNLIMITED,FILEGROWTH=1MB)
3 LOG ON (NAME=‘mydb1_log‘ ,FILENAME=‘D:\Demo数据库_log.ldf‘,SIZE=1MB,MAXSIZE=2GB,FILEGROWTH=10%)

--3 创建表的同时指定所有的约束

1 CREATE TABLE TestTable
2 (
3 id INT PRIMARY KEY NOT NULL,--主键
4 id_identity INT IDENTITY(1,1) NOT NULL,--自增长列
5 id_GUID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL DEFAULT (NEWID()) ,--全球唯一标识符
6 id_unquel INT UNIQUE,--唯一约束
7 stuid INT  NOT NULL FOREIGN KEY REFERENCES stu(id),--外键
8 CHECK(id >=18 AND id<=50) --约束检查
9 )

--4 删除某个约束的方法

1 ALTER TABLE 表名 DROP CONSTRAINT 约束名 

--5 添加主键

ALTER TABLE  表名 ADD  CONSTRAINT 主键名 primary key(列名)

--6 查询语法

SELECT[ALL | DISTINCT ]  [TOP n [PERCENT] ] select_list 

FROM{<表资源>}[,…n]             

[WHERE]<搜索条件>

[GROUP BY]{<分组表达式>}[,…n][HAVING]<搜索条件>

[ORDER BY]{<字段名[ASC|DESC]>}[,…n]

--7 创建视图语法

CREATE VIEW 视图名
AS
 SELECT 语句
GO

 1 --创建
 2 CREATE VIEW TestView
 3 AS
 4  SELECT *  FROM dbo.test
 5 GO
 6 --调用(像查询表一样)
 7 SELECT * FROM TestView
 8 --修改
 9 ALTER VIEW TestView
10 AS
11    SELECT * FROM dbo.test
12 GO
13 --删除
14 DROP VIEW TestView

--8 创建存储过程语法

1 CREATE PROC 储存过程名
2 @参数in  数据类型=默认值,
3 @参数out 数据类型 OUT
4 AS
5     SQL 语句
6 GO

 1 --创建
 2 CREATE PROC TestProc
 3 @stuId INT,--输入参数
 4 @count INT OUT ,--输出参数
 5 @name NVARCHAR(20)=‘zhangsan‘ --输入参数带默认值
 6 AS
 7 BEGIN
 8    SELECT * FROM dbo.Students WHERE stuid =@stuId AND name=@name
 9    SELECT @count =COUNT(@stuId) FROM Students
10    END
11 GO
12
13 --调用
14 DECLARE @cou INT
15 EXEC TestProc @stuid=2,@count=@cou OUTPUT,@name=‘zhangsan‘
16 PRINT @cou
17 GO
18 --修改删除同试图

--9 创建触发器

1 CREATE TRIGGER 触发器名 ON {TABLE|view} [WITH <dml_trigger_option>[,....n]]
2 {for|after|INSTEAD of}[delete,insert,update]
3 AS
4    SQL 语句
5 GO

--10 事务

--T-SQL 定义事务的语句有
       --开始事务 Begin Tran
       --提交事务 Commit Tran
       --回滚事务 Rollback Tran

--示例

 1  --开始事务
 2  BEGIN TRANSACTION
 3  PRINT ‘转账事务前的余额:‘
 4  SELECT * FROM back
 5  GO
 6  --定义变量,用于累计事务执行过程中的错误
 7  DECLARE @errors INT
 8  SET @errors=0
 9  --转账
10  UPDATE back SET currentMoney=currentMoney-1000 WHERE currentName=‘张三‘
11  --累计错误
12  SET @errors=@errors+@@ERROR
13  PRINT ‘转账事务过程中的余额‘
14  SELECT * FROM back
15
16 --判断是否有错误
17 IF @errors <>0--有错误
18 BEGIN PRINT ‘交易失败‘
19 ROLLBACK TRANSACTION
20 END
21 ELSE
22 BEGIN
23 PRINT‘交易成功‘
24 COMMIT TRANSACTION
25 END
26 GO

时间: 2024-10-13 11:11:00

sql server 常用语法的相关文章

SQL SERVER常用语法

要想操作一张表就要对表有一定的了解,那么就可以用两句sql让人直观的明白表结构 SP_HELP 表名: 和 SP_COLUMNS  表名: 还有一些很基础的操作,如: 1.查询当前系统日期:SELECT GETDATE(); 2.执行函数 SELECT dbo.F_FUNC_LOG_BATCH_NO(); 3.拼接数据:union all 4.日期格式:SELECT (CONVERT(varchar(100), MAX(字段), 23)) AS SEND_TIME FROM 表 5.或 Sele

sql server常用语法点

if exists(select name from sysobjects where name = 'stuInfo')drop table stuInfogocreate table stuInfo(stuName varchar(20) not null, --学员名称stuNo char(6) not null, --学号stuSex char(2) not null, --性别stuAge int not null, --年龄stuID numeric(18,0) not null,

SQL Server常用的几种启动方式

各位在公司一般涉猎ORACLE,很少用到sql server,那么今天给大家讲讲sql server常用的启动方式: SQL Server实例分为下面几种启动方法: (1)在Windows服务控制台里手动启动,或者自动启动(默认),这个也是最常用的方式 (2)SQL Server本身自己提供的启动方式,我们这里可以手动启动 (3)在SQL Server的SSMS里面手动启动它,这个方式一般大部分利用这种方式进行手动重启 (4)通过Windows命令窗口,用'net start'命令手动启动,这种

SQL Server 常用命令使用方法

(1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表

sql server 常用小知识点

1. sql server的语法:中文要加 N select * from eVA_EMPBoard where name = N'施纪平' 而oracle的不用 2.

SQL Server 常用日期查询语句

--本月月初select  dateadd(mm,datediff(mm,0,getdate()),0) --本月月末select  DATEADD(DD,-1,DATEADD(MONTH,1+DATEDIFF(MONTH,0,GETDATE()),0))--设置每周的第一天为星期一SET  DateFirst 1declare @cur_week1 varchar(10)--本周第一天select @cur_week1=DATEADD(DAY,1-DATEPART(WEEKDAY,getdat

SQL SERVER 常用命令

红色为常用 0.row_number() over 和数据组合sale/cnt select *,row_number() over(order by productname) as rownumberfrom productsselect row_number() over(order by sale/cnt desc) as sort, sale/cntfrom (select -60 as sale,3 as cnt from dual unionselect 24 as sale,6 a

Sql Server常用函数及技巧

使用Sql Server好长时间了,今天特别想总结一下,算是回顾吧! 常用函数: 1. ISNULL(columnName, '') 先判断该字段是否为空,如果为空,返回''; 否则返回该字段本来的值. 2. DATEDIFF(datepart,startdate,enddate) 不罗嗦,直接参考 链接 3. 实用语句: 1. 有时候项目中定义的储存过程比较多,需要确定某一个表被哪些stored procedure使用了,可以有如下两种方法: a. SSMS界面上,选中要查的表,右键,点击查找

SQL Server 常用内置函数(built-in)持续整理

本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的ID和Name,对象的Schema,对象的定义 OBJECT_ID ( 'schema_name . object_name','object_type' ) OBJECT_NAME ( object_id [, database_id ] ) OBJECT_SCHEMA_NAME ( object