T-SQL语法大全(T-sql)

合集下载

T-SQL简介及基本语法

T-SQL简介及基本语法

T-SQL简介及基本语法⼀、T-SQL概述SQL Server⽤于操作数据库的编程语⾔为Transaction-SQL,简称T-SQL。

T-SQL与PL/SQL不同,并没有固定的程序结构。

T-SQL包括以下4个部分:DDL:定义和管理数据库及其对象,例如create、alter和drop等。

DML:实现对数据库表各对象的操作,例如insert、update等。

DCL:数据控制语⾔,实现对数据库进⾏安全管理和权限管理等控制,例如grant、revoke、deny等。

附加的语⾔元素。

T-SQL的附加语⾔元素,包括变量、运算符、函数、注释和流程控制语句等。

在T-SQL中,命令和语句的书写是不区分⼤⼩写的。

⼆、T-SQL编程基础1、标识符①T-SQL规则标识符由字母、数字、下划线、@、#、$符号组成,其中字母可以是a-z或A-Z,也可以是来⾃其他语⾔的字母字符。

⾸字符不能为数字和$。

标识符不允许是T-SQL保留字。

标识符内不允许有空格和特殊字符长度⼩于128②界定标识符 对于不符合标识符规则的标识符,则要使⽤界定符⽅括号([])或双引号(“”)将标识符括起来。

如标识符[My Table]、“select”内分别使⽤了空格和保留字select。

2、数据类型在SQL Server中提供了多种系统数据类型。

除了系统数据类型外,还可以⾃定义数据类型。

①系统数据类型(1)精确数字数据类型int 存储整型数值,存储数值范围为-231~231-1。

bigint bigint⽐int能存储更⼤的数值,存储数值范围为-263~263-1。

smallint 数据类型的范围数值⽐int更⼩,在-215~215-1之间。

定义这种数据类型的时候⼀定要⼩⼼,要确定存储的数据不会超过smallint所能存储的数值范围。

tinyint 数据类型的范围数值⽐smallint更⼩,存储从 0 到 255 的整型数据。

decimal/numeric decimal[(p,s)]和numeric[(p,s)]这两种数据类型⽤于存储相同精度和范围的数据(⼩数点的左、右两边存储的数值位数相同),所能存储的数值范围为-1038+1~1038-1。

tsqlquery用法

tsqlquery用法

tsqlquery用法TSQQuery是T-SQL(Transact-SQL)的一个方法,用于在SQL Server数据库中执行查询语句。

它可以用于执行查询、插入、更新、删除等操作,并且能够获取返回的结果集。

TSQQuery的具体用法如下:1.创建TSQQuery对象:可以使用以下语句创建一个TSQQuery对象:```sqlDECLARE @query AS NVARCHAR(MAX);SET @query = N'SELECT * FROM TableName';```2.执行查询:使用以下语句执行查询并将结果保存到一个表变量中:```sqlDECLARE @results TABLE (Column1 INT, Column2 VARCHAR(50));INSERT INTO @resultsEXEC sp_executesql @query;```3.获取结果集:可以使用以下语句从结果集中检索数据:```sqlSELECT Column1, Column2 FROM @results;```4.参数化查询:TSQQuery还支持参数化查询,可以使用以下语句设置参数:```sqlDECLARE @param1 INT = 1;DECLARE @param2 VARCHAR(50) = 'Value';SET @query = N'SELECT * FROM TableName WHERE Column1 =@param1 AND Column2 = @param2';```然后,使用sp_executesql函数执行参数化查询。

5.错误处理:在执行TSQQuery时,可以通过使用TRY-CATCH语句块来捕获并处理可能的错误。

除此之外,TSQQuery还支持其他更高级的功能,如动态构建查询语句、执行动态查询和存储过程、处理返回的结果集等,这些功能能够极大地提高查询的灵活性和效率。

T-SQl命令语句

T-SQl命令语句
--5、查询空值
select * from Student where Email is null or Email=''
select * from Student where Email is not null and Email !=''
--6、使用常量列 注意列名和常量的区别
order by StudentResult
--7、查询学号为‘s1101003’的学生参加过得所有考试信息,并按照时间前后次序显示
select * from Result
where StudentNo=23
order by ExamDate
--8、查询学号为‘s1101003’的学生参加过得所有考试中的最高分及时间,科目
SELECT DATENAME(qq,getdate())
--日期中指定日期部分的整数形式
SELECT DATEPART(day, '01/15/2000')
select datepart(dw,GETDATE())
select * from Student
where DATEPART(MM,BornDate)=DATEPART(MM,GETDATE())
--2、*********日期函数**********
--取得当前的系统日期
select getdate()
SELECT GETDATE()
--将指定的数值添加到指定的日期部分后的日期
select dateadd(DAY,80,GETDATE())
select DATEADD(YEAR,-4,GETDATE())
select top 3 * from Student

数据库T-SQL语言操作(T-SQL语句、数据库、表、视图、索引)

数据库T-SQL语言操作(T-SQL语句、数据库、表、视图、索引)

数据库T-SQL语⾔操作(T-SQL语句、数据库、表、视图、索引)T-SQL语⾔按⽤途分四部分1. 数据定义语⾔(CREATE,DROP,ALTER)2. 数据操作语⾔(INSERT,DELETE,UPDATE)3. 数据查询语⾔(SELECT)4. 数据控制语⾔(GRANT,REVOKE,DENY)数据类型1. 系统数据类型2. ⽤户⾃定义数据类型(建⽴⽅式:a.图形化⽅式 b.命令⽅式)1use TEST2EXEC sp_addtype sno,'varchar(10)','nonull'3EXEC sp_droptype sno变量命名规则:字母、下划线、@或#开头,但不能全为下划线、@或#不能为“关键字”,不能嵌⼊空格及其他特殊字符,如需使⽤则需要双引号或⽅括号括起1.局部变量:由⽤户声明,必须以@开头,只在定义该变量的过程中有效,局部变量必须先声明后使⽤注意:第⼀次声明变量时,其值设置为NULL。

局部变量不能使⽤“变量=变量值”的格式进⾏初始化,必须使⽤SELECT或SET语句来设置其初始值。

如果声明字符型的局部变量,⼀定要在变量类型中指明其最⼤长度,否则系统默认其长度为1。

若要声明多个局部变量,请在定义的第⼀个局部变量后使⽤⼀个逗号,然后指定下⼀个局部变量名称和数据类型。

1USE student2DECLARE@var1char(10),@var2int3SET@var1='number'4select@var2=cgrade5from sc6where sno='201810010'78print@var1+"s"2.全局变量:由系统定义,供SQL server系统内部使⽤的变量,任何程序任何时间都可以调⽤。

