zoukankan      html  css  js  c++  java
  • 笔记1

    数据库系统 DBS
    数据库管理系统 DBMS


    SQL Server服务的启动方式
    一、操作系统的服务中启动
    二、SQL Server Mangement Studio中启动


    数据文件.mdf/.ndf
    日志文件.ldf

    备份
    完全备份
    差异备份
    事务日志备份
    文件和文件组备份

    12/22
    分类/数据类型 说明
    二进制
    image 图像
    文本
    char 固定长度的非Unicode字符数据
    varchar 可变长度非Unicode数据
    nchar 固定长度的Unicode数据
    nvarchar 可变长度Unicode数据
    text 存储长文本信息
    ntext 存储可变长度的长文本
    日期
    datetime
    数字
    int/smallint 整数
    float/real 浮动数
    货币
    moeny
    bit数据
    bit 存储布尔数据类型

    12/23
    如果两列或多列组合起来唯一标识中的每一行,该主键叫“复合主键”

    选择主键的原则
    最少性
    尽量选择单个操作作为主键
    稳定性
    尽量选择数值更新少的列作为主键


    标识列是自动生成的,不能再该列上输入数据


    12/26
    1.当主表中没有对应的记录时,不能讲记录添加到子表
    2.不能更改主表中的值而导致子表中的记录孤立
    3.字表存在于主表对应的记录,不能从主表中删除改行
    4.删除主表前,先删子表

    12/27
    DML(数据操作语言)
    插入、删除和修改数据库中的数据

    DOL(数据控制语言)
    用来控制存取许可、存取权限等

    DQL(数据查询语言)
    用来查询数据库中的数据

    DDL(数据定义语言)
    用来建立数据库、数据库对象和定义表的列

    运算符-通用
    赋值-通用

    逻辑运算符
    AND 当且仅当两个布尔表达式都为true时,返回true
    OR 当且仅当两个布尔表达式都为flase时,返回flase
    NOT 布尔表达式的值取返

    比较运算符
    不等于为:<> or !=
    -其余通用

    插入数据行语法 可省略列名
    INSERT INTO 表名 [(列名)]VALUES(值列表)
    列:INSERT INTO Emp (ename,salary,job,depnum,sex) VALUES
    ('悟能',4000,'设计',2,'M');


    插入多行数据
    语法 INSERT INTO<表名>(列名)
    SELECT<列名>
    FROM<源表名>

    12/28
    通过SELECT INTO语句将现有表中的数据添加到新表中
    语法 SELECT(列名)
    INTO<表名>
    FROM<源表名>
    该语法只能执行一次
    列:select*into 表名 from Emp;
    指定列 列:select 列名 into 表名 from Emp;


    通过UNION关键合并数据进行插入
    语法 INSERT INTO<表名>(列名)
    SELECT<列名>UNION
    SELECT<列名>UNION
    .....
    SELECT<列名>;


    使用UPDATE更新数据行
    语法 UPDATE 表名 SET 列名 =更新值
    [WHERE 更新条件]
    列:--update Emp_03 set salary=salary+1000 where emnum=1001;
    --update Emp_03 set ename='李白' where emnum=1001;

    1.更新多列数据使用逗号隔开
    2、勿忘条件限制,乙方有效数据的丢失█

    12/29
    删除:
    DELETE[FROM] 表名 [WHERE<删除条件>];

    TRUNCATE TABLE 表名; 基本不使用

    查询:
    SELECT 列名
    FROM 表名
    WHERE 查询条件表达方式
    ORDER BY 排序的列名ASC/DESC

    使用AS命名列
    注意:1.+连接的数据类型必须兼容
    2.如果+连接字符类型数据,结果为字符串数据的连接
    3.如果+连接数值类型数据,结果为数值的和
    SELECT SCode AS 学生编号,SName AS 学生姓名,SAddress AS 学生地址
    FROM Students
    WHERE SAdderess '河南新多';

    12/30

    数据查询空行、常量列
    语法 select * from 表名 where 列名 is null/not null;

    数据-限制行数
    限制固定
    select top 5 列名 from 表名 where 条件;
    百分数返回行数
    select top 20 percent 列名 from 表名 where 条件;

    排序 升/降
    select * from 表名 order by 列名;
    select * from 表名 order by 列名 desc;

    多列排序 第一列名重复时、使用第二列名
    select * from 表名 order by 列名xN;
    select * from 表名 order by 列名 desc,列名 desc,....;

    SQL Server中的函数

    01/03

    模糊查询
    select*from 表名 where 姓名列 like '张%';

    通配符
    ‘_’一个字符 ‘%’不限字符 [1-2]限制字符

    like只与字符类型数据联合使用

    —BETWEEN
    select*from 表名 where 列名 between 值and值; 值可以是数字/日期

    —IN
    select*from 表名 where 列名 in('某某','某某');


    聚合函数:对一组值进行计算,并返回计算后的值具有统计数据的作用。
    //自动忽略空值

    01/04
    分组查询
    select...from 表名 where ... group by...;

    分组筛选
    select...from 表名 where... group by...having;


    where子句:
    用来筛选from 子句中指定的操作所产生的行
    froup by子句:
    用来分组where子句的输出
    having 子句:
    用来从分组的结果中筛选行


    01/05
    常用的多表连接查询
    内连接 inner join
    外链接 左:left join 右:rigth join

    内连接:内连接使用比较运算符根据每个表的通用列中的值匹配两个表中的行
    语句:select 列名 from 表名 inner join 表名2 on 表名 =/<> 表名2;
    select 列名 from 表名,表名2 where ...;

    01/06
    左外连接:主表(Student)中的数据逐条匹配表(Score)中的数据
    1.匹配,返回到结果集
    2.无匹配,NULL值返回到结果集

    右外连接:右外连接的原理与左外连接相同
    右表逐条去匹配记录;否则NULL填充

  • 相关阅读:
    【转】医院信息系统基本功能规范---门急诊划价收费分系统功能规范
    elementUI的table表头与内容错位的解决方案
    小程序按钮设置宽度无效的解决方案
    小程序scroll-view的bindscroll在真机上不触发的解决方案?
    小程序怎么设置input框和键盘的距离
    小程序动态获取元素高度报错VM14689:1 thirdScriptError Cannot read property 'height' of null;at SelectorQuery callback function TypeError: Cannot read property 'height' of null
    mpvue使用px与设计稿的转化
    SpringBoot中前后端数据交互
    Java并发-BlockingQueue
    Java并发-Fork/Join框架
  • 原文地址:https://www.cnblogs.com/PBT95/p/6852799.html
Copyright © 2011-2022 走看看