JXNU数据库_数据库基本SQL操作

发布时间 2023-10-09 18:32:17作者: 次林梦叶

image

我永远的乌托邦

from pixiv_水星领航员


基本表的定义,删除和修改

1. 定义基本表(CREATE TABLE)

要在数据库中定义一个新的基本表,你可以使用 CREATE TABLE 语句。以下是一个创建名为 "Employees" 的基本表的示例:

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Department VARCHAR(50),
    Salary DECIMAL(10, 2)
);

在上述示例中,我们创建了一个名为 "Employees" 的基本表,它包含了 EmployeeID、FirstName、LastName、Department 和 Salary 等列。

约束

在关系数据库中,主键约束、外键约束、UNIQUE约束和CHECK约束是用于维护数据完整性和约束的重要工具。以下是它们的创建和应用的基本概念:

1. 主键约束(Primary Key Constraint)

  • 主键约束用于唯一标识表中的每一行数据,并确保每个值都是唯一的。
  • 主键约束可以由一个或多个列组成,这取决于表的设计。
  • 主键列的值不能为 NULL。
  • 主键约束通常用于连接表之间的关系,以及快速查找和定位表中的特定行。
  • 创建主键约束的SQL语句示例:
    CREATE TABLE Students (
      StudentID INT PRIMARY KEY,
      StudentName VARCHAR(50)
    );
    
复合主键

主键约束可以由一个或多个列组成,这被称为复合主键(Composite Primary Key)。复合主键在表中唯一标识每一行,而不仅仅是一个单一的列。下面是一个示例,展示了如何创建一个由多个列组成的主键约束:

假设我们有一个名为 "Orders" 的表,用于跟踪订单信息,其中一个订单可以由多个产品组成。在这种情况下,我们可以使用 "OrderID" 和 "ProductID" 两个列组成复合主键,以唯一标识每个订单中的每个产品。

CREATE TABLE Orders (
   OrderID INT,
   ProductID INT,
   Quantity INT,
   PRIMARY KEY (OrderID, ProductID)
);

在上面的示例中,我们通过在 PRIMARY KEY 约束中列出多个列(OrderID 和 ProductID)来创建复合主键。这意味着组合了这两列的值必须在表中唯一,确保每个订单中的每个产品都有一个唯一的标识。


2. 外键约束(Foreign Key Constraint)

外键约束(Foreign Key Constraint)用于定义表与其他表之间的关系,并确保引用表中的值在目标表中存在。外键通常引用目标表的主键列,以确保数据的完整性和一致性。下面以一个具体的例子来说明外键约束的用法和作用:

假设我们有两个表:Customers 表和 Orders 表。Customers 表包含客户信息,而 Orders 表包含订单信息。每个订单都与一个客户关联,这个关系可以用外键约束来表示。

首先,我们创建 Customers 表:

CREATE TABLE Customers (
   CustomerID INT PRIMARY KEY,
   CustomerName VARCHAR(50)
);

然后,我们创建 Orders 表,并在其中定义一个外键约束,将 CustomerID 列引用到 Customers 表的主键 CustomerID 上:

CREATE TABLE Orders (
   OrderID INT PRIMARY KEY,
   OrderDate DATE,
   CustomerID INT,
   FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

在上述示例中,我们创建了一个名为 CustomerID 的外键列,它引用了 Customers 表的主键列 CustomerID。这表示在 Orders 表中的每个订单记录都必须引用 Customers 表中已经存在的客户记录。


3. UNIQUE约束

  • UNIQUE约束用于确保表中的某列或列组合中的值是唯一的,但不一定是主键。
  • 与主键不同,唯一约束允许列中的某些值为空。
  • UNIQUE约束通常用于需要唯一性但不需要主键约束的情况。
  • 创建UNIQUE约束的SQL语句示例:
    CREATE TABLE Employees (
      EmployeeID INT UNIQUE,
      EmployeeName VARCHAR(50)
    );
    

4. CHECK约束

  • CHECK约束用于定义列中的值必须满足的条件,以确保数据的有效性。
  • CHECK约束可以应用于单个列或多个列。
  • CHECK约束可以包括比较运算、逻辑运算、函数等。
  • 创建CHECK约束的SQL语句示例:
    CREATE TABLE Products (
      ProductID INT PRIMARY KEY,
      ProductName VARCHAR(50),
      Price DECIMAL(10, 2) CHECK (Price >= 0)
    );
    

2. 删除基本表(DROP TABLE)

要删除数据库中的基本表及其所有数据,可以使用 DROP TABLE 语句。请注意,这是一个危险的操作,会永久删除表和数据。示例如下:

DROP TABLE Employees;

上述语句将删除名为 "Employees" 的基本表。


3. 修改基本表(ALTER TABLE)

要修改现有的基本表,你可以使用 ALTER TABLE 语句,它允许你执行多种操作,包括添加、删除和修改列,添加和删除约束等。以下是一些示例:

  • 添加列

    ALTER TABLE Employees
    ADD Email VARCHAR(100);
    
  • 删除列

    ALTER TABLE Employees
    DROP COLUMN Department;
    
  • 修改列(例如,修改列名):

    ALTER TABLE Employees
    ALTER COLUMN FirstName First_Name VARCHAR(50);
    

修改表中某些数据,而不是对整列数据进行操作

SQL 中的 UPDATE 操作用于修改数据库表中现有行的数据。它是 SQL 中的数据操作命令之一,常用于更新表中的记录,使其反映实际的数据变化。以下是关于 UPDATE 操作的详细说明:

语法:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • table_name:要更新数据的表的名称。
  • SET 子句:指定要更新的列和它们的新值。
  • column1, column2, ...:要更新的列的名称。
  • value1, value2, ...:要设置的新值。
  • WHERE 子句(可选):用于指定要更新的行的筛选条件。如果省略 WHERE 子句,则将更新表中的所有行。

示例:

假设我们有一个名为 "Employees" 的表,其中包含员工的信息,并且我们想要将特定员工的薪水提高:

UPDATE Employees
SET Salary = 60000
WHERE EmployeeID = 101;

上述示例中,我们更新了 "Employees" 表中 EmployeeID 为 101 的员工的薪水,将其从原来的值提高到 60000。