按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
Real 可以存储的数据的精度为 1。18E…38 to +3。40E38
日期类型
datetime 可以存储的数值从 Jan 1; 1753 到 Dec 31; 9999
Smalldatetime 可以存储的数值从 Jan 1; 1900 到 Jun 6; 2079
货币类型
money 的存储数值上限为+922;337;203;685;477。5808
smallmoney 的存储数值上限为+214;748。3647
在向表中输入 MONEY 数值类型时要使用美元符号 例如
insert payment_tbl (customer_id; paydate; pay_amt)
values (012845; 〃May 1; 1997〃; 2099。99)
二进制串
binary 存储着长度固定的二进制串
412
…………………………………………………………Page 413……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
Varbinary 存储着长度可变的二进制串
Image 则用于存储非常大的二进串类型 例如图形和图像
位 逻辑数据类型
bit 数据类型经常用在表中对某行数据进行标识 存储在 bit 数据类型中的数据只有 0
和 1 例如 如果 1 代表符合某个条件 那么 0 就表示不符合这个条件 在下例中使用了 bit
数据类型来创建了一个包括个人测试成绩的表格
create table test_flag
( ind_id int not null;
test_results int not null;
result_flag bit not null)
分析
在这里 result_flag 列被定义为 bit 类型 因为这时只需要返回是及格还是不及格 如
果及格就为 1 否则为 0
在今天的余下的时间里 你应该注意在确定的表格中数据类型的使用以及如果写
TRANSACT…SQL 代码
注 在今天的例子中的代码既可以是大写也可以是小写 尽管在大多数的 SQL 解释器中 SQL
的关键字大小写是不敏感的 但是你还是应该检查你的解释器以进行最终的确定
使用 TRANSACT…SQL 来访问数据库
好了 说得够多了 如果你想运行今天的实例 你需要在名字为 BASEBALL 的数据
库中创建下边的表
BASEBALL 数据库
BASEBALL 数据库使用了三个表来对 BASEBALL 的信息进行追踪 这三个表分别是
BATTER PITCHERS 和 TEAM 表 在今天的剩余时间中我们将一直使用这个例子
413
…………………………………………………………Page 414……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
BASEBALL 表
NAME char(30)
TEAM int
AVERAGE float
HOMERUNS int
RBIS int
这个表可以使用下边的 TRANSACT…SQL 语句来创建
输入
1》 create database BASEBALL on default
2》 go
1》 use BASEBALL
2》 go
1》 create table BATTERS (
2》 NAME char(30);
3》 TEAM int;
4》 AVERAGE float;
5》 HOMERUNS int;
6》 RBIS int)
7》 go
分析
在第 1 行创建了数据库 你创建了名字为 BASEBALL 的数据库 然后在它的下面用
创建了一个 BASEBALL 的表
向表中输入下表的数据
注 在上例中的每个 TRANSACT…SQL 语句之后的 GO 命令并不是 TRANSACT…SQL 的组
成部分 它只是将 SQL 语句从前端送到的服务上
Name Team Average Homeruns RBIs
Billy Brewster 1 0。275 14 46
John Jackson 1 0。293 2 29
Phil Hartman 1 0。221 13 21
Jim Gehardy 2 0。316 29 84
414
…………………………………………………………Page 415……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
Tom Trawick 2 0。258 3 51
Eric Redstone 2 0。305 0 28
PITCHERS 表
可以用下边的 TRANSACT…SQL 语句来创建 PITCHERS 表
INPUT:
1》 use BASEBALL
2》 go
1》 create table PITCHERS (
2》 NAME char(30);
3》 TEAM int;
4》 WON int;
5》 LOST int;
6》 ERA float)
7》 go
向其中输入下表的数据
Name Team Won Lost Era
Tom Madden 1 7 5 3。46
Bill Witter 1 8 2 2。75
Jeff Knox 2 2 8 4。82
Hank Arnold 2 13 1 1。93
Tim Smythe 3 4 2 2。76
TEAM 表
可以用下边的 TRANSACT…SQL 语句来创建 TEAM 表
输入
1》 use BASEBALL
2》 go
1》 create table TEAMS (
2》 TEAM_ID int;
3》 CITY char(30);
415
…………………………………………………………Page 416……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
4》 NAME char(30);
5》 WON int;
6》 LOST int;
7》 TOTAL_HOME_ATTENDANCE int;
8》 AVG_HOME_ATTENDANCE int)
9》 go
Team_ID City Name Won Lost
1 Portland Beavers 72 63
2 Washington Representatives 50 85
3 Tampa Sharks 99 36
定义局部变量
每一个编程语言都为你提供了一种方法使你可以创建局部 或全局 变量以存储一些
数据 TRANSACT…SQL 当然也不例外 在 TRANSACT…SQL 中定义变量是非常容易的事
情 关键是你必须要使用 DECLARE 关键字 语法的形式如下
语法
declare @variable_name data_type
如果你想定义一个字符串来存储 PLAYER 的名字 那么你可以使用下边的语句
1》 declare @name char(30)
2》 go
注意在变量之前有一个@符号 这个符号在查询中用以标识变量
定义全局变量
如果你对 TRANSACT…SQL 看得更多 你会知道@@提示符会优先于系统级的变量
这个语法用以表明在 SQL SERVER 中定义的存储信息的全局变量
在使用存储过程的时候你可以