数据库基础2

1.更改数据库的名称

--更改数据库的名称,逗号前面是之前的,后面是之后的
sp_renamedb stu,xue

2.表中有数据的情况下再添加列、删除列

alter table shuiguo add [chandi] varchar(10)--后来添加列,只能默认可以为空值
alter table shuiguo drop column [chandi]  --删除列

3.在SQLServer 中各种查询语句的使用示例

 

4.模糊查询的语句

--查询名字中在明的所有数据(模糊查询)
--百分号只有前面的代表以明为结尾的
--百分号只有后面的代表以明为开头的
--百分号代表可以为任意字符,可为多个
select  *from xtu where name like'%明%'
--下划线代表任意一个字符
select *from xtu where name like'张__'

5.排序语句、排序并查前三名的语句

--按照英语成绩排序,升序,asc可不写,默认为升序
select *from xtu order by yingfen asc
--降序
select *from xtu order by yingfen desc
--查找按照英语成绩排序后,前三个的所有数据
select top 3*from xtu order by yingfen
--查找按照理综成绩降序后,前三个的所有数据
select top 3*from xtu order by lizong desc
--查询一班的所有数据并按语文成绩排序
select *from xtu where benji='一班'order by yufen 
--查询一班的所有数据并按语文成绩降序排列选出第一名
select top 1 *from xtu where benji='一班'order by yufen desc

6.聚合函数:sum,avg,max,min,count

--求平均分
select AVG(yufen) as'语文平均分' from xtu
--求个数
select COUNT(*) from xtu
select COUNT(*) from xtu where benji='一班'
--求最大
select MAX(lizong)from xtu where benji='三班'
--求最小
select MIN(yufen)as'语文最小分' from xtu where benji='一班'
--求和
select SUM(yingfen) from xtu
--组合使用聚合函数
select MAX(yufen)as'语文最高分',MIN(yingfen) as'英语最低分'from xtu where cid like '%0302%'

 

7.group by  分组的使用方法

 

--数学函数
--绝对值
select ABS(-7)
--取上线
select CEILING(3.14)
--取下线
select FLOOR(3.14)
--次方
select POWER(2,4)
--四舍五入
select ROUND(2.5,0)
--平方根
select SQRT(4)
--平方
select SQUARE(4)


--字符串函数
--将字符转换为ascii码
select ASCII('i')
--将ascii码转换为字符
select CHAR(110)
--查看第一次出现的索引号
select CHARINDEX('eabc','abcdefghjklmn')
--截取,从左往右
select LEFT('abcdefghjklmn',4)
--截取,从右往左
select RIGHT('abcdefghjklmn',4)
--字符串长度,若前面有空格,那就算上,后面的不算
select LEN(' abcde ')
--转大写
select UPPER('abcdefg')
--转小写
select LOWER('ABCDEFG')
--去除前面的空格
select LTRIM(' abcd')
--去除后面的空格
select RTRIM(' abcd ')
--复制
select REPLICATE('abc',2)
--将小数转换为字符串
select STR(2332.32121,3,1)


--时间日期函数
SET DATEFIRST 1
SELECT @@DATEFIRST AS '1st Day', DATEPART(dw, GETDATE()) AS 'Today'
select GETDATE()
--增加月份
select DATEADD(MONTH,5,'2016-8-31')
--算时间差
select DATEDIFF(DAY,'2008-8-8','2016-8-31')
--精确获取时间
select SYSDATETIME()

posted on 2016-08-31 16:28  fei!  阅读(210)  评论(0编辑  收藏  举报