当前位置: 首页 > article >正文

MySQL入门:数据表的创建

​今天我们来介绍一下除HTML外的另一种语言:MySQL语言;

      MySQL:即一种用于管理和处理关系数据库的标准语言。要用于执行查询、更新、管理数据库中的数据以及定义和操作数据库结构。

接下来我会逐一介绍它的作用以及其中数据表,数据库的相关操作;

其主要功能: 1.查询数据 ( SELECT ): 从一个或多个表中检索数据。2.插入数据 ( INSERT ): 向表中添加新记录。 3.更新数据 ( UPDATE ): 修改现有记录。 4.删除数据 ( DELETE ): 移除记录。 5.定义数据库结构 ( CREATE , ALTER , DROP ): 创建、修改或删除数据库对象(如表、索引等)。

数据库相关操作:

创建数据库了:

       创建数据库是通过SQL语句来完成的,通常使用 create database 语句。 一旦创建了数据库,
就可以在其上定义表和其他数据库对象。
SQL语句:

create database bookstore

 释义:这条语句意为创建了一个名为 bookstore 的数据库。

删除数据库:

        删除数据是通过SQL语句来完成的,通过使用drop database语句来进行的。删除数据库会永久删除数据库及其所有内容,因此在执行此操作前请谨慎考虑。

SQL语句:

 drop database bookstore

 释义:这条语句删除了名为 bookstore 的数据库。

数据库表:

       数据库表是用来存储数据的二维表格,每一行称为一条记录(或元组),每一列表示一个属性(或字段)。 表中的每一行记录代表一个对象的状态,而每一列表示对象的一个属性。 在面向对象编程中,对象是类的实例,具有状态和行为。 在数据库设计中,表可以看作是对类的实例化,每条记录就是一个对象,而每一列表示对象的属性。

author 作者表:

 注:在这个表格中,id 是主键,name 是作者的名字,bio 是作者的简介。

图解如下:

book 书籍表:

注:在这个表格中,id 是主键,title 是书籍的标题,publication_date 是书籍的出版日期。

数据类型:

       介绍数据类型定义了可以存储在字段中的数据种类。选择合适的数据类型对于保证数据完整性和提高性能至关重要。

       常用数据类型: 整型 ( int ) :用于存储整数。 浮点型 ( double ) :用于存储带有小数的数值。 字符型 ( varchar ) :用于存储文本字符串。 日期时间型 ( date ) :用于存储日期。

创建表:

介绍:创建表是通过SQL语句来完成的,通常使用 create table 语句。创建表时可以定义表中的各个字段及其数据类型。

SQL语句:
create table student (
id int,
name varchar(100),
age int
);

显示:

表的约束:
介绍:主键约束用于唯一标识表中的每一条记录。每张表都应该具备一个主键。 作用是 确保字段值的唯一性。数据不可重复。
SQL语句:
create table student (
id int primary key,
name varchar(100),
age int
);

注:主键约束(primary key)确保了表中的每一条记录都是唯一的,这有助于后续的操作,例如查询、更新或删除单条记录。

非空约束 (not null)

介绍:非空约束确保字段值不能为空。 作用是 防止数据丢失或错误。
SQL 语句
create table student (
id int primary key,
name varchar(100) not null,
age int
);

:非空约束确保了某些关键字段(如姓名)必须有值,这样可以避免数据的不完整性。

唯一约束 ( unique )
介绍:唯一约束确保字段或字段组合的值在表中是唯一的。 作用是 避免重复数据
SQL语句:
create table student (
id int primary key,
name varchar(100) not null,
email varchar(255) unique
);
默认值约束 ( default )
介绍默认值约束为字段提供默认值,在插入新记录时不指定值时自动使用。 作用是 简化数据输入。
SQL语句:
create table student (
id int primary key,
name varchar(100) not null,
age int default 18
);

:默认值约束可以在插入记录时如果没有指定某些字段的值时,默认使用设定的值,从而简化数据输入过程。

检查约束 ( check )
介绍:检查约束确保字段值满足特定条件。 作用是 防止无效数据的插入。比如年龄大于18小于65,若不符合则显示错误。

SQL语句:

create table student (
id int primary key,
name varchar(100) not null,
age int check (age >17 and age < 66)
);

 字符释义:and:表并且;or:表或者;

 :检查约束确保了年龄字段的值在合理的范围内,这样可以避免无效的数据插入。

