• SQL数据库基础知识复习


    1. 三大数据库:

    a)  甲骨文         oracle

    b)  IBM              DB2

    c)  Microsoft     SQL

    2. 微软的SQL Server数据库,是一种关系数据库,属于C/S架构。数据管理需要登录连接到服务进行。

    3. SQL数据库的图形管理界面工具是SQL Server Management Studio

    4. 服务器管理

    a) 在电脑右键管理—服务或者在数据服务配置中启动、暂停、停止服务

    b) 连接登录到服务器,正确填写服务器类型(一般为“数据库引擎”),服务器的名称、用户名、密码

    c) 身份验证模式:

                 i.     Windows身份验证:

                ii.     混合验证模式,即可用Windows身份验证,也可用SQLServer验证。SQL验证时,需要输入用户名和密码:——默认为sa账号(数据库中的超级管理员),密码为123或空密码;这里主要看安装此实例时的设置

    d) 连接/断开服务器操作

    5. 数据库管理:数据库DB(Data Base)是表的集合,存放数据。

    a)  物理上,数据库的结构,由文件和文件组构成:

                 i.     主要数据文件(Primary)——.mdf文件,有且仅有一个,在SQL2012中最小5MB

               ii.     次要数据文件(Secondary)——.ndf,有0个或多个

              iii.     事务日志文件(Log)——.ldf,最小512KB,至少有一个

    b)  可将数据文件分成不同的文件组

                 i.     主要文件组(primary)

               ii.     默认文件组(default)

    c)  逻辑上,数据库是由表格等对象组成

    d)  系统数据库

                 i.     Master主数据库是SQL Server系统最重要的数据库,必须保留

               ii.     Model模板数据库,必须保留

              iii.     Msdb是代理服务数据库

               iv.     Tempdb是一个临时数据库

    e)  创建数据库

    create database 数据库名

    on

    [ PRIMARY ](主数据文件属性 ),

    [(辅助数据文件属性)]

    log on

    (日志文件属性)

    每一个文件的属性

    NAME = 逻辑文件名
    FILENAME = ‘物理文件名’,
    SIZE = 起始大小
    MAXSIZE = 最大大小,
     FILEGROWTH = 增长速度

    f)  修改数据库

    alter database 数据库名

    add file (文件属性)--添加文件

    modify file(文件属性)--修改文件

    remove file 逻辑名  --移除文件

    g)  删除数据库: drop database 数据库名

    h)  分离、附加数据库

    6. SQL(Structured Query Language)即结构化查询语言,关系数据库标准语言。分为数据定义功能(DDL语言)、数据操纵功能(DML语言),也可把 select分离为DQL语言、数据控制功能(DCL语言)

    7. SQL中的唯一标识符:包括字母,符号(_、@或#)及数字,不允许有空格,要用不合法标识符,加[ ]限制。变量名声明加@,两个@是全局变量,临时变量加#

    8. SQL中的数据类型:   

    a)  整数int,微整型tinyint(0-255)

    b)  小数decimal(总长度,小数位数),real,float

    c)  货币money

    d)  位类型bit(1,0)

    e)  时间类型:datetime

    f)  日期类型:date

    g)  字符类型

                 i.     定长字符char(长度)、nchar(长度)

               ii.     变长长符varchar(长度)、nvarchar(长度)

              iii.     大于8000字节用text文本类型

    9. SQL中的常用关键字

    10.    SQL中运算符和注释

    a)  注释:- -;/*   */

    b)  运算符:算术、逻辑、比较、位、连接运算符

    c)  通配符:%、_、[]、[^]

    11.    数据表管理

    a)  表结构:组成表的各列名称及数据类型,行为记录、列为字段。表应有标识列、主键 ;一个表只存储一种类型实体的数据;表中不应该有重复的列或记录

    b)  新建表

    create table  表名

    列名1  数据类型[长度]   [完整性约束] ,

    列名2  数据类型[长度]   [完整性约束] ,

    ……

    c)  修改表

    alter table  表名

    add 列名  数据类型[长度]   [完整性约束] –添加列

    drop column 列名—移除列

    alter column 列名  数据类型[长度]—修改列

    d)  删除表:DROP TABLE 表名

    12.    重命名:

    a)  exec sp_rename ‘原对象名’,’新对象名’[,’对象类型’]

    b)  对象类型可以是以下5种:

    Column——列名

    Database——数据库名

    Index——索引名

    Object——约束、表、视图、触发器名

    Userdatatype——用户自定义的数据名称

    13.    数据记录管理

    a)增加insert

    向表中指定的列插入值

    insert into 表名(字段1 ,..字段n ) values(值1,..值n )

    向表中除了标识列外,每列依次插入值

    insert into 表名 values(值1,值2,...值n )

    b) 删除delete

    delete [from] 表名 where 条件

    --删除全表所有数据

    delete [from] 表名速度慢,保留日志,可恢复

    truncate table  表名 速度快,不留日志,不可恢复

    c) 修改update

    update 表名 set  字段1=修改后的值,字段2=修改后的值,…where 条件

    14.    数据完整性—约束

    完整性类型

    约束类型

    描述

    域完整性

    default

    Insert时,为列指定默认值

    check

    指定在列中可接受的值范围

    Not null

    列中不接受空值

    实体完整性

    primary key

    表中最重要的列,不能为空,不能重复

    unique

    唯一

    参照完整性

    foreign key

    匹配另一表中的主键

    a) 新建列时添加约束

    字段名 数据类型[长度] primary key

    字段名 数据类型 unique

    字段名 数据类型 default 默认值

    字段名 数据类型 check(条件)

    字段名 数据类型 foreign key(字段名) references 表名(字段名)

    b) 已有列的基础上添加约束

    alter table 表名

    add constraint 约束名 primary key(字段名) –-主键

    addconstraint 约束名 unique (字段名)    --唯一

    add constraint 约束名 default(默认值) for 字段名 –默认

    add constraint 约束名 check(条件) –检查

    add constraint 约束名 foreign key(字段名) references 主键表(参照字段名)  --外键

    c)删除约束  alter table 表名    drop 约束名

       d}      级联删除    on delete cascade

               级联更新    on update cascade

    15.    数据查询

    a)  基本查询语法

    SELECT <查询目标列组>

    FROM <参与查询的表>

    [WHERE <查询条件> ]

    GROUP BY <分组表达式>][HAVING<分组查询条件>]

    [ORDER BY <排序表达式> [ASC∣DESC ]]

    Select 后接查询的目标列,可用as起别名;消除重复distinct;显示前几条top n;聚合函数

    from 后接参与的表名

    where 后接查询条件各种比较运算符:=,!=,<>,>,>=,<,<=,!>,!<,and,or,(not)in,is  (not ) null

    b)  聚合查询:COUNT( ),MIN(列名 ),MAX(列名 ),SUM(列名),AVG(列名)

    c)  模糊查询:like子句与通配符配合使用,%、_、[]、[^]

    d)  分组查询:group by子句对查询的结果集进行分组,如果分组后还要求按一定的条件对这些组进行筛选,则可以使用HAVING短语指定筛选条件

    使用group by时,必须注意:

    SELECT子句的字段列表中,除了聚合函数以外,其他所出现的字段一定要在group by子句中有定义才行。

    group by子句中不能使用字段别名.

    Sql server中text,ntext,image类型的数据不能作group by子句的分组依据

    group by可与order by连用,order by 子句中可包含聚合函数

    e)  排序查询:order by排序:asc升;desc降

    f)  嵌套查询:将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询。其中外层查询叫父查询或主查询,内层的查询叫子查询或从查询。子查询的SELECT总是用圆括号括起来

                 i.     Where 查询表达式 比较运算符 [any|all|some](子查询)

               ii.     where 查询表达式 [not] in (子查询)

              iii.     Where [not]exists(子查询)

    g)  连结查询

    内连接:基本内连接、多表连接、自连接。内连接方式:

    在select语句的where子句中使用比较运算符给出连接条件对表进行连接.

    用 表名1 inner join 表名2 on 连接条件 语句进行连接,

    join指定需要连接的数据表,on指定连接条件(inner可省略)

    外连结:左外连接、右外连接、全外连接、交叉连接

    16.    视图:视图是从一个或多个表导出的虚表,通过查询基本表产生的,视图创建好后可像使用基本表一样使用视图

    a)  新建语法:

    create view 视图名

    as

    select语句

    b)  修改、删除视图:alter view 视图名 ;drop view 视图名

    17.    存储过程:定义子程序存放在数据库中,这样的子程序称为存储过程

    a)  创建存储过程

    CREATE PROCEDURE 存储过程名

    (

      参数列表

      @名称  类型

    )

    AS

    SQL语句

    b)  修改储过程

    ALTER PROCEDURE 存储过程名

    AS

    SQL语句

    c)  删除存储过程

    DROP PROCEDURE 存储过程名

    d)  执行存储过程

    EXEC   存储过程名 参数值列表

    18.    触发器:触发器是一种特殊的存储过程,它被分配给某个特定的表。当对这个表进行插入、更新或删除操作时,自动调用触发器执行触发器里规定的操作

    a)  种类

                 i.     插入型触发器

               ii.     删除型触发器

              iii.     更新型触发器

    b)  SQL Server创建了两个专用表:inserted表和deleted表,在使用触发器时可调用

    c)  创建触发器

    create trigger 触发器名

            on 表名

            for delete /insert /update

            as

            触发器要执行的操作

    d)  修改触发器

    alter trigger 触发器名

            on 表名

            for delete /insert /update

            as

            触发器要执行的操作

    e)  删除触发器

    drop trigger 触发器名

    a)  启用、禁用触发器

    禁用语法:

             Alter table   表名   

             disable trigger 触发器名

    启用语法:

             Alter table 表名    

             enable trigger 触发器名

  • 相关阅读:
    徒手画个disk不容易啊。。。
    fast powf
    SSE sqrt还是比C math库的sqrtf快了不少
    Mongoose也是个大坑
    A tiny program to benchmark image transpose algorithms
    On extracting ops from LLVM backend
    Into concurrent LRU caching once again
    性能大坑
    多项式在线拟合神器
    Spark 1.6.1源码编译
  • 原文地址:https://www.cnblogs.com/CharmingDang/p/9663682.html
Copyright © 2020-2023  润新知