版权声明:转载请注明出处 https://blog.csdn.net/doubleguy/article/details/89709791
1.浮点型常用numeric,用法 numeric(m,n),m代表连上小数位总共有多少位(即这个浮点数的总位数),n代表小数点后的位数。如果省略n写成numeric(m)可以表示整数。float也有一种用法,float(n),其中n是浮点数的精度。
2.isnull(列名,整数n)函数,他的作用是当该列为null时返回整数n。
3.identity(m,n),自增函数.
从m开始,每次自增1。
用个例子展示。
首先要插入一条数据
insert into test (testName,testPass) values('zhang','bin')
然后一直用下面这个,他可以使当前数据翻一倍。当数据更新时,我们不用管testId这一列,他会自增。
insert into test (testName,testPass) select testName,testPass from test
完整代码为:
--identity(1,1),表示该testId字段自增,从1,每次+1
create table test(
testId int primary key identity(1,1),
testName varchar(30),
testPass varchar(30))
insert into test (testName,testPass) values('zhang','bin')
insert into test (testName,testPass) select testName,testPass from test
结果如下:
我们可以用这种方法快速使数据库的数据量变得非常大,用这种方法来测自己代码的效率。
4.分页查询,当数据量过大时,用单页查询非常耗时,而用分页就可以减轻电脑负担。我们还用第3题的表,要求test表按照id排序,取出其中的第6-10条记录。子查询查询的数据量越大,他相较于单页查询效率高的优势就越能体现出来。
select top 5 * from test where testId not in
(select top 5 testId from test)
结果如下:
5.default约束,设定列的默认值。当某一列没有插入值时,他会自动填充值,如果用户插入了值,那么他会优先按用户插入的值。
create table mes(
mesId int primary key identity(1,1),
mesCon varchar(50) not null,
mesDate datetime default getdate())
insert into mes (mescon) values('fuck you!')
insert into mes (mescon,mesdate) values('you such a bitch!','2010-10-01')
select * from mes
执行结果如下: