而今

导航

第三章 数据库基本操作

3.1SQL概述

  3.1.1 SQL简介

    对数据库进行查询和修改操作的语言叫结构化查询语言( Strured Query Languate, SQL).

    他说一种特殊的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系数据库系统

    同时也是数据库脚本文件的扩展名

  3.1.2 SQL的功能
    SQL的功能分为四大类:1.数据定义,2.数据操纵,3.数据控制和4.一些附加语言元素
    1.数据定义语言(DDL)
      create,alter,drop

    2.数据操纵语言(DML)

      insert,update,delete

    3.数据控制语言(DCL)

      grant,deny,revoke

    4.一些附加语言元素

      begin transaction/commit,rollback,set transaction,declare open,fetch,close,execute
  3.1.3 SQL特点

    1.综合统一

    2.高度过程化

    3.面向集合的操作方式

    4.以同一种语法结构提供两种使用方式

    5.语言简介,易用易学
      完成核心功能只用了9个动词(select,create,drop,alter,insert,update,delete,grant,revoke)

  3.1.4 SQL常用数据类型
    1.系统数据类型

      整型 int bigint smallint tinyint

      浮点型 float real decimal

      字符型 char varchar nchar nvarchar 

      日期和时间型 date time datetime datetime2

      文本和图形型 text image

      货币型 money smallmoney

    2.用户自定义数据类型

      1.创建用户自定义的数据类型

        第一种方式采用sqlserver management studio创建,在资源管理器依次选择👉目的数据库 👉可编程性👉类型👉用户自定义数据类型👉新建用户自定义数据类型

        第二种方式采用sql语句创建
           比如在libraray数据库中建立一个类型名为test1 

use library
create type test1 from char(30) null;

      2.删除用户自定义的数据类型

        删除改采创建的数据类型test1

use library
drop type tset1

 

3.2 SQLServer2012的概括

  3.2.1 sql常用对象

    1.数据表

      数据表是数据库的主要对象.它是一系列二位数组的集合,用于存储数据,简称表.

    2.视图

      视图是由表或其他视图导出的虚拟表

    3.索引

      索引是对数据库中一列或多列值进行排序的一种结构.它为数据快速检索提供支持,是保证数据唯一性的辅助数据结构

    4.存储过程

      存储过程是为了完成特定的功能而汇聚在一起的一组T-SQL语句,是经过编译后存储在数据库中的SQL程序

    5.触发器

      触发器是特殊的存储过程,当表中数据改变时,该存储过程自动执行

 

  3.2.2 sql server 2012的组成

    sql server由4部分组成,分别是1.数据库引擎,2.分析服务,3.集成服务和4.报表服务

  3.2.3 sql server2012系统数据库

    sqlserver2012系统数据库用来存储系统级的数据和元数据,包含了4个系统数据库:1.master 2.model 3.msdb 4.tempdb

    1.mster数据库

      是sqlserver中的最重要的数据库,是整个数据库服务器的核心,包含所有的用户的登录信息,用户所在的组,所有系统的配置选项,服务器中本地数据库的名称和信息

    2.model数据库

      是模板数据库,包含了建立新数据库时所需要的基本对象

    3.msdb数据库

      是sql server代理的数据库,用来存储自动化作业定义,作业调度,操作定义,触发提醒定义.例如当用户对数据进行存储或备份时,msbd数据库会记录和执行这些任务相关信息    

    4.tempda数据库

      是sql server用于暂时存储数据(比如临时表,视图,游标和表值变量)的临时数据库

  3.2.4 sql server命名规则

    1.标识符

      (1)标识符首字母是下面两种情况之一

        1.必须是所有union code标准中的规定字符,包括26个英文字母a~z和A~Z以及一些语言字符入汉字

        2.一些特殊符号比如@ _ #

      (2)标识符首字母或的字符可以为下面3种情况

        1.必须是所有union code标准中的规定字符,包括26个英文字母a~z和A~Z以及一些语言字符入汉字

        2.一些特殊符号比如@ _ #

        3.数字 0~9

      注意:

        标识符不允许是sql server系统中的保留关键字.由于sql server中是不区分大小写的,所以无论是大写保留字和小写保留字都是不允许使用的

        有些特殊符号标识符在sqlserver中也是有特定意义的,不能随便定义,比如#开头的表示当前数据库内临时表或存储过程;以##开头表示全局临时数据库对象

        标识符最多能容纳128个字母,对于本地表最多可有116字母

  3.3 数据库操作

    3.3.1 数据库文件

      sql server数据库管理系统的数据库文件是有数据文件和日志文件组成的,其中,数据文件以盘曲为单位存储在存储器中

        1.数据文件

          数据文件是指数据库中用来存放数据库数据和数据库对象的文件.

          组成:

            基本数据文件(主数据文件),扩展名为.mdf,有且仅有一个(必选)

            次数据文件,所以存放除主数据库之外的所有数据文件,扩展名为.ndf,可以有多个也可没有(可选)

        2.日志文件 

          由一系列日志记录组成,记录对数据库的插入,删除和更新等操作

    3.3.2采用create database语句创建数据库的基本语法

        

