数据库和ADO
数据库语言 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程) 主键的概念 如何创建主键 如何创建外键 主外键关系的概念以及使用 数据库的主要类型 数据库的主要数据类型 使用SQL语句来创建数据库和表 约束分类 top的使用 Distinct的使用(去除
- 数据库语言
- 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程)
- 主键的概念
- 如何创建主键
- 如何创建外键
- 主外键关系的概念以及使用
- 数据库的主要类型
- 数据库的主要数据类型
- 使用SQL语句来创建数据库和表
- 约束分类
- top的使用
- Distinct的使用(去除重复数)
- 聚合函数
- 聚合函数注意事项
- between and 和 in 的使用
- like, not like 通配符(%,_,[],^)
- 空值处理:null 是什么?
- 排序(order by id asc / desc)(默认是哪一种排序?)
- 分组(group by ),单条件分组,多条件分组(分组时,要注意的事情[位置,列])
- 筛选(Having的使用),它和where的区别
- 类型转换(CAST,CONVERT)
- union,union all的使用
- 一次插入多条数据
- 字符串函数
- ADO.NET主要类
- 数据库连接字符串
- SqlConnection类的State属性
- SqlCommand类的方法:
- StatementCompleted事件的触发
- 获得刚刚插入数据库的自增id
- Sql注入攻击(避免方式?)
- 如何使用迭代生成树形菜单
- 单例模式(单例模式的创建)
- DataTable的使用
- 类SqlDataAdapter的使用(重点)
- 类SqlCommandBuilder的使用(注意:他必须操作的是有主键的数据库)
- 提取查询语句,封装SqlHelper类(不仅要会,而且要理解思想)
- SQL中的Switch语句
- SQL中的子查询
- SQL中的Exists用法
- SQL中的Any
- SQL中的All
- SQL2008 微软官方推荐分页方式
- SQL中表等值连接(内连接) inner join
- SQL中表左连接(左外连接) left join
- SQL中表右连接(右外连接) right join
- SQL中表交叉连接(两张表的乘积)
- SQL中表全连接 full join
- SQL中变量
- SQL中的事务
- 创建存储过程
- 存储过程带输出参数
- 调用存储过程
- 触发器定义
- 触发器类型:
- 触发器触发条件:
- 什么是索引
- 索引类型
- 什么是填充因子
- 什么是临时表
- 什么是局部临时表
- 什么是全局临时表
- 什么是三层结构
- 三层结构的目的
- 具体的三层是哪三层
- 三层之间的关系
- 三层结构的优缺点
- 邮件发送方法
- Excel导入导出
- MD5加密解密方法
- 读取数据库后,判断dataset里列的值是否为空
- 项目术语
- 数据库语言
-
DML(数据操作语言)
- select
- insert
- delete
- update
-
DDL(数据定义语言--建表建库等)
- creat
- drop
- alter
-
DCL(数据控制语言)
- grant
- revoke
-
DML(数据操作语言)
- 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程)
- 安装时有一个客户端管理软件和一个服务器。我们平常操作的是客户端软件,发送脚本到服务器DMSM(数据库服务器),服务器分析和解析并展示执行结果。
- 主键的概念
- 唯一的标识一行数据操作
- 可以作为其他表的外键来引用
- 业务主键:有意义(例:身份证号)
- 逻辑主键:唯一的意义就是标识一行
- 如何创建主键
-
ALTER TABLE [dbo].[OperateType]
ADD CONSTRAINT [PK_OperateType]
PRIMARY KEY CLUSTERED ([Id] ASC);
GO
-
- 如何创建外键
-
ALTER TABLE [dbo].[RoleAction]
ADD CONSTRAINT [FK_RoleAction_Role]
FOREIGN KEY ([Role_RoleId])
REFERENCES [dbo].[RoleInfo]
([RoleId])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO
-
- 主外键关系的概念以及使用
-
作用
- 可以优化查询效率
- 减少数据冗余
- 维护方便
- 两张聊存在依赖数据时,就可以使用主外键来解决,其中将依赖列作为主键的就叫作:主键表;另一个就叫作外键表,外键表的外键列数据取自主键表的主键
-
主外键约束
-
为什么
- 为了避免两张表的主外键数据出现不一致的情况,需要建立主外键约束关系
-
作用
- 当两张表数据修改时出现主外键数据不一致,则报错,拒绝修改
-
为什么
-
作用
- 数据库的主要类型
- 网状数据库、层次数据库和关系数据库
- 数据库的主要数据类型
- char类型:当储存的数据小于长度时,会自动用空格来补充
- Nchar类型:使用Unicode编码,任意字符都占两个字节
- varchar类型:当储存的数据小于长度时,不会自动用空格来表示
- datetime类型:储存日期时间数据
- 使用SQL语句来创建数据库和表
-
创建数据库
-
create database MySchool
on
(
--括号一定是圆括号
name='MySchool_data',--数据库名称
filename='d:\MySchool_data.mdf',--物理文件名
size=5mb,--初始大小
maxsize=10mb,--最大大小
filegrowth=15% --主文件增长率
)
log on
(
name='MySchool_log',--日志文件名
filename='d:\MySchool_log.ldf',--日志物理文件名
maxsize=4mb,--最大大小
size=2mb,
filegrowth=1mb
)
go
-
-
创建表
-
create table Student
(--创建学生信息表
sId int identity(1,1) primary key,--自动编号
sClassId int not null, --班级外键
sName nvarchar(50) not null,
sAge int not null,
sNo numeric(18,0),--身份证号,十八位数字,小数为
sSex char(2) not null,
sEmail varchar(50)
)
-
-
创建数据库
- 约束分类
-
非空约束
- alter table Employees alter column EmpName varchar(50) not null
-
主键约束
-
alter table Score
add constraint PK_Score primary key(sId)
-
-
唯一约束
-
alter table student
add constraint UQ_student unique(sNo)
-
-
默认约束
-
alter table student
add constraint DF_student default('男') for sSex
-
-
检测约束
-
alter table student
add constraint CK_student check(sAge >=18 and sAge 100)
-
-
非空约束