首页 > 数据库 >JXNU数据库_数据库基本SQL操作

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

时间:2023-10-09 18:35:34浏览次数:41  
标签:JXNU 示例 数据库 表中 约束 Employees SQL TABLE 主键

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。


标签:JXNU,示例,数据库,表中,约束,Employees,SQL,TABLE,主键
From: https://www.cnblogs.com/cilinmengye/p/17752659.html

相关文章

  • 网安周报|Mixin Network 云服务商数据库遭到攻击,涉案金额约 2 亿美元
    1、MixinNetwork云服务商数据库遭到攻击,涉案金额约2亿美元MixinNetwork是一个开源的数字资产点对点交易网络,今天在Twitter上宣布,由于该平台遭受了黑客攻击,存款和取款立即暂停。据报道,该攻击的目标是Mixin云服务提供商的数据库,涉案金额约2亿美元。由于在黑客攻击中损失了大量资......
  • openGauss学习笔记-94 openGauss 数据库管理-访问外部数据库-mysql_fdw
    openGauss学习笔记-94openGauss数据库管理-访问外部数据库-mysql_fdwopenGauss的fdw实现的功能是各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程服务器类型包括Oracle、MySQL(MariaDB)、openGauss(postgres_fdw)、file_fdw、dblink。mysql_f......
  • 数据库MYSQL常用
    1命令操作数据库相关1.1连接和退出mysql服务#账号密码方式(我的本地因为暂时没有密码,所以不需要输入密码)mysql-hlocalhost-P3306-uroot-proot#退出\q1.2数据库操作1.2.1创建数据库createdatabasemydemo;1.2.2显示全部的数据库showdatabases;1.2......
  • 安装Mysql详细步骤
    一、下载安装包地址:https://downloads.mysql.com/archives/community/-根据需要选择安装版本二解压并创建配置文件,创建数据目录1将下载的压缩包解压2在bin目录同级下创建一个文件,命名为my.ini3在bin目录同级下创建一个文件夹,命名为data如图:三编辑配......
  • Django 数据库--values_list 指定字段取值及 distinct 去重处理
    通过QuerySet会返回model的所有字段,通过obj.field_name即可获取对应字段的数据values():获取某一个或者某几个字段的数据指定字段使用values()指定参数可以仅仅返回相应字段的字典列表,如:name_dict_list=Project.objects.values('name')则name_dict_list= <Q......
  • MYSQL-sql语句示例
    数据库操作:创建数据库:CREATEDATABASEdatabase_nameCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;删除数据库:DROPDATABASEIFEXISTSdatabase_name;切换数据库:USEdatabase_name;表的管理:创建表:CREATETABLEtable_name(column1datatypeconstraint,colu......
  • Mysql高级sql语句
    1.高级sql语句(进阶查询一)1.1select语法:SELECT"字段"FROM"表名";示例:selectnamefromhome;selectidfromhome2;1.2distinct语法:SELECTDISTINCT"字段"FROM"表名";SELECTDISTINCTStore_NameFROMStore_Info;1.3where有条件......
  • SQL笔记
    SQL四种常用关系型数据库及其对应SQL语言分别是MySQL(mysql)Oracle(sqlplus)SQLServer(ssms)PostgreSQL(psql)。  SQL基础知识SQL的注释--单行注释/*多行注释这是新的一行结束行*/selectname,salaryfromtablename##运用注释调试sql......
  • sql查询实战代码
    <selectid="workPage"resultType="com.shsajt.db.model.ContractWork"> select*fromcontract_workcw leftjoincontract_itemcioncw.item_id=ci.id leftjoinclosed_loopcloncw.id=cl.work_id <where> cw.delet......
  • mysql 存储过程
    存储过程实例前提准备创建表createtabletable1(namevarchar(10));createtableMatches(idint(10)auto_incrementnotnull,MATCHNOint(5)notnull,TEAMNOVarchar(6)notnull,PLAYERNOint(7)notnull,WONInt(8)notnull,LOSTvarchar(2),primarykey(......