数据库的基本概念

打印 上一主题 下一主题

主题 1001|帖子 1001|积分 3003

一、什么是关系型数据库

关系型数据库(Relational Database, 简称 RDB)是一种基于关系模型的数据存储体系。数据在数据库中以表格(Table)的形式组织,表格由行(Row)和列(Column)组成,此中每一行表现一条记录,每一列表现一个字段。它的核心概念是通过关系来管理和组织数据。
1.表(Table)
   

  • 数据的基本存储单位,雷同于二维表格。
  • 每个表由列(字段)和行(记录)组成。
  • 表与表之间可以通过主键和外键建立关系。
  2.列(Column)
   

  • 表中的一个字段,用于定义数据的属性(如姓名、年龄、所在等)。
  • 每列有固定的数据类型(如 INT、VARCHAR、DATE)。
  3.行(Row)
   

  • 表中的一条记录,表现某个具体对象的数据(如某个学生的姓名和学号)。
  • 每行的数据是唯一的,可以通过主键标识。
  4.主键(Primary Key)
   

  • 表中用于唯一标识一条记录的字段。
  • 主键值不能重复,也不能为空。
  5.外键(Foreign Key)
   

  • 表中用来建立表与表之间关系的字段。
  • 外键引用另一个表的主键,用于确保数据的完整性和同等性。
  6.关系
   

  • 表与表之间通过主键和外键建立连接,从而形成数据之间的逻辑关联。
  二、数据库的创建和删除

1.创建数据库
创建数据库是指在数据库体系中划分一块空间,用来存储相应的数据,这是进行表操纵的根本,也是进行数据库管理的根本。
在MySQL中创建数据库之前,可以利用SHOW语句来表现当前已经存在的数据库,具体SQL语句如下:
  1. SHOW DATABASES;
复制代码
实行效果如下:

基本语法:
  1. CREATE DATABASE [IF NOT EXISTS] 数据库名 [CHARACTER SET 字符集] [COLLATE 排序规则];
复制代码
  

  • IF NOT EXISTS: 如果数据库不存在,则创建;如果已存在,避免报错。
  • CHARACTER SET: 指定数据库的字符集(默认是 utf8mb4)。
  • COLLATE: 指定数据库的排序规则(与字符集相干,默以为 utf8mb4_general_ci)。
  示例:
创建一个名为 testdb 的数据库,利用默认字符集和排序规则:
  1. CREATE DATABASE testdb;
复制代码
创建一个名为 mydb 的数据库,指定字符集为 utf8mb4,排序规则为 utf8mb4_unicode_ci:
  1. CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
复制代码
创建时避免重复报错:
  1. CREATE DATABASE IF NOT EXISTS mydb;
复制代码
实行效果如下:

2.选择数据库
告诉 MySQL 当前我们要操纵哪个数据库。一旦选择了数据库,后续的所有操纵(如创建表、插入数据、查询数据)都会默认针对该数据库进行。
选择数据库 testdb:
  1. USE testdb;
复制代码
验证当前选择的数据库:
  1. SELECT DATABASE();
复制代码
实行效果:

3.删除数据库
在删除数据库之前,起首需要确定所操纵的数据库对象已经存在。在MySQL中删除数据库可以通过SQL语句DROP DATABASE来实现。
基本语法:
  1. DROP DATABASE [IF EXISTS] 数据库名;
复制代码
  

  • IF EXISTS: 如果数据库存在,则删除;如果不存在,避免报错。
  • 注意: 删除数据库会移除数据库中的所有表和数据,操纵需审慎。
  示例:
删除名为 testdb 的数据库:
  1. DROP DATABASE testdb;
复制代码
删除时避免报错:
  1. DROP DATABASE IF EXISTS mydb;
复制代码

三、数据表的操纵

在MySQL数据中,表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成,重要用来实现存储数据记录。表的操纵包罗创建表、查询表、修改表和删除表,这些操纵是数据库对象的表管理中最基本也是最重要的操纵。
先创建一个数据库:
  1. create database school;
复制代码

然后在此数据库中创建一个班级表:
  1. CREATE TABLE class (
  2.     ID INT AUTO_INCREMENT PRIMARY KEY,        -- 主键,自动递增
  3.     名称 VARCHAR(100) NOT NULL,              -- 学校或班级名称,不允许为空
  4.     班主任 VARCHAR(64) NOT NULL             -- 班主任姓名,不允许为空
  5. );
复制代码

向班级表中插入数据:
  1. INSERT INTO class (ID, 名称, 班主任) VALUES (101, '五年级一班', '张老师');
  2. INSERT INTO class (ID, 名称, 班主任) VALUES (102, '五年级二班', '李老师');
复制代码

查询表中的数据:
查询表class中的全部记录:
  1. select * from class;
复制代码

根据ID查询指定记录:
  1. select * from class where ID = 101;
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表