自增字段 ( auto_increment )
介绍自增字段在每次插入新记录时自动增加,通常用于主键字段。 作用是 简化主键的管理、

SQL语句:

create table student (
id int auto_increment primary key,
name varchar(100) not null,
age int
);

注:自增字段确保了每次插入新记录时,主键字段自动递增,每次加一,不需要手动指定。这样可以简化主键的管理。

完整案例展示:

展示:创建一个含多种约束式学生表,并使用所有在以上提到过的约束类型。

create table students (
id int auto_increment primary key,
name varchar(100) not null,
phone_number varchar(20) unique,
age int default 18 check (age = 0 and age = 150)
);

 展示:

释义:I.id 字段作为自增主键,确保每条记录都是唯一的,并且每次插入新记录时自动递增。II.name 字段不允许为空,确保每条记录都有姓名信息。 III.phone_number 字段设置了唯一约束,确保手机号码在学生表中是唯一的。 VI.age 字段设置了默认值为18,并通过 check 约束确保年龄的有效范围。

总结:希望本篇有关于MySQL创建数据表和数据库的知识点内容能对你带来一定的帮助,同时非常感谢各位大佬们的点赞与支持,咱们下一篇不见不散。

相关文章:

MySQL入门:数据表的创建

​今天我们来介绍一下除HTML外的另一种语言&#xff1a;MySQL语言&#xff1b; MySQL&#xff1a;即一种用于管理和处理关系数据库的标准语言。要用于执行查询、更新、管理数据库中的数据以及定义和操作数据库结构。 接下来我会逐一介绍它的作用以及其中数据表&#xff0c;数据…...

数据库的基本原则

数据库的核心原则 原子性与持久性&#xff1a;原子性&#xff08;Atomicity&#xff09;确保一个事务中的所有操作要么全部完成&#xff0c;要么完全不执行&#xff0c;不会出现部分完成的情况。持久性&#xff08;Durability&#xff09;则保证一旦事务提交成功&#xff0c;即…...

Rust 中的Relaxed 内存指令重排演示:X=0 Y=0 是怎么出现的?

&#x1f525; Rust 中的内存重排演示&#xff1a;X0 && Y0 是怎么出现的&#xff1f; 在并发编程中&#xff0c;我们经常会听说“内存重排&#xff08;Memory Reordering&#xff09;”这个术语&#xff0c;但它似乎总是只出现在理论或者别人口中的幻觉里。本文将通过…...

C++进程间通信开发实战:高效解决项目中的IPC问题

C进程间通信开发实战&#xff1a;高效解决项目中的IPC问题 在复杂的软件项目中&#xff0c;进程间通信&#xff08;Inter-Process Communication, IPC&#xff09;是实现模块化、提高系统性能与可靠性的关键技术之一。C作为一门高性能的编程语言&#xff0c;广泛应用于需要高效…...

FPGA-DDS技术的波形发生器

1.实验目的 1.1掌握直接数字频率合成&#xff08;DDS&#xff09;的基本原理及其实现方法。 1.2在DE2-115 FPGA开发板上设计一个可调频率的正弦波和方波发生器&#xff0c;频率范围10Hz~5MHz&#xff0c;最小分辨率小于1kHz。 1.3使用Quartus II进行仿真&#xff0c;并通过S…...

C#实现通过MQTT Broker——EMQX发布订阅消息及其认证、授权的安全配置操作

一、准备内容 MQTT的构成、使用场景、工作原理介绍-CSDN博客文章浏览阅读656次,点赞7次,收藏12次。MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议【适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境】它在物联网应用中…...

考研单词笔记 2025.04.15

addition n添加&#xff0c;增加&#xff0c;加法 additional a附加的&#xff0c;额外的 in addition 另外&#xff1b;除此之外&#xff1b;加之 augment v增加&#xff0c;增强&#xff0c;提高 explode v急剧增长&#xff0c;爆炸&#xff0c;爆发&#xff0c;迸发 gr…...

【双指针】三数之和(medium)

三数之和&#xff08;medium&#xff09; 题⽬描述&#xff1a;解法&#xff08;排序双指针&#xff09;&#xff1a;算法思路&#xff1a;C 算法代码&#xff1a;Java 算法代码&#xff1a;注&#xff1a;数组转列表 题⽬链接&#xff1a;15. 三数之和 题⽬描述&#xff1a; …...

