欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

数据库和ADO

程序员文章站 2022-06-08 08:28:27
...

数据库语言 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程) 主键的概念 如何创建主键 如何创建外键 主外键关系的概念以及使用 数据库的主要类型 数据库的主要数据类型 使用SQL语句来创建数据库和表 约束分类 top的使用 Distinct的使用(去除

  1. 数据库语言
  2. 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程)
  3. 主键的概念
  4. 如何创建主键
  5. 如何创建外键
  6. 主外键关系的概念以及使用
  7. 数据库的主要类型
  8. 数据库的主要数据类型
  9. 使用SQL语句来创建数据库和表
  10. 约束分类
  11. top的使用
  12. Distinct的使用(去除重复数)
  13. 聚合函数
  14. 聚合函数注意事项
  15. between and 和 in 的使用
  16. like, not like 通配符(%,_,[],^)
  17. 空值处理:null 是什么?
  18. 排序(order by id asc / desc)(默认是哪一种排序?)
  19. 分组(group by ),单条件分组,多条件分组(分组时,要注意的事情[位置,列])
  20. 筛选(Having的使用),它和where的区别
  21. 类型转换(CAST,CONVERT)
  22. union,union all的使用
  23. 一次插入多条数据
  24. 字符串函数
  25. ADO.NET主要类
  26. 数据库连接字符串
  27. SqlConnection类的State属性
  28. SqlCommand类的方法:
  29. StatementCompleted事件的触发
  30. 获得刚刚插入数据库的自增id
  31. Sql注入攻击(避免方式?)
  32. 如何使用迭代生成树形菜单
  33. 单例模式(单例模式的创建)
  34. DataTable的使用
  35. 类SqlDataAdapter的使用(重点)
  36. 类SqlCommandBuilder的使用(注意:他必须操作的是有主键的数据库)
  37. 提取查询语句,封装SqlHelper类(不仅要会,而且要理解思想)
  38. SQL中的Switch语句
  39. SQL中的子查询
  40. SQL中的Exists用法
  41. SQL中的Any
  42. SQL中的All
  43. SQL2008 微软官方推荐分页方式
  44. SQL中表等值连接(内连接) inner join
  45. SQL中表左连接(左外连接) left join
  46. SQL中表右连接(右外连接) right join
  47. SQL中表交叉连接(两张表的乘积)
  48. SQL中表全连接 full join
  49. SQL中变量
  50. SQL中的事务
  51. 创建存储过程
  52. 存储过程带输出参数
  53. 调用存储过程
  54. 触发器定义
  55. 触发器类型:
  56. 触发器触发条件:
  57. 什么是索引
  58. 索引类型
  59. 什么是填充因子
  60. 什么是临时表
  61. 什么是局部临时表
  62. 什么是全局临时表
  63. 什么是三层结构
  64. 三层结构的目的
  65. 具体的三层是哪三层
  66. 三层之间的关系
  67. 三层结构的优缺点
  68. 邮件发送方法
  69. Excel导入导出
  70. MD5加密解密方法
  71. 读取数据库后,判断dataset里列的值是否为空
  72. 项目术语
    • 数据库语言
      • DML(数据操作语言)
        • select
        • insert
        • delete
        • update
      • DDL(数据定义语言--建表建库等)
        • creat
        • drop
        • alter
      • DCL(数据控制语言)
        • grant
        • revoke
    • 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程)
      • 安装时有一个客户端管理软件和一个服务器。我们平常操作的是客户端软件,发送脚本到服务器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)