欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL知识点(一)

程序员文章站 2022-05-11 11:30:37
...

--1.SQL由什么文件和什么文件组成? /* 答:SQL由数据文件和日志文件组成 */ --2.SQL的数据文件分哪两类?扩展名分别是什么?分别可以有多少个? /* 答:SQL的数据文件分主数据文件和二级数据文件。 主数据文件有且只有一个,二级数据文件0-N个 扩展名:主数

--1.SQL由什么文件和什么文件组成?

  /* 答:SQL由数据文件和日志文件组成 */

--2.SQL的数据文件分哪两类?扩展名分别是什么?分别可以有多少个?

  /* 答:SQL的数据文件分主数据文件和二级数据文件。

    主数据文件有且只有一个,二级数据文件0-N个 扩展名:主数据文件:MDF 二级数据文件:NDF */

--3.SQL文件组和文件的关系?

  /* 答:文件存放在文件组中,一个文件只能属于一个文件组; 一个文件组可以有多个文件。 */

--4.用代码创建多个数据文件的数据库?

  /* 答:

  CREATE DATABASE DatabaseName primary ON

  ( name=逻辑名, filename=物理名, --扩展名是mdf size=初始大小, maxsize=最大值, filegrowth=增长 ),

  --多个文件组之间用逗号分隔 filegroup 文件组名

  ( name=逻辑名, filename=物理名, --扩展名是ndf size=初始大小, maxsize=最大值, filegrowth=增长 )

  log ON

  ( name=逻辑名, filename=物理名, --扩展名是ldf size=初始大小, maxsize=最大值, filegrowth=增长 ) */

--5.用代码创建表?

  CREATE TABLE TABLE_NAME --创建表的表名

  ( [ID] int IDENTITY(1,1) PRIMARY KEY, --设置ID为自增长的主键

  [NAME] varchar(20) NOT NULL , --设置名字不为空

  [AGE] tinyint CHECK([AGE]

--6.用代码实现修改数据库,添加文件组?

  ALTER DATABASE DATABASENAME --要修改的数据库名

  ADD FILEGROUP FILEGROUPNAME --要添加的文件组名

--7.用代码实现修改文件,文件组?

  /* 答: --修改文件示例

  ALTER DATABASE DATABASENAME

  modify file (

    [name]='原逻辑名',

    [NEWNAME] = '新逻辑名',

    [FILENAME] = '新文件名',

    [SIZE] = '文件大小',

    [MAXSIZE] = '文件的最大值',

    [FILEGROWTH] = '文件增长值或增长百分比' )

  */ --修改文件组

   ALTER DATABASE Demo_20091230NEW

  MODIFY FILEGROUP filegroup2 name = Newfilegroup_name

-- 8.用代码修改表实现添加列、修改列、删除列?

  -- 添加列  示例代码 ALTER TABLE Student ADD [S_Number] Varchar(20)

  -- 删除列  示例代码 ALTER TABLE Student DROP COLUMN [S_Number]

  -- 修改列  示例代码 ALTER TABLE Student ALTER COLUMN [S_Name] varchar(8)

  --修改列名  通过系统存储过程 SP_RENAME 'Student.S_Name' ,'S_NAME_NEW'

-- 9.用代码实现查看表、数据库的信息?

  /* 答:查看表:sp_help 表名 查看数据库:sp_helpDB 数据库名

  */ --示例代码: --查看表: sp_help class

    --查看表: sp_helpdb Demo_20091230NEW

-- 10.重命名数据库和表的SQL语句?

  --重命名表的SQL语句(调用存储过程) SP_RENAME class,classNew

  --不添加引号 SP_RENAME 'class','classNew'

  --添加引号 --重命名表的SQL语句(ALTER DATABASE) ALTER DATABASE Demo_20091230NEW Modify name = Demo_20091230

  --重命名数据库的SQL语句 SP_RENAMEDB Demo_20091230NEW,Demo_20091230

  --不添加引号 SP_RENAMEDB 'Demo_20091230','Demo_20091230NEW' --添加引号

-- 11.什么是数据库的完整性?

  /*答:确保数据库的一致性和精确性, 可以用约束和触发器来实现。 */

-- 12.数据库完整性的分类?

  /*答:实体完整性:规定表的每一行在表中是唯一的实体。(主键)

      域完整性:是指表中列满足特定的数据类型和约束。

     引用完整性:两个表的主键和外键的关键字一致。

    自定义完整性:用户自己定义的数据类型的约束。 */

-- 13.约束分为哪两个级别,它和完整性的关系?

  /* 答:约束分表级别和列级别,可以相互转换,只是写法不同。

       创建联合主键的时候一定要用表级约束

       PRIMARY KEY约束 (实现实体完整性)

      UNIQUE KEY约束 (实现域完整性)

      NOT NULL约束 (实现域完整性)

      CHECK约束 (实现域完整性)

      FOREIGN KEY约束 (实现引用完整性) 自定义数据类型(实现自定义完整性) 其中PRIMARY KEY、UNIQUE KEY、FOREIGN KEY 可以新建表级别和列级别约束。 */

-- 14.用代码创建NOT NULL 约束?

  /* 答:直接在创建表的时候添加。

    */ --代码示例: CREATE TABLE Student ( [ID] int NOT NULL )

-- 15.用代码创建primary key 约束(两种方式)?

  /* 答:primary key 约束可以用列级和表级两种方式创建。 创建联合主键的时候,必须用表级的方式创建。

  */ --示例代码(列级) CREATE TABLE Student ( [ID] int PRIMARY KEY, [NAME] varchar(20) )

    --示例代码(表级) CREATE TABLE Student ( [ID] int , [NAME] varchar(20) CONSTRAINT PK_STUDENT PRIMARY KEY ([ID],[NAME]) )

-- 16.用代码创建foreign key 约束(两种方式)?

  /* 答:foreign key 约束可以用列级和表级两种方式创建。

  */ --示例代码(列级) CREATE TABLE Student ( [ID] int PRIMARY KEY, [C_NAME] varchar(20) REFERENCES CLASS([C_NAME])

  --学生表中的课程名引用课程表中的课程名 )

相关标签: 知识点