这里分为二十二个课时把平时学习到的SqlServer数据库知识要点在这里一一罗列下来,作为工作中笔记速查,不管是面试还是在项目中对SqlServer数据库的操作应用,这些知识点都是非常基础和常用的,有必要把它们汇总记录、日后备查!话不多说,直接上干货!
登录数据库的方式:
①Windows身份验证;
②Sql Server身份验证
nvachar 存储类型
遇到操作系统是英文操作系统并且对中文字体的支持不全面时,在SQL Server存储中文字符为varchar就会出现乱码(显示为??),唯一能解决问题的是把数据库字段的类型改为nvarchar或 者nchar。
使用nvarchar的另一个非常好处就是在判断字符串的时候可以不需要考虑中英文两种字符的差别.当然,使用nvarchar存储英文字符会增大一倍的存储空间,但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的。
选择主表的某一列,右键点击“关系”,添加关系,在表和列规范点击,
设置好主键表和外键表的关联ID即可:
设置主键自增
select top 7 * from Student; ##查询表中的行数据 select top 5 percent * from Student; ##查询表中的5%的数据
select ShoolID 学校编号, COUNT(*) 学生数量, SUM(Score) 成绩总和 FROM student GROUP By SchoolID
举例:
如查询山东大学所有的学生信息:
①最笨的方式实现;
首先查询到山东大学的编号,然后根据编号查询出学生信息;
②连接表方式;
③子查询;
Select * from student where student.SchoolID = (select SchoolID from School where SchoolName = '山东大学’);
举例:
我们要查询所有学校编号大于山东大学编号的学生信息。
Select * from student where student.SchoolID > (select SchoolID from School where SchoolName = '山东大学’);
注意声明和使用必须同时执行。
示例Sql代码:
create procedure pro_student1 as select * from Student; select * from School; exec pro_student1 go create procedure pro_student2 ( @name varchar(50), @sname varchar ) as select * from Student where Name = @name; select * from School where SchoolName = @sname; exec pro_student2 '王小二', '西南财经大学' go create procedure pro_student3 ( @name varchar(50), @sAge int output ) as select @sAge = Age from Student where Name = @name; declare @outAge int; exec pro_student3 '王小二',@outAge output print @outAge
联系客服