create database database_name
on primary
(--主文件
   name = '逻辑名',
   filename = '文件存放的路径', --文件的后缀为.mdf
   size = 数据文件初始大小,
   maxsize = 数据文件的最大大小,
   filegrowth = 文件的增长方式
),
(--辅助文件
   name = '逻辑名',
   filename = '文件存放的路径', --文件的后缀为.ndf
   size = 数据文件初始大小,
   maxsize = 数据文件的最大大小,
   filegrowth = 文件的增长方式
)
log on
( --日志文件
   name = '逻辑名',
   filename = '文件存放的路径', --文件的后缀为.ldf
   size = 数据文件初始大小,
   maxsize = 数据文件的最大大小,
   filegrowth = 文件的增长方式
)

 

      创建一个逻辑名为Test_DB,物理文件名为Test_DB.mdf,初始大小5mb,最大尺寸为15mb,增长速度为10%;数据库文件的逻辑名称为Test_LOG,物理文件名为Test_LOG.ldf初始大小为1M,最大尺寸为3MB,增长速度为128KB

create database Test_DB
on primary
(--主文件
   name = 'Test_DB',
   filename = 'D:\test.mdf', --文件的后缀为.mdf
   size = 5MB,
   maxsize = 15MB,
   filegrowth = 10%
)
log on
( --日志文件
   name = 'Test_LOG',
   filename = 'D:\test_log.ldf', --文件的后缀为.ldf
   size = 1M,
   maxsize = 3M,
   filegrowth = 128kb
)

      注意:

        主文件初始大小最小为3M,日志文件初始大小最小为1M

        MAXSIZE还可以配置为unlimited,表示无限制文件的大小  

 

    3.3.2采用drop database语句删除数据库的基本语法  

drop database Test

 

    3.3.3 采用alter database语句删除数据库的基本语法    

      修改的前提是创建好了数据库

      1.添加一个辅助文件(add file)

        

alter database tsg1
add file
(
   name = 'tsg1',
   filename = 'E:\db\1.ndf',
   size = 3mb,
   maxsize = unlimited,
   filegrowth = 2mb      
)

       2.添加日志文件(add log file)

alter database tsg1
add log file
(
   name = 'tsg1_log',
   filename = 'E:\db\1.ndf',
   size = 1mb,
   maxsize = 3mb,
   filegrowth = 128kb,      
)

      同理还有修改modify file (....) 修改文件(必须指定name,依次只能修改一个filespace属性)

          移除remove file logical_file_name 删除指定的逻辑文件并删除物理地址

          重命名数据库名 modify name = datebase_name

 

    3.3.3一些系统函数

      (1)查看数据库相关信息

        sp_helpdb database_name

      (2)数据库重命名

        sp_renamedb 'database_name','new_name'

posted on 2019-11-11 18:45  而今  阅读(280)  评论(0)    收藏  举报