• 数据库总结


    SQLServer数据库:

    一、体系结构:

    文件--服务--界面

    文件——.mdf,.ldf,.ndf

    服务——MSSqlserver,别名(实例名)

    界面——SQLServer和Windows身份验证。如何从windows身份验证变为Sqlserver验证。

    二、创建

    建库create database、改库 alter database、删除 drop database

    建表create table、改表alter table、删表drop table

    (一)库与表

    库:文件位置、初始大小、增长方式、次数据文件

    表:列的类型。

    int,smallint,bigint

    float,real,decimal,numeric

    bit

    char,varchar,text

    binary,image

    datetime,smalldatetime

    (二)约束:

    主键:建立?唯一、不空、不重、排序、组合主键  primary key

    外键:主表与从表,用主表约束从表。 references 表名(列名)

    外键建在从表上。

    建立方式:两种。

    级联更新与级联删除?

    非空:必须要填。空与空字符串不一样。 not null

    自增:类型:整理。起始值和步长。identity

    方法:列的属性

    任何试图向自增列中添加数据的行为都错误。

    检查:对填入的数据做进一步的规则检查。check(表达式)

    方法:在列上右击,选择check约束

    唯一:内容不能重,可以为空。一表中可以有多个唯一约束。 unique。

    方法:在列上右击,选择“索引/键”

    默认值:如果这一列不填内容,将用默认值填充。 default

    三、操作

    (一)SQL语句

    1.增

    insert into 表名[(列,列,列...)] values (值,值,值...)

    2.删

    delete from 表名[ where 条件]

    3.改

    update 表名 set 列=值,列=值,列=值.. [where 条件]

    4.查

    简单查询:

    select * from 表

    select top n *|列 from 表

    投影:

    select 列名,列名,... from 表

    select distinct 列名 from 表

    筛选:where子句

    1.等值与不等值。

    where 列=值 = != <> > < >= <=

    2.范围

    where between ... and...

    where 列 in(值,值,值)

    3.多条件查询

    and,or

    where 条件1 and 条件2 or 条件3

    4.模糊查询:like  % _ []

    排序:order by 子句

    order by 列 ASC|DESC,列 ASC|DESC,....

    分组:group by子句(五个统计函数count(),max(),min(),sum(),avg())

    group by 列 having 条件(带统计函数)

    注意:一旦使用分组,select后面只能跟两样东西:1.group by 后的列名。2.统计函数。

    注意:一般来说我们使用分组的目的是为了统计。

    复杂查询:

    连接查询:把两个表横向接起来。

    原理:选求笛卡尔积,再根据两个表的相关列进行筛选。

    语法:

    1.select * from 表1,表2...表n where 联接的条件

    2.select * from 表1 join 表2 on 联接的条件 join 表3 on 联接的条件。 3.左连,右连,全连

    联合查询

    原理:求并集。

    union

    把两个查询用union连起来。要求两查询的列要一致。

    嵌套查询(子查询)

    原理:分层查询

    在父查询里再包括子查询。它的分方法:等量代换。

    (二)SQL函数

    1.数学类:ceiling(),floor(),round()

    2.日期时间类:year(),month(),day(),getdate(),datediff(),datepart(),dateadd()

    3.字符串:len(),left(),right(),upper(),lower(),

    4.转换函数:cast( 值 as 类型 )

    四、高级的内容:

    索引

    簇索引,非簇索引。

    索引的优劣势:

    语法:create index ...on 表(列)

    手动建索引:与建唯一约束非常相似

    视图

    视图就一段查询语句的查询结果。

    视图本身并不装有数据,视图的结果是从相关的表中查出来的。

    视图可以表或其它的视图中建立起来。

    视图的优劣势:查询方便,增删改不放便。

    语法:create view ...

    手动建视图:

    存储过程

    一段可能带有一定逻辑的SQL语句。

    它里面可以包含复杂的程序逻辑。

    语法: 创建:create proc 存储过程名 @参数,,, as

    调用:存储过程名 参数

    触发器

    也是一段带有逻辑SQL语句。

    它不需要用代码去调用,当相应的表执行相关操作时,会自动触发触发器的程序。

    语法:create trigger ...

    事务

    一段完整的工作,需要一次性完整执行。

    四个特点:ACID 原子性,一致性,隔离性,持久性

    begin tran——开始事务

    rollback——回滚事务

    commit——提交事务

  • 相关阅读:
    pscp 从win10远程传输文件到centos7,多个虚拟机之间传文件
    Spring Aop中四个重要概念,切点,切面,连接点,通知
    查看Java的汇编指令
    Spring集成GuavaCache实现本地缓存
    RocketMq消息 demo
    使用axis1.4生成webservice的客户端代码
    oracle ORA-00060死锁查询、表空间扩容
    mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)
    软件安装
    动态雪花飘落
  • 原文地址:https://www.cnblogs.com/981971554nb/p/4309640.html
Copyright © 2020-2023  润新知