【项目管理】第17章 项目干系人管理-- 知识点整理

项目管理-相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应:第6章-第19章 第6章 项目管理概论 4分第13章 项目资源管理 3-4分第7章 项目…...

视频融合平台EasyCVR可视化AI+视频管理系统,打造轧钢厂智慧安全管理体系

一、背景分析 在轧钢厂&#xff0c;打包机负责线材打包&#xff0c;操作人员需频繁进入内部添加护垫、整理包装、检修调试等。例如&#xff0c;每班产线超过300件&#xff0c;12小时内人员进出打包机区域超过300次。若员工安全意识薄弱、违规操作&#xff0c;未落实安全措施就…...

无参数RCE

无参数RCE&#xff08;Remote Code Execution&#xff0c;远程代码执行&#xff09; 是一种通过利用目标系统中的漏洞&#xff0c;在不直接传递用户可控参数的情况下&#xff0c;实现远程执行任意代码的攻击技术。与传统的RCE攻击不同&#xff0c;无参数RCE不依赖外部输入参数…...

鸿蒙开发中,@Extend、@Styles 和 @Builder 的区别

在鸿蒙&#xff08;HarmonyOS&#xff09;开发中&#xff0c;Extend、Styles 和 Builder 是三种常用的装饰器&#xff0c;用于提升代码复用性和可维护性。以下是它们的详细介绍和示例&#xff1a; 1. Extend&#xff1a;扩展组件样式 说明&#xff1a; 功能&#xff1a;用于…...

C++ 智能指针底层逻辑揭秘:优化内存管理的核心技术解读

目录 0.为什么需要智能指针&#xff1f; 1.智能指针的使用及原理 RAII&#xff1a; 智能指针的原理&#xff1a; 2.智能指针有哪些&#xff1f; std::auto_ptr std::unique_ptr std::shared_ptr std::weak_ptr 0.为什么需要智能指针&#xff1f; 想要回答这个问题&…...

Vue接口平台学习七——接口调试页面请求体

一、实现效果图及简单梳理 请求体部分的左边&#xff0c;展示参数&#xff0c;分text和file类型。 右边部分一个el-upload的上传文件按钮&#xff0c;一个table列表展示&#xff0c;一个显示框&#xff0c;用于预览选择的文件&#xff0c;点击可大图展示。 二、页面内容实现 …...

小程序css实现容器内 数据滚动 无缝衔接 点击暂停

<view class"gundongBox"><!-- 滚动展示信息的模块 --><image class"imgWid" :src"imgurlgundong.png" mode"widthFix"></image><view class"gundongView"><view class"container&qu…...

内存条装机,无法启动

1、i5-9600k,主板技嘉z390gamingx&#xff1a; ①、插满4条DDR4-2666&#xff0c;无法启动&#xff1b; ②、两条DDR4-2666&#xff0c;插在2、4或者1、3插槽&#xff0c;可以启动&#xff1b; ③、三条DDR4-2666&#xff0c;一条DDR4-2400&#xff0c;插满4个内存插槽&…...

【力扣】day1

文章目录 27.移除元素26. 删除有序数组的重复项 27.移除元素 26. 删除有序数组的重复项 我们仔细看一下这两道题的最后的返回值,为什么第一题返回slow 而第二题返回slow1 最后的返回值该如何返回绝对不是凭感觉,我们自己分析一下第一个slow,从0位置开始, 遇到val值就开始和fas…...

图像预处理-色彩空间补充,灰度化与二值化

一.图像色彩空间转换 1.1 HSV颜色空间 HSV颜色空间使用色调&#xff08;Hue&#xff09;、饱和度&#xff08;Saturation&#xff09;和亮度&#xff08;Value&#xff09;三个参数来表示颜色 一般对颜色空间的图像进行有效处理都是在HSV空间进行的&#xff0c;然后对于基本…...

linux如何用关键字搜索日志

在 Linux 系统中搜索日志是日常运维的重要工作&#xff0c;以下是几种常用的关键字搜索日志方法&#xff1a; 1. 基础 grep 搜索 bash 复制 # 基本搜索&#xff08;区分大小写&#xff09; grep "keyword" /var/log/syslog# 忽略大小写搜索 grep -i "error&…...

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换

