SQL Server~数据表的操作

SQL server 数据表的操作

内容大纲:

  1. 以界面方式操作数据表
  2. 使用CREATE TABLE语句创建表
  3. 创建、修改和删除约束
  4. 使用ALTER TABLE语句修改表结构
  5. 使用DROP TABLE语句删除表
  6. 使用INSERT语句添加数据
  7. 使用UPDATE语句修改数据
  8. 使用DELETE语句删除数据
  9. 数据表关系
  10. 批量插入表信息
  11. 查看表信息
  12. 操作数据表常遇问题
  • 以界面方式操作数据表
    1.创建数据表
    下面在SQL Server Management Studio中创建数据表“mrkj”,具体操作步骤如下。
    ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。
    ②鼠标右键单击“表”选项,在弹出的快捷菜单中选择“新建表”命令。
    SQL Server~数据表的操作_第1张图片
    2.使用CREATE TABLE语句可以创建表,其基本语法如下
    SQL Server~数据表的操作_第2张图片
    SQL Server~数据表的操作_第3张图片
    3.CREATE TABLE语句的参数及说明
    SQL Server~数据表的操作_第4张图片

  • 创建、修改和删除约束
    1.什么是约束?
    数据库—由若干张数据表组成(理解为一个类库)
    数据表—由行和列组成的一个二维表(理解为一个类)
    列—字段(理解为表中对象的一个属性)
    行—理解为表中的一个对象
    约束是数据库中保证数据完整性的方法
    (1)实体完整性
    例如:每个表中有一个必须要指定的字段
    (2)区域完整性
    针对表中的某个字段进行特殊化限制
    (3)参照完整性
    表与表之间的一种特殊化关联限制
    2.约束类型(5):
    ①主键约束(Primary KEy)
    确定表中的标识列,(主键字段不能为空,必须唯一)
    标识:确定一个对象的唯一表现
    ②外键约束(Foreign key)
    确定表与表之间的联系方式,一般情况下通过从表的标识列进行确定
    主表:给哪张表添加约束哪张表就是主表,辅助表为从表
    ③唯一约束(unique)
    确定这个字段中的数据必须是唯一
    ④非空约束(not null)
    确定这个字段中的数据必须不能为空
    ⑤检查约束(CHECK)
    设置这个字段中的数据的特性
    3.非空约束
    列的为空性决定表中的行是否可为该列包含空值。空值(或 NULL)不同于零 (0)、空白或长度为零的字符串(如 “”)。NULL 的意思是没有输入。出现 NULL 通常表示值未知或未定义。
    (1)创建非空约束
    可以在CREATE TABLE创建表时,使用NOT NULL关键字指定非空约束,其语法格式如下:
    [CONSTRAINT <约束名>] NOT NULL
    (2)修改非空约束
    修改非空约束的语法如下:
    ALTER TABLE table_name
    alter column column_name column_type null | not null
    参数说明:
    table_name:要修改非空约束的表名称。
    column_name:要修改非空约束的列名称。
    column_type:要修改非空约束的类型。
    null | not null:修改为空或者非空。
    4.主键约束
    可以通过定义 PRIMARY KEY 约束来创建主键,用于强制表的实体完整性。一个表只能有一个 PRIMARY KEY 约束,并且 PRIMARY KEY 约束中的列不能接受空值。
    由于 PRIMARY KEY 约束可保证数据的唯一性,因此经常对标识列定义这种约束。
    (1)创建主键约束
    ①在创建表时创建主键约束
    说明:
    在上述的语句中,CONSTRAINT PK_ID PRIMARY KEY为创建一个主键约束,PK_ID为用户自定义的主键约束名称,主键约束名称必须是合法的标识符。
    ②在现有表中创建主键约束
    在现有表中创建主键约束的语法如下:
    ALTER TABLE table_name
    ADD
    CONSTRAINT constraint_name
    PRIMARY KEY [CLUSTERED | NONCLUSTERED]
    {(Column[,…n])}
    参数说明:
    CONSTRAINT:创建约束的关键字。
    constraint_name:创建约束的名称。
    PRIMARY KEY:表示所创建约束的类型为主键约束。
    CLUSTERED | NONCLUSTERED:是表示为PRIMARY KEY或UNIQUE约束创建聚集或非聚集索引的关键字。PRIMARY KEY约束默认为CLUSTERED,UNIQUE约束默认为 NONCLUSTERED。

  • 使用ALTER TABLE语句修改表结构
    ALTER TABLE语句的参数及说明。
    SQL Server~数据表的操作_第5张图片

  • 使用DROP TABLE语句删除表
    1.使用DROP TABLE语句可以删除数据表,其语法如下:
    DROP TABLE [ database_name . [ schema_name ] . | schema_name . ]
    table_name [ ,…n ] [ ; ]
    参数说明:
    database_name:要在其中删除表的数据库的名称。
    schema_name:表所属架构的名称。
    table_name:要删除的表的名称。
    在这里插入图片描述

  • 使用INSERT语句添加数据
    INSERT语句可以实现向表中添加新记录的操作。该语句可以向表中插入一条新记录或者插入一个结果集。
    语法如下:
    INSERT [ INTO]
    table_or_view_name
    VALUES
    (expression) [,...n]
    参数说明:
    table_or_view_name:要接收数据的表或视图的名称。
    VALUES:引入要插入的数据值的列表。
    expression:一个常量、变量或表达式。表达式不能包含 SELECT 或 EXECUTE 语句。