通常以“@@”开头。

T-SQL语句1.注释语句(1) --(2) /*……*/2.批处理--GO3.控制流程语句(1) begin...end语句(相当于C语⾔中的{} )(2) if...else语句(可嵌套)(3)case语句(多条件选择语句)(4)print语句(屏幕输出语句)(5)while语句(有条件的循环语句)(6)goto语句(⽆条件跳转语句)(7)break语句(8)continue语句4.常⽤函数(系统函数、⽤户⾃定义函数)⼀些系统函数:(1)字符串函数(2)数学函数(3)⽇期和时间函数(4)聚合函数注意:⽤户⾃定义函数:1.分类:标量值函数:返回单个值内联表值函数:返回可更新的表多语句表值函数:返回不可更新的表2.标量值函数命令⽅式创建1CREATE FUNCTION f2(@a real,@b real) 2RETURNS real3AS4BEGIN5IF@a>=@b6RETURN@a7RETURN@b8END910PRINT'最⼤值为'11PRINT dbo.f2(77,56)1CREATE FUNCTION f3(@n real)2RETURNS real3AS4BEGIN5DECLARE@i real,@sum real6SET@i=07SET@sum=08WHILE@i<@n9BEGIN10SET@i=@i+111SET@sum=@sum+@i12END13RETURN@sum14END1516PRINT dbo.f3(10)3.⾃定义函数的调⽤(1)标量值函数可以使⽤select、print、exec调⽤(2)表值函数只能⽤select调⽤4.删除⽅式drop function 函数名数据库数据库概述1.数据库常⽤对象:表、数据类型、视图、索引、存储过程、触发器系统数据库:master、model、tempdb、msdb2.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。

T-SQL语法

T-SQL语法
sp_helpconstraint---查看某个表的约束
sp_helpindex---查看某个表的索引
sp_stored_procedures--- 列出当前环境中的所有存储过程
sp_password---添加活修改登录账户的密码
sp_helptext---现实默认值,存储过程,触发器或视图的实际文本
go
--按索引查询
select * from stuMarks (索引名) where writtenExam between 60 and 90
----创建视图示例
use stuDB
go
if exists (select * from sysobjects where name='view_stuInfo_stuMarks')
drop procedure proc_stu
go
create procedure proc_stu
as
declare @writtenAvg float,@labAvg float --笔试,机试平均分变量
select @writtenAvg=avg(writtenExam),@labAvg(labExam)
exec proc_名 a,b---调用
-- 处理错误
raiserror ('发生错误')
---事物示例
use stuDB
go
--恢复原来的数据
--update bank set curretMoney=currentMoney-1000 where customerName='李四'
create procedure proc_名 as

T-SQL常用语法汇总

T-SQL常用语法汇总
LOG ON ( NAME = N'test_log', FILENAME = N'G:\Database\test\test_log.ldf' , SIZE = 2048KB , MAXSIZE = 5120KB , FILEGROWTH = 10%) 删除数据库: DROP DATABASE test
建立一个 SC 表,定义 SNO,CNO 为 SC 的外部键。 USE STUDENT CREATE TABLE SC (SNO CHAR(5) NOT NULL CONSTRAINT S_FORE FOREIGN KEY REFERENCES S(SNO), CNO CHAR(5) NOT NULL CONSTRAINT C_FORE FOREIGN KEY REFERENCES C(CNO), SCORE NUMERIC(3), CONSTRAINT S_C_PRIM PRIMARY KEY (SNO,CNO));
删除表 SC 的索引 SCI DROP INDEX SC.SCI
SQL 数据查询
SELECT〈列名〉[{,〈列名〉}] FROM〈表名或视图名〉[{,〈表名或视图名〉}] [WHERE〈检索条件〉] [GROUP BY <列名 1>[HAVING <条件表达式>]] [ORDER BY <列名 2>[ASC|DESC]];
建立一个 S 表,定义 SNO 为 S 的主键 USE STUDENT CREATE TABLE S (SNO CHAR(5) NOT NULL CONSTRAINT S_PRIM PRIMARY KEY, SN CHAR(8), AGE NUMERIC(2));
建立一个 SC 表,定义 SNO+CNO 为 SC 的主键 USE STUDENT CREATE TABLE SC (SNO CHAR(5) NOT NULL, CNO CHAR(5) NOT NULL, SCORE NUMERIC(3), CONSTRAINT SC_PRIM PRIMARY KEY(SNO,CNO));

t sql查询语句

t sql查询语句

t sql查询语句T-SQL是一种用于查询和管理关系型数据库的编程语言,T-SQL查询语句用于从数据库中检索数据。

以下是一些常见的T-SQL查询语句:1. SELECT语句:用于检索数据库中的数据。

例如:SELECT * FROM employees;2. WHERE 子句:用于过滤满足特定条件的数据。

例如:SELECT * FROM employees WHERE salary > 50000;3. ORDER BY子句:用于按照指定列的值对结果进行排序。

例如:SELECT * FROM employees ORDER BY last_name ASC;4. GROUP BY子句:用于根据指定列的值进行分组。

例如:SELECT department_id, AVG(salary) FROM employees GROUP BYdepartment_id;5. JOIN操作:用于在多个表之间建立关联关系。

例如:SELECT * FROM employees JOIN departments ONemployees.department_id = departments.department_id;6. UNION操作:用于合并两个或多个查询结果集。

例如:SELECT column1 FROM table1 UNION SELECT column1 FROM table2;7. INSERT INTO语句:用于向数据库表中插入新的行。

例如:INSERT INTO employees (first_name, last_name, salary) VALUES ('John', 'Doe', 50000);8. UPDATE语句:用于更新数据库表中的数据。

例如:UPDATE employees SET department_id = 2 WHERE employee_id = 100;9. DELETE语句:用于从数据库表中删除行。

T-SQL全部语句

T-SQL全部语句

