T-SQL言語
四つの部分を使用することにより
- データ定義言語(CREATE、DROP、ALTER)
- データ操作言語(INSERT、DELETE、UPDATE)
- データクエリ言語(SELECT)
- データ制御言語(GRANT、REVOKE、DENY)
データの種類
- システムデータ型
- ユーザ定義のデータ型(セットアップモード:.コマンドモードグラフィカルbで)。
1 使用TEST 2 のEXECにsp_addtypeのSNO、' VARCHAR(10)'、' nonull ' 3 EXEC sp_droptype SNO
変数
命名規則:
手紙、アンダースコア、@や#始まり、すべてではありませんが、アンダースコア、@や#
「キー」にすることはできません、埋め込みスペースや他の特殊文字にすることはできません、それは二重引用符または角カッコの使用のために必要です
1.ローカル変数:
ユーザーが宣言し、それが必要である@に始まるだけプロセス変数の定義に有効な、ローカル変数は、使用後に宣言する必要があります
注意:
- あなたは変数を宣言する最初の時間は、その値はNULLに設定されています。
- ローカル変数は、フォーマット「変数=変数値が」されるように初期化されている使用することはできません、その初期値を設定するために使用されるか、またはSET SELECTステートメント。
- あなたが宣言すると、文字のローカル変数のを、変数の型の最大長を指定してください、システムは、長さが1であることを前提としています。
- する複数の宣言、ローカル変数を最初のローカル変数が定義された後にコンマを使用し、ローカル変数の名前とデータ型を指定します。
1 USEの学生 2 DECLARE @ VAR1 CHAR(10)、@ VAR2 INT 3 SET @ VAR1 = ' 番号' 4 選択 @ VAR2 = cgrade 5 からSC 6 SNO = ' 201810010 ' 7 8 プリントVAR1 @ + "S"
2.グローバル変数:
システムによって定義され、システムが使用する変数の内部SQLサーバーのために、任意のプログラムは、いつでも呼び出すことができます。通常は「@@」で始まります。
T-SQLステートメント
1.ノート声明
(1) -
(2)/ * ... * /
2.バッチ--go
3.制御フロー文
(1)BEGIN ... ENDステートメント(C言語に対応します{})
(2)の場合... else文(ネスト可能)
(3)ケースステートメント(多基準選択ステートメント)
(4)print文(画面出力文)
(5)ステートメント一方(条件付きのループ)
(6)goto文(無条件ジャンプ声明)
(7)break文
(8)は声明を続けます
4.一般的な機能(システム関数、ユーザ定義関数)
いくつかのシステム機能:
(1)文字列関数
(2)数学関数
(3)日付と時刻関数
(4)集計関数
注意:
ユーザー定義関数:
1.カテゴリー:
スカラ値関数は:単一の値を返します。
インライン表関数:テーブルの更新可能なを返します
マルチステートメントテーブル値関数:リターンテーブルを更新することはできません
スカラー値関数のコマンドモードを作成します。2.
1 CREATE FUNCTION f2(@a real,@b real) 2 RETURNS real 3 AS 4 BEGIN 5 IF @a>=@b 6 RETURN @a 7 RETURN @b 8 END 9 10 PRINT '最大值为' 11 PRINT dbo.f2(77,56)
1 CREATE FUNCTION f3(@n real) 2 RETURNS real 3 AS 4 BEGIN 5 DECLARE @i real,@sum real 6 SET @i=0 7 SET @sum=0 8 WHILE @i<@n 9 BEGIN 10 SET @i=@i+1 11 SET @sum=@sum+@i 12 END 13 RETURN @sum 14 END 15 16 PRINT dbo.f3(10)
3.自定义函数的调用
(1)标量值函数可以使用select、print、exec调用
(2)表值函数只能用select调用
4.删除方式
drop function 函数名
数据库与表
数据库概述
1.数据库常用对象:
表、数据类型、视图、索引、存储过程、触发器
系统数据库:
master、model、tempdb、msdb
2.数据库存储结构(数据库文件、数据库文件组):
数据库文件:
存放数据库数据和数据库对象的文件。一个数据库文件只属于一个数据库。
(1)主数据文件
是数据库的起点,指向数据库中文件的其他部分。每个数据库都有一个主数据文件。主数据文件的扩展名是 .mdf
(2)次数据文件
包含除主数据文件外的其他数据文件。有些数据库可能没有次数据文件,而有些数据库则有多个次数据文件。次数据文件的扩展名是 .ndf
(3)日志文件
包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的扩展名是 .ldf
数据库文件组:
文件组允许多个数据库文件组成一个组,并对它们整体进行管理。
文件组是将多个数据文件集合起来形成的一个整体(主文件组+次文件组)
一个数据文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用
日志文件不分组,他不属于任何文件组
创建数据库
1 CREATE DATABASE student 2 ON PRIMARY 3 ( 4 NAME=student_data, 5 FILENAME='d:\student_mdf.mdf', 6 SIZE=20, 7 MAXSIZE=unlimited, 8 FILEGROWTH=25% 9 ), 10 ( 11 NAME=student_data1, 12 FILENAME='d:\student_ndf.ndf', 13 SIZE=20, 14 MAXSIZE=25, 15 FILEGROWTH=25% 16 ) 17 LOG ON 18 ( 19 NAME=student_log1, 20 FILENAME='d:\student_ldf1.ldf', 21 SIZE=3, 22 MAXSIZE=10, 23 FILEGROWTH=1 24 ), 25 ( 26 NAME=student_log2, 27 FILENAME='d:\student_ldf2.ldf', 28 SIZE=3, 29 MAXSIZE=10, 30 FILEGROWTH=1 31 )
修改数据库
ALTER DATABASE 语句的选项较多,但一次只能选择其中一项,所以还是比较简单的。
删除数据库
对于不再使用的数据库应该删除它以释放数据库所占用的存储空间。
只有处于正常状态下的数据库,才能使用drop语句删除(当数据库正在使用或正在恢复等不能删除)
DROP DATABASE tsg1,tsg2,tsg3
表的概述
数据表也简称为表,它是数据库中唯一用来存储数据的对象,是整个数据库的核心和基础。
1.数据库与数据表的关系
- 数据库包含数据表,一个数据库可以包含多个数据表。数据表是数据库的对象。
- 一个数据库对应一个文件。一个数据库对应一个主题。
- 先创建数据库,再创建数据表。先打开数据库,再打开数据表。
2.数据表的组织
不同的数据模型组织表的方式不同,在基于关系模型创建的数据表中,数据是以行和列的形式进行组织和保存的,我们也称为“二维表”。
3.数据表的组成
数据表一般由以下三部分组成
(1)表名
表名既用于概括表中的信息,也方便引用。可以根据需要对表重新命名,但重新命名前,需要将数据表关闭。
(2)表结构
所谓表结构就是不包括任何记录的数据表,也称为“空表”。空表通常只有字段名及其属性,没有任何数据。
(3)表记录
数据表中除字段名外的每行称为一条“记录”。
每一条记录的内容由其对应的数据项组成,反应某个事物相关信息的原始数据。
只有在建立了表结构后才能向表中输入记录。记录的内容随时可以根据需要更改。
4.数据表的创建与修改
创建表的过程,实际上是定义表的结构,确定表的组织形式的过程。
具体讲就是定义表中属性的个数、属性名、属性的数据类型、属性大小、定义索引、主键以及完整性等。
在创建表之前要设计号表的结构,确定上述内容,并确定无误才开始具体的建表操作。
SQL语句创建表
1 USE stu 2 CREATE TABLE student 3 ( 4 sno varchar(10) not null primary key, 5 sname varchar(20) , 6 sgender char(2) , 7 sage int , 8 sdept varchar(20) 9 ) 10 11 USE stu 12 CREATE TABLE course 13 ( 14 cno varchar(10) not null primary key, 15 cname varchar(20) , 16 ccredit smallint17 ) 18 19 USE stu 20 CREATE TABLE sc 21 ( 22 sno varchar(10) not null, 23 cno varchar(10) not null, 24 cgrade smallint , 25 primary key(sno,cno), 26 foreign key (sno) references student(sno), 27 foreign key (cno) references course(cno) 28 )
SQL语句修改表结构
SQL语句删除表
SQL语句插入元组
SQL语句修改表
SQL语句删除元组