数据库和ADO.Net已经学完了,带领大家奋战的小杨老师也要休息一段时间了,真的有点舍不得呢,希望下面的老师教的也很好。简单复习一下数据库吧
1.关系数据库中的关系指的就是表(这句话小杨老师反复强调了,不会忘了)
2.创建数据库,创建表,创建列,数据的增删查改,约束都能写出来
3.空值null:数据库中,一个列如果没有指定值,那么值就为null,数据库中的null表示“不知道”,而不是表示没有。因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”
4.数据排序order by,数据分组group by,having语句都掌握了
5.类型转换cast和convent:CAST ( expression AS data_type),CONVERT ( data_type, expression,[style])
6.联合:将多个结果集合并成一个结果集。union(去除重复,相当于默认应用了distinct)、union all
7.聚合函数,字符串函数与日期函数:count(),max(),min(),avg();len(),datalength(),lower(),upper(),ltrim(),rtrim(),left(),right(),substring();getdate(),dateadd(),datediff();datepart()
8.ADO.Net
SqlHelper:
public static class SqlHelper { private static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; public static int ExecuteNonQuery(bool isproc ,string sql, params SqlParameter[] parms) { using (SqlConnection conn = new SqlConnection(connstr)) { using (SqlCommand cmd = new SqlCommand(sql, conn)) { conn.Open(); if (isproc == true) { cmd.CommandType = CommandType.StoredProcedure; } if (parms != null) { cmd.Parameters.AddRange(parms); } return cmd.ExecuteNonQuery(); } } } public static object ExecuteScalar(bool isproc ,string sql, params SqlParameter[] parms) { using (SqlConnection conn = new SqlConnection(connstr)) { using (SqlCommand cmd = new SqlCommand(sql, conn)) { conn.Open(); if (isproc == true) { cmd.CommandType = CommandType.StoredProcedure; } if (parms != null) { cmd.Parameters.AddRange(parms); } return cmd.ExecuteScalar(); } } } public static SqlDataReader ExecuteReader(bool isproc,string sql, params SqlParameter[] parms) { SqlConnection conn = new SqlConnection(connstr); using (SqlCommand cmd = new SqlCommand(sql, conn)) { if (parms != null) { cmd.Parameters.AddRange(parms); } try { conn.Open(); if (isproc == true) { cmd.CommandType = CommandType.StoredProcedure; } return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); } catch (Exception) { conn.Close(); conn.Dispose(); throw; } } } }
9.app.config
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add connectionString="Data Source=.;Initial Catalog=Itcast2013;Integrated Security=True" name="connstr" /> </connectionStrings> </configuration>
10.case函数:相当于switch case 或if else if...else
11.子查询:例如:查询高一一班和高二一班的所有学生
select * from student where sClassId in
(select cId from class where cName='高一一班' or cName='高二一班')
12.分页。分页的存储过程必须很熟练
create proc usp_GetCustomersByPage @pageindex int,--第几页 @pagesize int,--每页条数 @pagecount int output--总页数 as begin set @pagecount=CEILING((select COUNT(*) from Customers)/(@pagesize*1.0)) select * from (select *,ROW_NUMBER() over(order by customerid) as rn from Customers) as cust where cust.rn between (@pagesize-1)*@pagesize+1 and @pagesize*@pageindex end
13.表连接join:inner join,left join,right join:例如
select tClassName,tsname,tsage from TblClass
inner join TblStudent on tClassId= tSClassId
14.视图:视图是一张虚拟表;视图中的查询不能使用order by ,除非指定了top语句;create view vw_name as 后不能跟begin end.(必须要很熟练)
15.变量:
局部变量:
声明:DECLARE @变量名 数据类型 【=默认值】
赋值:SET @变量名 =值 --set用于普通的赋值
SELECT @变量名 = 值 --用于从表中查询数据并赋值
输出:select,print
全局变量:系统定义的,@@作为前缀,掌握常用的全局变量@@ERROR--最后一个T-SQL错误的错误号
16.if else 与while
17.事务:这件事能不能成功
语法步骤:
•开始事务:BEGIN TRANSACTION •事务提交:COMMIT TRANSACTION •事务回滚:ROLLBACK TRANSACTION18.存储过程:就像数据库中运行方法(函数)。分页的存储过程必须掌握
19.索引,触发器,游标
18.数据库的设计
19.数据库的三范式
简单复习了一下,还要通过写代码复习一下,复习完数据库,再复习复习基础加强,明天就开始HTML 了