T-SQL语言一、数据库1.创建数据库CREATE DATABASE database_name[ON{[PRIMARY] (NAME=logical_file_name,FILENAME=’os_filename_name’,[,SIZE=size][,MAXSIZE={m ax_size︳UNLIMITED}][,FILEGROWTH=grow_increment])}[,……n]LOG ON(NAME=logical_file_name,FILENAME=’os_filename_name’,[,SIZE=size][,MAXSIZE={max_size︳UNLIMITED}][,FILEGROWTH=grow_increment])}[,……n]][COLLATE collation_name]2.使用T-SQL语句管理数据库(1)打来数据库USE database_name(2)查看数据库信息[EXEC[UTE]]sp_helpdb database_name(3)增长或减少数据库容量ALTER DATABASE database_nameADD FILE (NAME=logical_file_name,FILENAME=’os_filename_name’,[,SIZE=size][,MAXSIZE={max_size︳UNLIMITED}][,FILEGROWTH=grow_increment])ADD LOG FILE (NAME=logical_file_name,FILENAME=’os_filename_name’,[,SIZE=size][,MAXSIZE={max_size︳UNLIMITED}][,FILEGROWTH=grow_increment])MODIFY FILE (NAME=file_name,SIZE=newsize)REMOVE FILE logical_file_name(4)收缩数据库容量DBCC SHRINKDATABASE (database_name)(5)查看数据库选项EXEC sp_dboption (‘database_name’)二、数据表的基本操作1、创建数据表:create table table_name(列定义,计算列定义,表约束定义)2、表的修改与删除:alter table 表名alter column 列名修改表列属性add (列定义,计算列定义,表约束定义)drop column 列名删除列三、数据的基本操作1、数据的添加Insert into table_name (column1,column2,column3, …)Values (‘expression1’,’expression2’,’expression3’, …)2、数据的修改:update table_namesetcolumn_name=…where <search_conditions>3、数据的删除:1)使用DELETE语句删除数据:Delete talbe_nameWhere search_conditions2)使用TRUNCA TE清空表格:Truncate table table_name4、简单查询SELECT语句的基本语法格式:Select select_listInto new_table_nameFrom talbe_listWhere search_conditionsGroup by group_by_listHaving search_conditionsOrder by order_list[ASC | DESC]选择表中的若干列:1)输出表中的部分列:Select column1,column2,…From talbe_name2)输出表中的所有列:Select *From table_name3)输出计算列:(例)Select 姓名,year(getdate()) - year(出生日期)From 学生4)为结果集内的列指定别名:Select 列名(表达式)列别名FROM 数据源Select 列名(表达式)AS 类别名FROM 数据源Select 列别名=列名(表达式)FROM 数据源5、选择表中的若干记录(以实例为例)1)消除取值重复的行Select distinct 学号From 课程Go2)限制返回行数Select top 3 * 或select n percent *From 课程注册返回前三条记录或者表中前20%的记录Go3)查询满足条件的元组比较大小:Where + 条件表达式确定范围:列表达式【NOT】BETWEEN 起始值AND 终止值例:Where 出生日期between ‘1971-01-01’ and ’1980-12-31’确定集合:where [not] in (列表值1,列表值2……)字符匹配:[not] like ‘<匹配串>’【ESCAPE’<换码字符>’】涉及空值的查询:[not] column_name IS NULL多重条件查询:[not] 逻辑表达式and | or [not] 逻辑表达式6、对查询结果排序order by column1[ASC|DESC] , column[ASC|DESC] , …7、对数据进行统计1)使用集合函数Count ( [ distinct | all ] * ) 统计记录个数Count ( [ distinct | all ]<列名> )统计一列中值的个数Sum ( [ distinct | all ]<列名> )统计一列值的总和(此列必须是数值型)Avg ( [ distinct | all ]<列名> )统计一列值的平均值(此列必须是数值型)Max ( [ distinct | all ]<列名> )统计一列值的最大值Min ( [ distinct | all ]<列名> )统计一列值的最小值Distinct 是去掉制定列中的重复值,all是不取消重复值,默认状态下是all。

SQL语法大全(T-sql)

SQL语法大全(T-sql)

T—SQL 目录一、T—SQL的组成 (1)1、DML(数据操作语言D ATA M ANIPULATION L ANGUAGE) (1)2、DCL(数据控制语言D ATA C ONTROL L ANGUAGE) (1)3、DDL(数据定义语言D ATA D EFINITION L ANGUAGE) (1)4、变量说明、流程控制、功能函数 (1)二、库 (1)1、建立库 (1)2、删除库 (2)三、表 (2)1、建表 (2)2、删表 (3)四、约束 (3)1、主键(PRIMARY KEY) (3)2、唯一性(UINQUE) (4)3、默认填写(DEFAULT('......')FOR) . (4)4、检查(CHECK(......)) .. (4)5、外键(FOREIGN KEY(列名) REFERENCES 主表名(列名)) (4)6、删除约束 (4)五、通配符 (4)六、插入数据 (5)1、注意事项 (5)2、插入多行数据 (5)七、更新数据行 (6)八、删除数据行 (7)1、删除指定的行 (7)2、删除所有记录 (7)九、查询 (7)1、查询全部的行和列 (7)2、查询部分行 (7)3、自定义命名查询结果中的列名 (8)十、模糊查询 (10)1、LIKE (10)2、IS NULL (10)3、BETWEEN (11)4、IN (11)十一、聚合函数 (11)2、A VG(求平均值) (11)3、MAX、MIN(求最大、最小值) (12)4、COUNT(计数) (12)十二、分组查询 (12)1、单列分组查询 (12)2、多列分组 (12)3、HA VING(追加条件) (13)4、条件比较顺序 (13)十三、多表联接查询 (13)1、分类 (13)2、多表内联结查询 (14)3、多表外联接查询 (15)4、多表交叉联接查询 (15)十四、数据库用户 (16)1、创建登录帐户 (16)2、创建数据库用户 (16)3、给用户分配权限 (16)4、系统内置的数据库用户 (16)十五、T—SQL编程 (17)1、变量 (17)2、输出语句 (18)3、逻辑控制语句 (18)十六、高级查询 (20)1、简单的子查询 (20)2、IN(NOT IN)子查询 (20)3、EXISTS子查询 (20)十七、事务 (21)1、使用T-SQL语句来管理事务 (21)2、判断某条语句执行是否出错 (21)3、事务必须具备ACID四个属性 (21)4、事务的分类 (21)5、事务例句 (22)十八、索引 (22)1、索引类型 (22)2、使用T-SQL语句创建索引 (23)3、索引的优缺点 (23)4、创建索引的指导原则 (23)5、索引例句 (24)1、是么是视图 (24)2、视图的用途 (24)3、使用T-SQL语句创建视图 (25)4、视图例句 (25)二十、存储过程 (25)1、什么是存储过程(PROCEDURE) (25)2、存储过程的优点 (26)3、存储过程的分类 (26)4、常用的系统存储过程 (26)5、使用T-SQL语句创建和调用存储过程 (27)6、处理存储过程中的错误 (30)二十一、触发器 (32)1、创建触发器的语法 (32)2、例句 (32)T — SQL一、T—SQL的组成1、DML(数据操作语言Data Manipulation Language)查询、插入、删除和修改数据库中的数据。

T-sql语句

T-sql语句

T-SQL语言基础列格式:数字:Bigint大整数型数字,int标准整型数字,smallint 小整型数字,tinyint微整型数字,decimal 精确数字,float近似数字。

