T-SQL语言入门

数据库语言 T-SQL的简单使用

————————————- first ————————————-
一、前言

语言大都是想通的,高级语言都是简单易懂的。不像汇编语言那么接近底层硬件。像c语言、java语言 、c++语言、c# .net语言等语言基本语句结构一样,(c语言是基础,大家应该都有所了解了 ^_^ ),学会一种像其他语言发展也不是很难。这里说的T-SQL语言看名字就知道和数据库有关,主要用于为数据库的操作命令而服务的。

运行环境及界面展示

(1).运行环境:这里使用的是sql server2012

(2).通过T-SQL语言写的小程序及控制台结果显示:

《T-SQL语言入门》

————————————- next ————————————

二、简单的小程序

1.hello world及简单的a+b

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)

结果如下:

《T-SQL语言入门》


(1).其中 ‘declare’关键字用来声明数据变量及数据类型,程序中第一行声明 int型变量 a,b,num及 varchar型变量hello;

(2).变量需用 ‘@’符号标识,不使用 ‘@’标识常量不被识别程序报错。

(3).’set’ 关键字一般用于赋值及运算

(4).’print’ 输出函数,显示内容在控制台。相当于c语言的输出printf()

(5).注释语句,’–‘ 相当于C语言的’//’,’/**/’

2.基本的语法结构

(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

结果如下:

《T-SQL语言入门》


其中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

结果如下:

《T-SQL语言入门》


其中begin — end 相当于{}大括号的作用,包含在begin — end之间的为一个语句块,同样begin — end支持嵌套使用。

顺序结构就没被必要通过 T-SQL再写个小程序了。然后上面的两个小程序只是简单的展示部分语句,同样循环结构支持 for 语句,选择结构支持case等。


————————————- then ————————————

三、T-SQL的实用性

到这里还没看出来 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语言入门》

上程序实现了基本的数据库的创建,表的创建与基本操作,通过 T-SQL程序随机生成的 10000条记录通过 insert语句插入表 test中。

当然该语言的功能不止于此,还可以管理数据库,通过触发器监听对数据进行操作的记录等详细信息到日志文件。可根据用户需求对数据库中的表自由灵活的拆分组合成新的表。T-SQL语言的使用方便了数据库的管理与数据处理。

———————————— end ————————————-

    原文作者:niaonao
    原文地址: https://blog.csdn.net/niaonao/article/details/53097993
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