数据库基础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()