货币:money长度为8字节,smallmoney长度为4字节。

日期时间:datetime年月日小时分钟秒厘,smalltime年月日小时分钟秒,date年月日,time小时分钟秒厘。

字符串:char固定长度,varchar可变长度,nchar固定长度U,nvarchar可变长度U,binary固定长度二进位,varbinary可变长度二进位,image存储图表格。

格式:大写T-SQL关键字,︱分隔括号或大括号语法,只能使用其中一项,[]可选语法,{}必选语法,[,…n]前面的项可重复n次,用逗号隔开,[…n] 前面的项可重复n次,用空格隔开。

Declare声明,set 为变量赋值,print输出,declare @name nchar(5) set @name =’王华’ print @name 。

流程控制语句:begin…end开始…结束,if …else,如果,case when…then事实实情,while while begin…end当…时候,return返回,聚合函数:Avg()平均值,count()计数,max()最大值,min()最小值,sum()合计,having,所有,distinct不同,不重复。

日期函数:getdate()返回现在时间,dateadd(daetpart,number,date)当前日期加上指定日期,datediff (datepart,startdate,enddate)两个日期之差,datename(datepart,date)返回指定日期的字符串,datepart(datepart,date)返回指定日期部分整数。

字符串函数:len()返回字符串个数,substring =mid()(字符串,第几位开始,取几位)返回字符串的一部分,ltrim()去左边空格,rtrim()去右边空格,replace用一个字符串替换另一个字符串。

部分常用TSQL语句

部分常用TSQL语句

部分常用T-SQL语句:使用T-SQL创建数据库:格式:CREATE DATABASE 数据库名ON(NAME=数据文件逻辑文件名,FILENAME=‘数据文件物理文件名’,SIZE=文件的初始长度,FILEGROWTH=增长率)[……]LOG ON(NAME=日志文件逻辑文件名,FILENAME=‘日志文件物理文件名’,SIZE=文件的初始长度,FILEGROWTH=增长率)[……]格式:USE <数据库名>功能:打开指定的数据库。

格式:sp_helpdb [数据库名]功能:查看数据库信息,若没指定数据库名,则查看所有数据库的信息。

格式:sp_databases功能:查看当前服务器上所有可以使用的数据库。

格式:sp_helpfile [@文件名]功能:查看当前数据库中指定文件的信息,若文件名缺省,则查看当前数据库上的所有文件。

包括数据文件和日志文件。

格式:sp_helpfilegroup [@文件组名]功能:查看当前数据库中指定文件组的信息,若文件组名缺省,则查看当前数据库上的所有文件组。

包括PRIMARY和USER_DEFINED文件组。

