当前位置:首页 > 数据库 > Sqlserver

sqlserver练习

1.基本表的练习:

            create
            table
             Test(
    name 
            varchar(4),
    age int,
    sex varchar(2)
)
altertable Test
add id char(16)
altertable Test
altercolumn id varchar(16)
altertable Test
dropcolumn id
droptable Test
select*from Test

 

2.记录操作DML:

            create
            table
             Test(
    name 
            varchar(4),
    age int,
    id char(16)
)
altertable Test
 altercolumn name varchar(6) 
insertinto Test 
values(崔哥哥,15,311409060209);--注意单引号deletefrom Test
where name=崔哥哥update Test set age=18where name=崔哥哥bulkinsert Test 
fromC:UsersAdministratorDesktoptest.txtwith(
    fieldterminator=,rowterminator=n
)

select name from Test whereLEN(id)=7orderby age 
--desc ascselect*from Test

 

3.function用法:

            --
            declare @a int, @b int
            
--
            print rand()*26+65
            
--
            select @a=cast(‘123‘ as int), @b=convert(int,‘456‘);
            
--
            print @b
            
--
            print ascii(‘A‘)
            
--
            print char(rand()*26+65)
            --
            print substring(‘李四‘,1,1);
            
--
            select * from Test
            
--
            where left(name,1)=‘崔‘ or right(name,1)=‘三‘or substring(name,2,1)=‘四‘
            print
            getdate
            ()

            print
            dateadd(day,2,getdate())
printdateadd(minute,2,getdate())
printdateadd(second,2,getdate())
printdateadd(hour,2,getdate())
printdatediff(second,getdate(),dateadd(hour,2,getdate()))
printdatepart(week,getdate())-datepart(week,dateadd(month,-1,getdate()))
printstr(1.25,3,1)+asd--print str(参数1,参数2,参数3)
--参数2表示转换后的数据的总位数,包括小数点,正负号
--参数3表示转换后的数据的小数位数

 

4.bulk insert用法:

            bulk
            insert
             Test 

            from
            
            C:UsersAdministratorDesktoptest.txt
            
            with
            (
    fieldterminator
            =
            
            ,rowterminator=n
)

 

5.cursor用法:

            --
            declare mycursor scroll cursor for select * from Test
            open
             mycursor

            declare
            @name
            varchar(6),@ageint,@idchar(16)

fetch first from mycursor into@name,@age,@idprint@nameprint@ageprint@idwhile@@FETCH_STATUS=0beginfetchnextfrom mycursor into@name,@age,@id--absolute 10print@nameprint@ageprint@idendclose mycursor
deallocate mycursor

 

6.primary key,unique,not null, check用法:

            alter
            table
             Test 

            drop
            column
             name


            select
            *
            from
             Test

            delete
            from
             Test


            select
            *
            from
             Test


            alter
            table
             Test

            add name varchar(6) primarykeyaltertable Test
altercolumn id varchar(16) notnullaltertable Test
dropcolumn age
altertable Test
add age intcheck( age>=0and age<=100)

 

7.view and index:

            create
            view myview asselect*from Test
select*from myview
select*from myview where age=18createclusteredindex myindex on Test(age)
alterindex myindex on Test rebuild
dropindex Test.myindex

 

8.trigger用法:

 

原文:http://www.cnblogs.com/handsomecui/p/6005876.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!