原理解析 1. MySQL主从复制&#xff08;Master-Slave Replication&#xff09; 工作原理&#xff1a;MySQL主从复制通过二进制日志&#xff08;binary log&#xff09;来同步数据。主服务器记录所有更改操作到二进制日志中&#xff0c;从服务器读取这些日志并执行相应的SQL语…...

项目交接时信息遗漏,如何预防

项目交接时&#xff0c;信息遗漏可能导致任务延误、质量下降和团队混乱&#xff0c;因此&#xff0c;建立系统化的交接流程和使用专业的工具是防止信息遗漏的有效策略。交接过程中的信息丢失往往源自沟通不畅、文档不完整或者责任不明确等问题&#xff0c;这不仅影响项目的顺利…...

【AI量化第24篇】KhQuant 策略框架深度解析:让策略开发回归本质——基于miniQMT的量化交易回测系统开发实记

我是Mr.看海&#xff0c;我在尝试用信号处理的知识积累和思考方式做量化交易&#xff0c;应用深度学习和AI实现股票自动交易&#xff0c;目的是实现财务自由~ 目前我正在开发基于miniQMT的量化交易系统——看海量化交易系统。 本篇要讲到量化的核心了——策略。说白了每个投资者…...

向量数据库Qdrant 安装 不使用docker

一、导读 环境&#xff1a;Ubuntu 24.04、Windows 10、WSL 2、Qdrant 1.13.4 背景&#xff1a;换了新工作&#xff0c;使用qdrant作为向量库&#xff0c;需要不使用docker安装 时间&#xff1a;20250415 说明&#xff1a;初入职&#xff0c;不了解&#xff0c;暂且记下 二、…...

微电网与分布式能源:智能配电技术的场景化落地

安科瑞顾强 随着数字化转型与能源革命的加速推进&#xff0c;电力系统正经历从传统模式向智能化、网络化方向的深刻变革。用户侧的智能配电与智能用电技术作为这一变革的核心驱动力&#xff0c;正在重塑电力行业的生态格局。本文将从技术架构、应用场景及未来趋势等维度&#…...

实战指南:封装Whisper为FastAPI接口并实现高并发处理-附整合包

实战指南&#xff1a;封装Whisper为FastAPI接口并实现高并发处理 下面给出一个详细的示例&#xff0c;说明如何使用 FastAPI 封装 OpenAI 的 Whisper 模型&#xff0c;提供一个对外的 REST API 接口&#xff0c;并支持一定的并发请求。 下面是主要步骤和示例代码。 1. 环境准备…...

C#Winform程序将子窗体嵌入容器方法

private void OpenForm(Form childFrom) { //首先判断容器中是否有其他的窗体 foreach (Control item in this.panelRight.Controls) { if (item is Form) { ((Form)item).Close(); } } //嵌入新的窗体 childFrom.TopLevel false;//将子窗体设置成非顶级控件 childFrom.Parent…...

Web三漏洞学习(其一:文件上传漏洞)

靶场:云曦历年考核题 一、文件上传 在此之前先准备一个一句话木马 将其命名为muma.txt 23年秋期末考 来给师兄上个马 打开环境以后直接上传muma.txt&#xff0c;出现js弹窗&#xff0c;说明有前端验证 提示只能上传.png .jpg 和 .gif文件&#xff0c;那就把muma.txt的后缀…...

37-串联所有单词的子串

给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 words ["ab","cd","ef"]&#xff0c; 那么 "abcdef…...

ShardingSphere复合分片之hash槽算法

前言 上一篇《ShardingSphere复合分片》中有详细介绍多key多value的复合分片算法应该如何设计&#xff0c;在大部分情况下该算法是没有问题的&#xff0c;但是一旦涉及到数据迁移时&#xff0c;该算法的缺点就暴露无疑了。 为满足日益增长的用户或者订单的需求&#xff0c;在分…...

Web三漏洞学习(其二:sql注入)

靶场&#xff1a;NSSCTF 、云曦历年考核题 二、sql注入 NSSCTF 【SWPUCTF 2021 新生赛】easy_sql 这题虽然之前做过&#xff0c;但为了学习sql&#xff0c;整理一下就再写一次 打开以后是杰哥的界面 注意到html网页标题的名称是 “参数是wllm” 那就传参数值试一试 首先判…...