使用T-SQL语句修改数据库:格式:ALTER DATABASE 数据库名ADD FILE<文件定义>[,...N]|ADD LOG FILE<文件定义>[,...N]|REMOVE FILE 逻辑文件名|MODIFY FILE<文件定义>其中:<文件定义>:(NAME=数据文件逻辑文件名,FILENAME=‘数据文件物理文件名’,SIZE=文件的初始长度,FILEGROWTH=增长率)ADD FILE <文件定义> :添加新的数据文件ADD LOG FILE<文件定义>[,...N]:添加日志文件REMOVE FILE 逻辑文件名:删除数据库文件MODIFY FILE<文件定义>:修改数据库文件删除数据库:格式:DROP DATABASE 数据库名[,…n]使用T- SQL语句格式:CREATE TABLE 表名(列定义[,...N]|列名AS 计算表达式[,...N]|表约束[,...N])列定义::=列名数据类型[[默认表达式]| [IDENTITY[(标识列的起始值,增量)][列约束][,...N]修改列属性:列属性包括:列名、数据类型、数据长度及是否允许为空值。

T-SQL语句整理

T-SQL语句整理

USE[master]GO--列出数据库中的所有架构select*from sys.schemas--列出数据库中的所有用户EXEC sp_helpuser--列出所有服务器级别的权限selecttype,permission_name from sys.server_permissions--列出所有数据库级别的权限selectdistincttype,permission_name from sys.database_permissions --列出所有数据库select database_id,create_date,name from sys.databases--列出所有的登录名select*from sys.sql_logins--列出所有数据类型和最大长度select name,max_length from sys.types--列出所有的视图select name from sys.views;--列出所有的登录名select*from testDB.sys.syslogins--列出所有用SQL验证方式登录的登录名select*from testDB.sys.sql_logins--列出数据库的用户名列表(issqlrole=0)select*from testDB.sys.sysusers where issqlrole=0--列出用户创建的数据库中的数据库角色(issqlrole=1)select*from TicketSysDB.sys.sysusers where issqlrole=1--列出master数据库中的数据库角色(issqlrole=1)select*frommaster.sys.sysusers where issqlrole=1--获得每个角色是的特定权限exec sp_dbfixedrolepermission--获得固定数据库角色的列表exec sp_helpdbfixedrole--获得具体给出的数据库中的数据库角色select*frommaster.sys.sysusers where issqlrole=1--查找出数据库用户名(如testUser)对应的登录名select as dbname, as loginnamefrom testDB.sys.database_principals a,testDB.sys.server_principals b where a.sid=b.sid--and ='testUser'--找出数据库用户名(如sys)对应的默认架构select name,default_schema_name from testDB.sys.database_principals--whe re name='sys'--根据数据库用户所对应的登录名select as dbname, as loginnamefrommaster.sys.database_principals a,master.sys.server_principals b where a.sid=b.sid--根据系统存储过程得出数据库用户--和该用户所对应的数据库角色和登录名use testDB IF OBJECT_ID('tempdb.dbo.#dbUser_Role')ISNOTNULLDROPTABLE#dbUser_Rolecreatetable#dbUser_Role(UserName sysname,RoleName sysname,LoginName sysname NULL,DefDBName sysname NULL,DefSchemaName sysname NULL,UserID smallint NULL,SIDsmallint NULL,primarykey(UserName,RoleName))insertinto#dbUser_Role exec sp_helpuserselect*from#dbUser_Role--为数据库用户添加数据库角色USE[testDB]GOEXEC sp_addrolemember N'db_datareader',N'sqlLogin1'GO--为数据库用户取消数据库角色USE[testDB]GOEXEC sp_droprolemember N'db_datareader',N'sqlLogin1'GO--添加登录名对数据库的用户映射--默认在数据库中创建的是与登录名同名的数据库用户--架构选择dboUSE[TicketSysDB]GOCREATE USER[sqlLogin1]FORLOGIN[sqlLogin1]GOUSE[TicketSysDB]GOALTER USER[sqlLogin1]WITHDEFAULT_SCHEMA=[dbo]GO--修改数据库用户名的名字USE[TicketSysDB]GOALTER USER[sqlLogin1]WITH NAME=[sqlLogin2]GO--修改login的密码USE[master]GOALTERLOGIN[sqlLogin1]WITHPASSWORD=N'password1'GO--为登录名添加服务器角色EXECmaster..sp_addsrvrolemember@loginame=N'sqlLogin1',@rolename=N'dbc reator'GO--为登录名取消服务器角色EXECmaster..sp_dropsrvrolemember@loginame=N'sqlLogin1',@rolename=N'db creator'GO--创建SQL Server登录名sqlLogin1--强制密码策略--强制密码过期--用户在下次登录时必须更改密码USE[master]GOCREATELOGIN[sqlLogin1]WITHPASSWORD=N'pa$$w0rd_123'MUST_CHANGE,DEFAULT _DATABASE=[master],CHECK_EXPIRATION=ON,CHECK_POLICY=ONGO--创建SQL Server登录名sqlLogin1--强制实施密码策略USE[master]GOCREATELOGIN[sqlLogin1]WITHPASSWORD=N'pa$$w0rd_123',DEFAULT_DATABASE=[ master],CHECK_EXPIRATION=OFF,CHECK_POLICY=ONGO--拒绝登录名连接服务器--登录名禁用USE[master]GODENYCONNECTSQLTO[sqlLogin1]GOALTERLOGIN[sqlLogin1]DISABLEGO--授予登录名连接服务器--登录名启用USE[master]GOGRANTCONNECTSQLTO[sqlLogin1]GOALTERLOGIN[sqlLogin1]ENABLEGO用SQL语句添加删除修改字段1.增加字段ALTER TABLE [yourTableName] ADD [newColumnName] newColumnType(length)2.删除字段ALTER TABLE [yourTableName] DROP COLUMN [ColumnName]3.修改字段类型ALTER TABLE [yourTableName] ALTER COLUMN [ColumnName] newColumnType(length)4.更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

T-SQL查询语句总结

T-SQL查询语句总结

T-SQL查询语句总结我们使⽤⼀下两张表作为范例:select * from [dbo].[employee]select * from [dbo].[dept]1、select语句DISTINCT:去掉记录中的重复值。

select distinct dept_no from [dbo].[employee]TOP:返回第⼀⾏或者是前⼏⾏select top(3) * from [dbo].[employee]AS:修改列标题select e_no as '员⼯编号', e_name as '员⼯姓名' from [dbo].[employee]注:AS关键字也可以省略使⽤等号‘=’修改列标题select '员⼯编号'=e_no, '员⼯姓名'=e_name from [dbo].[employee]2、在查询的结果内集中显⽰某字符串select '员⼯姓名:' ,e_name from [dbo].[employee]3、查询的列为表达式select e_no+10 as '新员⼯编号' ,e_name '员⼯姓名' from [dbo].[employee]4、where⼦句条件查询BETWEEN AND 表⽰范围select * from [dbo].[employee] where e_no between 1001 and 1006使⽤IN关键字select * from [dbo].[employee] where e_no in (1001 , 1007 )使⽤IN关键词时,将所有检索条件⽤逗号分隔开。

与括号内的值相匹配便可以被查出。

使⽤LIKE关键字LIKE关键字使⽤的通配符:%:包含零个或多个字符的任意字符串。

_:任何单个字符。

[]:指定范围[a-f]或者是集合[abcdef]中的任何单个字符。

T-SQL常用语句总结

T-SQL常用语句总结

基本T-SQL语句1.增加(插入)语句插入一条记录Insert into表名(列名1,列名2,列名3)Values (值1,值2,值3)插入多条记录(从表1中将数据复制到领表2中)Insert into表2(列名1,列名2,列名3)Select表1.列名1,表1.列名2,表1.列名3From 表1注:执行这条语句之前,表2必须事先已经建好插入多条记录(从表1中将数据复制到新建的表2中)Select表1.列名1,表1.列名2,表1.列名3,identity(int,1,1) as idInto表2From表1注:常用于创建临时表插入多条记录Insert into 表1 (列名1,列名2,列名3)Select 值1,值2,值3 unionSelect值1,值2,值3 unionSelect值1,值2,值3注:这里值1,值2,值3必须是常量插入语句注意事项:1)插入的列个数必须和插入的值个数一致2)插入的值必须和插入的列的类型一致3)如果表中某列不允许为空,那么插入一行记录时必须为该列插入值4)如果表中有标识列,不能为标识列插入值5)如果表中某列有默认值,为该列插入值时,只能用Insert into 表名(列名1,列名2,列名3)Values (值1,值2,default)或者干脆就不为该列插入值2.更新(修改)语句Update表名set列名1=值1,列名2=值2【Where 更新条件】3.删除语句Delete from 表名【where 删除条件】Truncate表名注:这两种语句都只是删除表中的记录,删除过程中一定要注意如果该表有外键约束,一定要先删除外表4.查询语句基本查询语句Select列名1,列名2,列名3 from 表1【where 查询条件】或Select * from 表1 (查询表中所有的记录)为查询列重命名Select列名1 as 新命1,列名2as新命2,列名3 as新命3from表1【where 查询条件】查询中的常量列Select值1,值2,值3 from 表排序查询1)要求返回前n个记录Select top n列名1,列名2,列名3From表1Order by 列名desc2)要求返回整个表中的n%的记录Select top n% 列名1,列名2,列名3From表1注:order by 中desc 降序,asc升序(不写默认为升序)聚合函数1)求和Select sum(列名1) as 总和From 表【Where 条件】2)求平均Select avg(列名) as 平均From表【Where 条件】3)求最大值、最小值Select max(列名) as 最大值, min(列名) as 最小值From 表【Where 条件】3)统计个数Select count(*) as 个数From 表【Where 条件】分组查询Select列名1,avg(列名2) as 平均值From表1【Where 条件】Group by 列名1【having 条件】注:1)如果查询中有聚合函数还有其他列,这个列必须包含在group by 的后面2)在查询语句中,where先过滤掉整张表中不符合条件的数据,然后再根据Group by 后面的列进行分组,having是在分完组之后再过滤掉各个组内不符合条件的数据,最后再使用聚合函数统计剩下的数据常用的字符串函数1:replace函数第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么select replace('lihan','a','b')结果:lihbn2:substring函数第一个参数你的字符串,第二个是开始替换位置,第三个结束替换位置select substring('lihan',0,3);结果li3: charindex函数第一个参数你要查找的char,第二个参数你被查找的字符串,第三个查找的起始位置,返回参数一在参数二的位置select charindex('a','lihan',1)结果:44:stuff函数(四个参数)函数将字符串插入另一字符串。

最全面的T-SQL语句

