语言大都是想通的,高级语言都是简单易懂的。不像汇编语言那么接近底层硬件。像c语言、java语言 、c++语言、c# .net语言等语言基本语句结构一样,(c语言是基础,大家应该都有所了解了 ^_^ ),学会一种像其他语言发展也不是很难。这里说的T-SQL语言看名字就知道和数据库有关,主要用于为数据库的操作命令而服务的。
运行环境及界面展示
(1).运行环境:这里使用的是sql server2012
(2).通过T-SQL语言写的小程序及控制台结果显示:
declare @a int,@b int,@num int,@hello varchar(20)
set @hello = 'Hello World'
set @a = 1
set @b = 2
set @num = @a + @b
print(@hello)
print(@num)
结果如下:
(1).其中 'declare'关键字用来声明数据变量及数据类型,程序中第一行声明 int型变量 a,b,num及 varchar型变量hello;
(2).变量需用 '@'符号标识,不使用 '@'标识常量不被识别程序报错。
(3).'set' 关键字一般用于赋值及运算
(4).'print' 输出函数,显示内容在控制台。相当于c语言的输出printf()
(5).注释语句,'--' 相当于C语言的'//','/**/'
(1)选择结构
--三个数的大小
declare @x int, @y int, @z int, @min int, @max int
select @x = 2, @y = 3, @z = 4
set @min = @x
set @max = @y
if @min > @y
set @min = @y
if @min > @z
set @min = @z
if @max < @y
set @max = @y
if @max < @z
set @max = @z
print('三个数中最大的数是:')
print @max
print('三个数中最小的数是:')
print @min
结果如下:
其中if 可与else组合使用
(2)循环结构--循环结构 求 1/1+ 1/2 +....>10 用了多少步
declare @now float, @time int
set @now = 0.0
set @time = 0
while @now <= 10
begin
set @time = @time + 1
set @now = @now + 1.0/@time
end print('当1/1+ 1/2 +....的值大于10时的程序运算次数为:')
print @time
结果如下:
其中begin -- end 相当于{}大括号的作用,包含在begin -- end之间的为一个语句块,同样begin -- end支持嵌套使用。
顺序结构就没被必要通过 T-SQL再写个小程序了。然后上面的两个小程序只是简单的展示部分语句,同样循环结构支持 for 语句,选择结构支持case等。
------------------------------------- then ------------------------------------
到这里还没看出来 T-SQL语言有什么用,如果仅仅是写程序的话其他语言都可以,并且基本的 c语言就能实现。
这里就通过一个实用程序展示一下该语言的用处。该语言支持数据库sql server语句。主要引入程序的思想来解决数据库中对记录,对数据的操作。举个例子,像如果要插入一组数据,数据量很大,单个执行insert 语句是不是要执行多次,而这里循环结构就写几行代码执行即可。
create database zyn --创建数据库
use zyn
--创建表test
create table test
(
id int,
name varchar(20),
age int,
gender varchar(20)
)
--修改表结构
alter table test add grade int
alter table test alter column gender varchar(15)
--小程序:插入10000条记录到test表
declare @_id int, @_age int, @_grade int , @_gender varchar(20), @_name varchar(20)
--范围:1-10000 17-25 60-99 m f
declare @i int, @j int ,@k int ,@l int, @n varchar(20)
set @i = 0
while @i < 10000
begin
set @_grade = 0
set @j = 0
set @_id = 0
set @_age = 0
set @k = 0
set @n = ''
while @j < 5
begin
set @n = @n + CHAR(RAND()*25+65)
set @j = @j + 1
end
set @_name = @n
--age
set @_age = RAND()*8+17
--grade
set @_grade = RAND()*39 + 60
--gender
set @k = RAND()*2
if @k = 0
set @_gender = 'famale'
else
set @_gender = 'male'
--id
set @_id = @i + 1
--将生成的数据通过sql语句insert插入表test
insert into test values(@_id,@_name, @_age, @_gender, @_grade)
set @i = @i +1
end
--查询
select * from test
程序查询结果如下:
上程序实现了基本的数据库的创建,表的创建与基本操作,通过 T-SQL程序随机生成的 10000条记录通过 insert语句插入表 test中。
当然该语言的功能不止于此,还可以管理数据库,通过触发器监听对数据进行操作的记录等详细信息到日志文件。可根据用户需求对数据库中的表自由灵活的拆分组合成新的表。T-SQL语言的使用方便了数据库的管理与数据处理。