• 数据库开发及ADO.NET


    大部分数据库都需要数据库服务器才能运行。

     

    Catalog(分类)又叫做数据库DataBase

    Table(表)不同类型的东西放到不同的区域中,将这种区域叫做表。

     

    列(Column)字段Field

     

    主键是数据航的唯一标识,不会重复的列才能当主键

    主键有两种选择策略:业务主键和逻辑主键

    业务主键,就是有业务意义,比如身份证号码、银行账号等

    逻辑主键没有任何意义的主键,逻辑主键是完全给程序看的,业务人员是不会看的,一般业界使用逻辑主键。

     

    表间的关联

    通过外键指向另一表的主键

     

    SQL语句中的字符串用单引号‘’。

    SQL语句中对大小写是不敏感的。值得注意的是,不敏感的是SQL的关键字,而字符串的值还是敏感的。

     

    向表中插入一条记录

    Insert into T_Person(Name,Age) values(‘李宏’,15)

     

    SQL语言主要分DDL(数据定义语言) DML(数据操作语言)

     

    主键的选择

    SQL Sever 中两种常用的主键数据类型,int(bigint)+标识列(又称自动增长字段)

    Uniqueidetifer又称GUID,UUID

    一般主键名用ID、id

    一个表只能有一个标识列

    VS2008中,有GUID生成器,每次调用都不会重复,永远都不会重复。

    网卡mac 、地址、 纳秒级时间、芯片ID 码

    MS SQL Sever 中调用newID();

    C#中,Guid id = Guid.new Guid();

     

    数据更新(update)

    更新一个列 update T_person set age = 30 

    更新多个列 update T_Person set age = 30 ,Name = ‘Tom’

    本身进行计算 update T_Person set age = age +1

    Update T_Person set Name = ‘Lily’where age>=30

    若是中文在前面加N’李思’

     

    SQL 语句中,等于判断=

    不等于<>

    And 

    Or 

    Not 

    数据的删除

    删除全部 Delete From T_Persom 只是删除数据表还在

              Drop Table T_Person  毁了

    Delete  Table T_Person  where age >30 

     

    创建数据表

    Create Table T_Person (Name char(10),Age int )

     

    数据的检索

    Select *from T_Person

    Select Name from T_Person

    Select Name,Age from T_Person

    Select Name,Age from T_Person where Age >35

    Select Name as 别名1,Age as别名2  from T_Person where age >30

     

    Select可以查询与表无关的数据

    Select newid()

    Select 1+3

    Select  getdate()

    Select @@version

    Select 1+11 as 数据,getdate()as 日期

     

    Select Max(Age) from T_Person

     

    数据汇总

    Select Count(*) from T_Person

    Max Min  Avg Sum Count 数量

    排序

    Select *from T_Person 

    Order by Age ASC(升序)/DESC(降序)

    通配符

    Like

    单字通配符 _ 英文下划线 

    多字通配符 % 半角 任意个数

    Where Name Like ‘_ily’

    Where Name Like ‘n%’

     

    空值处理

    Null 数据库中,NULL表示不知道

    C#中,NULL不指向任何的对象

    Select Name,Age from T_Person where Name is NULL  

     

    IN (在什么范围内,具体的值)

    Selsect *from T_Person where Age in(13,15)

    等价于 where Age = 13 or Age = 15 

    嵌套的查询

    Select top 3 * from  T_Employee

    Where Fnumber Not in 

    ( select top 5  Fnumber from T_Employee 

      Order by Fsalary DESC)

    Order by Fsalary DESC

     

    数据分组(group by)

    必须放在where之后,而且聚合函数不能出现在where子句中。聚合函数位于Having语句中或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用。Where是对原始数据进行过滤的,Having无法替代where ,Having 是对分组后的信息的过滤,能用的列和Select中能用的列相同。

     

    限制结果集的行数

    Select top 3 *from T_Person

    Order by Age ASC

     

    去掉重复数据

    Select distinct Name ,Age from T_Person(消除完全重复的行)

     

    Select distinct Name ,Age from T_Person

    Union (all)

    Select distinct Name ,Age from T_Person

    Union 把重复的数据合并,

    而Union all 会有重复行

     

    数字函数

    ABS()求绝对值

    CEILING()舍入到最大整数

    Floor() 舍入到最小整数

    Round(,)四舍五入

     

    字符串函数

    Len()计算字符串长度

    Lower() Upper()大小写替换

    Ltrim() Rtrim() 左右去空格

    SubString (string,start-position,Length)取子字符串

     

    日期函数

    Getdate() 取得当前日期

    DateADD(datePart,number,date) 在向指定日期加上一段时间的基础上,返回新的 datetime 值

    DateADD(datePart,2,‘2008-12-8’)

     

    DateDIIF(datepart,startdsate,enddate)计算两个日期的差额

     

    DatePart(datepart,date) 返回代表指定日期的指定日期部分的整数。

    DatePart(month,’2008-12-8’)

    类型转换函数

    CAST(expression as datetype)

    Convert(datetype,expression)

     

    空值处理

    Isnull(Name,’佚名’)

     

     

     

    Case函数的用法

    Case i

    When 1 then ‘a’

    When 2 then ’b’

    ….

    Else  default retrun value

    End

     

    索引(index)

    经常进行查询的字段添加索引

    值得注意的是,即使创建了索引,仍有可能全表扫描,比如Like等。

     

    子查询

    1) 将一个查询语句作为结果集供其他SQL语句使用

    2) 单值作为子查询,注意只有返回且仅返回一行一列数据的子查询才能当成单值子查询。

    3) 多行单列的子查询。

  • 相关阅读:
    vue 定义全局函数和变量
    大学感受
    NOIP2018 游记
    NOI2018 游记
    THUSC 2018 游记
    APIO2018 游记
    SXOI2018游记
    poorpool 的 考场 NOI Linux 配置
    关于 poorpool
    NOIP2017 游记
  • 原文地址:https://www.cnblogs.com/sly-tongtong/p/3688266.html
Copyright © 2020-2023  润新知