INSERT语句可以实现向表中添加新记录的操作。该语句可以向表中插入一条新记录或者插入一个结果集。
语法如下:
INSERT [ INTO]
table_or_view_name
VALUES
(expression) [,...n]
参数说明:
table_or_view_name:要接收数据的表或视图的名称。
VALUES:引入要插入的数据值的列表。
expression:一个常量、变量或表达式。表达式不能包含 SELECT 或 EXECUTE 语句。

  • 使用DELETE语句删除数据
    DELETE语句用于从表或视图中删除行。
    语法如下:
    DELETE
    [ FROM [ ,…n ] ]
    [ WHERE { } ]
    DELETE语句的参数及说明。
    SQL Server~数据表的操作_第6张图片
  • 数据表关系–一对一关系
    一对一关系是指表A中的一条记录确实在表B中有且只有一条相匹配的记录。在一对一关系中,大部分相关信息都在一个表中。此关系的特点主要体现在以下几点:
    分割一个含有许多列的表。
    出于安全考虑而隔离表的某一部分。
    存储可以很容易删除的临时数据,只需删除表即可删除这些数据。
    存储只应用于主表子集的信息。
    如果两个相关列都是主键或具有唯一约束,创建的就是一对一关系。
    在学生管理系统中,“tb_Course”表用于存放课程的基础信息,这里定义为主表;“tb_Teacher”用于存放教师信息,这里定义为从表,且一个教师只能教一门课程。下面介绍如何通过这两张表创建一对一关系。
    说明:
    “一个教师只能教一门课程”,在这里不考虑一名教师教多门课程的情况。如:英语专业的英语老师,只能教英语。
    操作步骤如下:
    (1)启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。
    (2)在“对象资源管理器”中展开“数据库”节点,展开指定的数据库“db_2012”。
    (3)鼠标右键单击Course表,在弹出的快捷菜单中选择“设计”命令。
    (4) 在表设计器界面中,右键单击“Cno”字段,在弹出的快捷菜单中选择“关系”命令,打开“外键关系”窗体,在该窗体中单击“添加”按钮。
    SQL Server~数据表的操作_第7张图片
    (5)在外键关系窗体中,选择“常规”下面的“表和列规范”文本框中的“ ”按钮,添加表和列规范属性,弹出“表和列”窗体,在该窗体中设置关系名及主外键的表。
    SQL Server~数据表的操作_第8张图片
    (6)在“表和列”的窗体中,单击“确定”按钮,返回到“外键关系”窗体,在“外键关系”窗体中单击“关闭”按钮,完成一对一关系的创建。
    注意:
    创建一对一关系之前,tno、Cno都应该设置为这两个表的主键,且关联字段类型必须相同。
    案例:
    SQL Server~数据表的操作_第9张图片
    SQL Server~数据表的操作_第10张图片
  • 数据表关系–一对多关系
    一对多关系是最常见的关系类型,是指表A中的行可以在表B中有许多匹配行,但是表B中的行只能在表A中有一个匹配行。
    如果在相关列中只有一列是主键或具有唯一约束,则创建的是一对多关系。例如,“tb_student”用于存储学生的基础信息,这里定义为主表;“tb_Course”用于存储课程的基础信息,一个学生可以学多门课程,这里定义为从表。下面介绍如何通过这两张表创建一对多关系。
    操作步骤如下:
    (1)启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。
    (2)在“对象资源管理器”中展开“数据库”节点,展开指定的数据库“db_2012”。
    (3)鼠标右键单击Course表,在弹出的快捷菜单中选择“设计”命令。
    (4)在表设计器界面中,右键单击“Cno”字段,在弹出的快捷菜单中选择“关系”命令,打开“外键关系”窗体,在该窗体中单击“添加”按钮。
    SQL Server~数据表的操作_第11张图片
    (5)在外键关系窗体中,选择“常规”下面的“表和列规范”文本框中的“ ”按钮,选择要创建一对多关系的数据表和列。弹出“表和列”窗体,在该窗体中设置关系名及主外键的表。
    SQL Server~数据表的操作_第12张图片
    (6)在“表和列”的窗体中,单击“确定”按钮,返回到“外键关系”窗体,在“外键关系”窗体中单击“关闭”按钮,完成一对多关系的创建。
  • 数据表关系—多对多关系
    多对多关系是指关系中每个表的行在相关表中具有多个匹配行。在数据库中,多对多关系的建立是依靠第3个表即连接表实现的,连接表包含相关的两个表的主键列,然后从两个相关表的主键列分别创建与连接表中匹配列的关系。
    例如,通过“商品信息表”与“商品订单表”创建多对多关系。首先就需要建立一个连接表(如“商品订单信息表”),该表中应该包含上述两个表的主键列,然后“商品信息表”和“商品订单表”分别与连接表建立一对多关系,以此来实现“商品信息表”和“商品订单表”的多对多关系。
  • 批量插入数据

SQL Server~数据表的操作_第13张图片

  • 操作数据表常遇问题—创建外键约束失败
    创建外键约束时提示:在被引用表中没有与外键 ‘FKEY_ID’ 中的引用列列表匹配的主键或候选键。无法创建约束。
    这是因为要引用作为外键的列不是被引用表的主键,非主键的字段不能被引用做为外键。
  • 操作数据表常遇问题—数据库被使用导致无法删除
    删除数据库时提示:无法删除数据库,因为该数据库当前正在使用。
    这是因为使用该数据时建立了连接,用后没有关闭连接,可以通过use建立其他数据库的使用连接,该数据库的连接自动断开,就可以删除了。
  • 操作数据表常遇问题—修改表属性失败
    通过“设计”修改表字段属性时提示:“不允许保存更改,您所做的更改要求删除并重建表。”导致所做修改无法保存。
    解决:在SQL Server 2012的管理器中,选择菜单栏中的“工具”/“选项”菜单项,在弹出的对话框中依次选择“Designers”/“表设计器和数据库设计器”,然后取消勾选“阻止保存要求重新创建表的更改”即可。

你可能感兴趣的:(SQL,Server)