基本表的定义,删除和修改
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。
标签:JXNU,示例,数据库,表中,约束,Employees,SQL,TABLE,主键 From: https://www.cnblogs.com/cilinmengye/p/17752659.html