最全面的T-SQL语句

-------------------------------------------------------创建数据库Student------------------create database Studenton primary(name='Student_dat',filename='D:\Program Files\SQLServer2000\Data\StudentDatabase\Student_dat.mdf', size=10mb,maxsize=50,filegrowth=10%)log on(name='Student_log',filename='D:\Program Files\SQLServer2000\Data\StudentDatabase\Student_dat.ldf', size=10,maxsize=50,filegrowth=10%)-------------------------------------------------------修改数据库Student------------------use Studentgo--alter database Studentmodify file(name=Student_dat,size=20mb)go--alter database Studentmodify file(name=Student_log,size=20mb)go--查看Student信息----------------use Studentgo--exec sp_helpdb Student----收缩数据库容量---------------use Studentgoexec sp_dboption 'Student','single user',truegodbcc shrinkdatabase('Student')goexec sp_dboption 'Student','single user',falsego-------------------------------------------------------数据表的基本操作-----------------use studentgo---------创建表---------‘管理员’表--create table 管理员(用户名varchar(12) constraint pk_gly primary key not null,密码varchar(12) null,级别char(2) null)go--‘系部’表 --create table 系部(系部代码char(2) constraint pk_xbdm primary key not null,系部名称varchar(30) not null,系主任varchar(8) not null)--‘专业’表 --create table 专业(专业代码char(4) constraint pk_zydm primary key not null,专业名称varchar(20) not null,系部代码char(2) constraint fk_zyxbdm references 系部(系部代码))--‘班级’表 --create table 班级(班级代码char(9) constraint pk_bjdm primary key not null,班级名称varchar(20) not null,专业代码char(4) constraint fk_bjzydm references 专业(专业代码) not null, 系部代码char(2) constraint fk_bjxbdm references 系部(系部代码) not null, 备注varchar(50))--‘学生’表 --create table 学生(学号char(12) constraint pk_xh primary key not null,姓名varchar(8) ,性别char(2),出生日期datetime,入学日期datetime,班级代码char(9) constraint fk_xsbjdm references 班级(班级代码), )--‘教师’表 --create table 教师(教师编号char(12) constraint pk_jsbh primary key not null,姓名varchar(8) not null,性别char(2),出生日期datetime,学历varchar(10),职务char(10),职称char(10),系部代码char(2) constraint fk_jsxbdm references 系部(系部代码), 专业char(20),备注varchar(50))--‘课程’表 --create table 课程(课程号char(4) constraint pk_kch primary key not null,课程名称varchar(20) not null,备注varchar(50))--‘教学计划’表 --create table 教学计划(课程号char(4) constraint fk_jxjhkch references 课程(课程号),专业代码char(4) constraint fk_jxjhzydm references 专业(专业代码), 专业学级varchar(4) not null,课程类型varchar(8) ,开课学期tinyint,学分tinyint,开始周tinyint,结束周tinyint,教材编号char(6),备注varchar(50)--‘教师任课’表 --create table 教师任课(教师编号char(12) constraint fk_jsrkjsbh references 教师(教师编号) not null,课程号char(4) constraint fk_jsrkkch references 课程(课程号) not null,专业学级char(4) not null,专业代码char(4) not null,学年char(4) ,学期tinyint,学生数smallint,学时数smallint,酬金smallint,开始周tinyint,结束周tinyint)--‘课程注册’表 --create table 课程注册(注册号bigint Identity (010000000,1) not for replication constraint pk_zch primary key , 学号char(12) constraint fk_kczcxh references 学生(学号) ,课程号char(4) not null,教师编号char(12) not null,专业代码char(4) not null,专业学级char(4) not null,选课类型char(4) ,学期tinyint ,学年char(4) ,收费否bit,注册bit,成绩tinyint,学分tinyint)--‘课程收费’表 --create table 课程收费(学号char(12) constraint fk_kcsfxh references 学生(学号),课程号char(4) constraint fk_kcsfkch references 课程(课程号),收费tinyint,学年char(4),学期tinyint)------------------------------------------利用已有表创建新表--------------------/****** 对象: 表[dbo].[专业] 脚本日期: 2009-10-15 15:21:46 ******/ CREA TE TABLE [dbo].[专业备份] ([专业代码] [char] (4) COLLA TE Chinese_PRC_CI_AS NOT NULL ,[专业名称] [varchar] (20) COLLA TE Chinese_PRC_CI_AS NOT NULL , [系部代码] [char] (2) COLLA TE Chinese_PRC_CI_AS NULL) ON [PRIMARY]GO--查看表信息-----------exec sp_help 专业go--修改表---------添加列:alter table 学生add 家庭住址varchar(30) nullgo--修改列:alter table 学生alter column 家庭住址varchar(50) not nullgo--删除列:alter table 学生drop column 家庭住址go--删除表select * from 专业备份godrop table 专业备份go--------------------------------------------------------------------------------数据操作-----------------------------------添加数据----------------insert [into] 表名(字段1,字段2...) values('值1','值2'...)/*-- 1、向‘系部’表添加数据--*/--select* from 系部insert into 系部(系部代码,系部名称,系主任) values('01','计算机系','杨学全') /*-- 2、向‘专业’表添加数据--*/--select* from 专业insert into 专业(专业代码,专业名称,系部代码) values('0101','软件工程','01')/*-- 3、向‘班级’表添加数据--*/--select* from 班级insert into 班级(班级代码,班级名称,专业代码,系部代码) values('060101001','06级软件工程班','0101','01')/*-- 4、向‘学生’表添加数据--*/--select* from 学生insert into 学生(学号,姓名,性别,出生日期,入学日期,班级代码) values('060101001001','张小泽','男','1985-06-04','2006-09-18','060101001')/*-- 5、向‘课程’表添加数据--*/--select* from 课程insert into 课程(课程号,课程名称,备注) values('0001','SQL Server 2005','')/*-- 6、向‘教学计划’表添加数据--*/--select* from 教学计划insert into 教学计划(课程号,专业代码,专业学级,课程类型,开课学期,学分,开始周,结束周) values('0001','0101','2006','公共必修','1','4','1','18')/*-- 7、向‘教师’表添加数据--*/use Studentgo--select* from 教师INSERT INTO 教师(教师编号,姓名,性别,出生日期,学历,职务,职称,系部代码,专业)V ALUES('010*********','杨学全','男', '1967-02-02','研究生','主任','副教授','01','计算机')/*-- 8、向‘教师任课’表添加数据--*/USE studentGO--select* from 教师任课INSERT INTO 教师任课(教师编号,课程号,专业学级,专业代码,学年,学期,学生数,学时数,酬金,开始周,结束周)V ALUES ('010*********','0001', '2006', '0101','2006', '1',0,0,0,0,0)/*-- 9、向‘课程注册’表添加数据--*/-USE studentGO--select * from 课程注册INSERT INTO 课程注册(学号,教师编号,课程号,专业学级,专业代码,选课类型,学期,学年,收费否,注册,成绩,学分)SELECT DISTINCT 学生.学号,教师任课.教师编号,教师任课.课程号,教学计划.专业学级,教学计划.专业代码,' ',教学计划.开课学期,0,0,0,0,0FROM 学生JOIN 班级ON 学生.班级代码=班级.班级代码JOIN 教学计划ON 班级.专业代码=教学计划.专业代码JOIN 教师任课ON 教学计划.课程号=教师任课.课程号--*--?这里不理解?--*--------------------------------- 数据添加完成---------------------------------------------------------------------------修改数据--update 表名set 字段1='值1' , 字段2='值2' , ...use studentgoupdate 教学计划set 开始周=2 where 专业代码='0101'go--select * from 教学计划--select * from 课程注册update 课程注册set 成绩=(注册号-9999999),学分=3goupdate 课程注册set 成绩=85 where 课程号='0001' and 学号='060101001001' --------------------- 数据修改完成--------------------------------------------------------------------------删除一行数据--delete from 表名where 条件--将表清空--delete from 表名--------------- 删除结束--------------------------------------------------------------------------------将‘系部备份’表,而且数据来源于‘系部’表------------------------------------------use Studentgocreate table 系部备份(系部代码char(2) constraint pk_xbdmbf primary key not null,系部名称varchar(30) not null,系主任varchar(8) not null)goinsert into 系部备份(系部代码,系部名称,系主任)select 系部代码,系部名称,系主任from 系部go-----------------------------------------------------------------------------------简单查询----------------------------/*--基本语法如下:select select_list[into new_table_name]from table_list[where search_condition][group by group_by_list][having search_condition][order by order_list[asc|desc]]*/--select 课程号,课程名称from 课程go----运算select 姓名,year(getdate())-year(出生日期) as 年龄from 学生go----为字段指定别名的三种方式select 姓名name, 性别as sex, birttday=出生日期from 学生go----取消重复值select 学号from 课程注册goselect distinct 学号from 课程注册go----限制返回行数select top 3 * from 课程注册goselect top 20 percent 注册号,学号,课程号,教师编号from 课程注册goselect * from 课程注册go----查询满足条件的元祖select * from 教师go----比较大小select * from 教师where year(getdate())-year(出生日期)<=35go----确定范围select 教师编号,姓名,出生日期from 教师where 出生日期between '1971-01-01'and '1980-12-31' go----确定集合select 班级代码,班级名称from 班级where 系部代码in('01','02')go--字符匹配,类型如下/*a%b -->以a开头,以b结束的任何字符串_ -->代表任意一个字符串[] -->a[bcdef]表示以a 开头,以b/c/d/e/f 中任意一个结尾的字符[^] -->表示不再[]中列出的任意一个字符*/select * from 学生where 姓名like '刘%'go--insert into 课程(课程号,课程名称,备注) values('0005','Delphi_6.0','程序设计') go----escape 表示'/'不再有转义字符的作用select 课程号,课程名称from 课程where 课程名称like 'Delphi/_6.0' escape'/' go----涉及空值查询select * from 班级where 备注is nullgo------order by 对查询结果排序(asc 升序desc 降序)select * from 教师where 性别='男' order by year(getdate())-year(出生日期) desc go--select * from 学生order by 班级代码desc,学号ascgo----统计数据/*count([distinct|all]*)count([distinct|all]<列名>)sum([distinct|all]<列名>)avg([distinct|all]<列名>)max([distinct|all]<列名>)min([distinct|all]<列名>)*/select count(*) as 学生总数from 学生go--select avg(year(getdate())-year(出生日期)) as 平均年龄from 学生go------group by 列名[having 筛选条件表达式]select 课程号,count(*) as 选课人数from 课程注册group by 课程号having count(*)>3go --[查询‘课程注册’表中选课人数在3人以上的各个课程号和相应的选课人数]----compute 集合函数[by 列名]select * from 课程注册order by 学号compute sum(成绩)go --[查询所有学生的所有成绩的综合]--select sum(成绩) from 课程注册【同上等效】--select * from 课程注册order by 学号compute sum(成绩) by 学号go --[统计每个学生的成绩]----用查询结果生成新表select * into 班级副本from 班级go--select * from 班级副本select * into 学生副本from 学生where 1=2go --【由于1=2永远不成立,新表中将不会插入任何的数据】--select * from 学生副本----Union 合并结果集select * from 课程注册where 专业代码='0101'unionselect * from 课程注册where 成绩>78go --[查出0101专业的所有选课学生与成绩高于78分的学生并集【类似‘或’的作用】] --select 学号,'选择了0001号课程'as 备注from 课程注册where 课程号='0001'unionselect 学号,'选择了0002号课程'as 备注from 课程注册where 课程号='0002'go --选择了0001号课程,或是0002号课程的学生-------------基本查询案例-----------1.模糊查询select * from 学生where 姓名like '[刘,张,罗]%' order by 姓名go --[查询姓刘,张,罗的所有学生]--2.集合查询select 课程号,学号,成绩from 课程注册where 课程号in('0001','0002','0003')order by 课程号asc ,成绩descgo --【可以尝试用union实现】--3.使用集合函数select count(*)as 学生总数,max(成绩) as 最高分,min(成绩) as 最低分,avg(成绩) as 平均成绩from 课程注册where 课程号='0001'go--4.结果分组select 学号,sum(成绩)as 总成绩from 课程注册group by 学号having sum(成绩)>300go--------------------*基本查询结束*----------------------------use studentgo---------------------数据高级查询-----------------------------1.连接查询---------------1.1、交叉连接查询/*select column_list from 表1 cross join 表2*/--[生成‘学生1’和‘单科成绩’表,插入数据,交叉连接查询‘学生1’与‘单科成绩’]select 学号,姓名into 学生1 from 学生where 1=2go --利用‘学生’生成‘学生1’的表结构,但无数据【因为where 1=2 不成立】select 学号,成绩into 单科成绩from 课程注册where 1=2go --‘课程注册’生成‘单科成绩’表结构execute sp_help 学生1goinsert into 学生1(学号,姓名) values('11','杨文生')insert into 学生1(学号,姓名) values('12','唐国栋')insert into 学生1(学号,姓名) values('14','梁亮')goinsert into 单科成绩(学号,成绩) values('11','80')insert into 单科成绩(学号,成绩) values('13','98')insert into 单科成绩(学号,成绩) values('15','76')go --向两个新表插入数据select * from 学生1 cross join 单科成绩go --交叉连接查询--1.2、等值与非等值查询/*[<表1>.]<列> <比较运算符> [<表1>.]<列>比较运算符:=、>、<、>=、<=、!=*/--等值查询/*select column_list from table1 [inner]join table2 on table1.column=table2.column通常以‘on 主键=外键’的形式作为连接条件*/--等值连接select * from 学生1 inner Join 单科成绩on 学生1.学号=单科成绩.学号go--自然连接:去掉等值连接中重复的属性列select 学生1.学号,姓名,成绩from 学生1 inner Join 单科成绩on 学生1.学号=单科成绩.学号go--表的别名select s.学号,姓名,成绩from 学生1 as s inner join 单科成绩as c on s.学号=c.学号go--1.3、自身连接查询/*自身连接中,必须为表指定别名*/select distinct a.学号,a.课程号from 课程注册as a Join 课程注册as b on a.学号=b.学号and a.课程号!=b.课程号order by a.学号go --[查询选修了两门或两门以上的课程的学生的学号和课程号]--1.4、外连接查询:左外连接、又外连接、全连接--左外连接/*select column_listfrom table1 left [outer]join table2on 表1.列=表2.列以table1【左表】为主表,与table2 连接,满足记录的,将table2.column 数据输出,不满足的填充null example:*/select * from 学生1 left outer Join 单科成绩on 学生1.学号=单科成绩.学号go--右外连接/*与左外连接相反【反上】example:*/select * from 学生1 right outer join 单科成绩on 学生1.学号=单科成绩.学号go--全连接/*select column_listfrom table1 full [outer]join table2on 表1.列=表2.列相当于先进行右外连接,再进行左外连接example:*/select * from 学生1 full outer join 单科成绩on 学生1.学号=单科成绩.学号go--1.5、复合连接条件查询/*on连接中有多个条件,成为复合连接条件。

T-SQL语法

T-SQL语法

T-SQL语法⼀、数据库存储结构SQL Server 7.0中的每个数据库有多个操作系统⽂件组成,数据库的所有资料、对象和数据库操作⽇志均存储在这些操作系统⽂件中。

根据这些⽂件的作⽤不同,可以将它们划分为以下三类:主数据⽂件:每个数据库有且只有⼀个主数据⽂件,它是数据库和其它数据⽂件的起点。

主数据⽂件的扩展名⼀般为.mdf;辅数据⽂件:⽤于存储主数据⽂件中未存储的剩余资料和数据库对象,⼀个数据库可以没有辅数据⽂件,但也可以同时拥有多个辅数据⽂件。

辅数据⽂件的多少主要根据数据库的⼤⼩、磁盘存储情况和存储性能要求⽽设置。

辅数据⽂件的扩展名⼀般为.ndf;⽇志⽂件:存储数据库的事务⽇志信息,当数据库损坏时,管理员使⽤事务⽇志恢复数据库。

⽇志⽂件的扩展名⼀般为.ldf。

每个数据库中⾄少两个⽂件:主数据⽂件和⽇志⽂件。

SQL Server数据库⽂件除操作系统所赋予的物理⽂件名称外,还有⼀个逻辑名称。

数据库的逻辑名称应⽤于Transact-SQL语句中。

例如,对于master系统数据库,master为其逻辑名称,使⽤Transact-SQL语句操作数据库时,均使⽤该名称。

⽽对应的物理⽂件名称为master.mdf、其⽇志⽂件名称为master.ldf。

为了管理⽅便,可将多个数据库⽂件组织为⼀组,称作数据库⽂件组。

⽂件组能够控制各个⽂件的存放位置,其中的每个⽂件常建⽴在不同的硬盘驱动器上,这样可以减轻每个磁盘驱动器的存储压⼒,提⾼数据库的存储效率,从⽽达到提⾼系统性能的⽬的。

SQL Server采⽤⽐例填充策略使⽤⽂件组中的每个⽂件提供的存储空间。

在SQL Server中建⽴⽂件和⽂件组时,应注意以下两点:每个⽂件或⽂件组只能属于⼀个数据库,每个⽂件也只能成为⼀个⽂件组的成员,⽂件和⽂件组不能跨数据库使⽤;⽇志⽂件是独⽴的,它不能成为⽂件组的成员。

也就是说,数据库的资料内容和⽇志内容不能存⼊相同的⽂件或⽂件组。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FOR) ................................................................................................................... 4
4、检查(CHECK(……)) ......................................................................................................................................... 4 5、外键(FOREIGN KEY(列名) REFERENCES 主表名(列名)) ................................................................................... 4 6、删除约束 ......................................................................................................................................................... 4 五、通配符 ............................................................................................................................................................... 4 六、插入数据 ........................................................................................................................................................... 5 1、注意事项 ......................................................................................................................................................... 5 2、插入多行数据 ................................................................................................................................................. 5 七、更新数据行 .......................................................................................................................... 6 八、删除数据行 ....................................................................................................................................................... 7 1、删除指定的行 ................................................................................................................................................. 7 2、删除所有记录 ................................................................................................................................................. 7 九、查询 ................................................................................................................................................................... 7 1、查询全部的行和列 ......................................................................................................................................... 7 2、查询部分行 ..................................................................................................................................................... 7 3、自定义命名查询结果中的列名 ..................................................................................................................... 8 十、模糊查询 ......................................................................................................................................................... 10 1、LIKE.............................................................................................................................................................. 10 2、IS NULL ........................................................................................................................................................ 10 3、BETWEEN .................................................................................................................................................... 11 4、IN .................................................................................................................................................................. 11 十一、聚合函数 ..................................................................................................................................................... 11 1
SQL Server 编程入门
作者:徐佳
T—SQL 目录 一、T—SQL 的组成 ................................................................................................................................................ 1 1、DML(数据操作语言 DATA MANIPULATION LANGUAGE) ................................................................................ 1 2、DCL(数据控制语言 DATA CONTROL LANGUAGE) .......................................................................................... 1 3、DDL(数据定义语言 DATA DEFINITION LANGUAGE) ....................................................................................... 1 4、变量说明、流程控制、功能函数 ................................................................................................................. 1 二、库 ....................................................................................................................................................................... 1 1、建立库............................................................................................................................................................. 1 2、删除库............................................................................................................................................................. 2 三、表 ....................................................................................................................................................................... 2 1、建表................................................................................................................................................................. 2 2、删表................................................................................................................................................................. 3 四、约束 ................................................................................................................................................................... 3 1、主键(PRIMARY KEY) ......................................................................................................................................... 3 2、唯一性(UINQUE) .............................................................................................................................................. 4 3、默认填写(DEFAULT('……' )
相关文档
最新文档