初识表及什么是数据表
一、了解表
1.1.概述
表是处理数据和建立关系型数据库及应用程序的基本单元,是构成数据库的基本元素之一,是数据库中数据组织并储存的单元,所有的数据都能以表格的形式组织,目的是可读性强。
1.2.表结构简述
一个表中包括行和列:
-
行:被称为数据/记录(data)
-
列:被称为字段(column)
简而言之,所谓表其表现形式和我们平时所使用的Excel表格是一样的
Excel表:
MySQL表:
1.3.连接、库、表
数据库中我们操作最多的就是数据库表,但是在操作表之前我们需要了解一些前置信息,这些有助于我们更好的了解数据库!
1.3.1.连接
Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。简而言之就是我们可以通过navicat将数据库表的信息以excel表格的形式来展示在我们面前!
1.3.2.库
数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。
1.3.3.表
表是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。是SQL数据库中用于存储数据的工具。
表是包含数据库中所有数据的数据库对象。
表定义为列的集合。与电子表格相似,数据在表中式按行和列的格式组织排列的。表中的每一列都设计为存储某种类型的信息(例如日期、名称、美元金额或数字)。表上有几种控制(约束、规则、默认值和自定义用户数据类型)用于确保数据的有效性。如图所示:
二、DDL-数据表的定义
DDL(data definition language):对数据表的定义,通过sql语句创建数据表,并对其进行操作
2.1.创建数据表
数据表实际就是一个二维的表格,由多列组成,表格中的每一列称之为表格的一个字段
create table students(stu_num char(8) not null unique,stu_name varchar(20) not null,stu_gender char(2) not null,stu_age int not null,stu_tel char(11) not null unique,stu_qq varchar(11) not null unique
);
在dos命令窗口运行结束显示:
在navicat中运行后的效果如图所示:
2.2.数据表的操作
通过sql语句,来对数据表进行操作,使其达到我们想要的效果
2.2.1.查询数据表
-- 查询数据表的sql语句
show tables;
dos命令窗口查询结果如下:
2.2.2.查询表结构
-- 查询表结构的sql语句
desc <表名>;
dos命令窗口查询结果如下:
2.2.3.删除数据表
-- 用于删除数据表的sql语句
drop table <表名>;
-- 判断该表是否存在,存在就执行删除操作
drop table if exists <表名>;
其执行结果为:
2.2.4.修改数据表
-- 修改数据表名
alter table <原表名> rename to <新表名>;
-- 修改数据表的字符集,其默认字符集和数据库一致
alter table <表名> character set utf8;
-- 添加字段(列)
alter table <表名> add <字段名> varchar(200);
-- 修改字段的列名和类型
alter table <表名> change <原字段名> <新字段名> <新字段类型>;
-- 只修改字段类型
alter table <表名> modify <字段名> <新类型>;
-- 删除字段
alter table <表名> drop <字段名>;
上述sql语句成功运行之后的结果均为:
2.3.数据类型
数据类型,指的是数据表中的列所支持存放的数据的类型
在mysql中有多种数据类型可以存放数据,不同的类型存放的数据的范围或者形式是不同的
2.3.1.数值类型
所谓数值类型其实就是我们所学的数学当中的数字,包括整数、小数
类型 | 内存空间大小 | 范围 | 说明 |
---|---|---|---|
tinyint | 1byte | 有符号 -128~127 无符号 0~255 | 特小型整数(年龄) |
smalint | 2byte(16bit) | 有符号 -32768~32767 无符号 0~65535 | 小型整数 |
mediumint | 3byte | 有符号 -2^31~2^31-1 无符号 0~2^32-1 | 中型整数 |
int/integer | 4byte | 整数 | |
bigint | 8byte | 大型整数 | |
float | 4byte | 单精度 | |
double | 8byte | 双精度 | |
decimal | 第一参数+2 | decimal(10,2) 表示数值一共有10位 小数位有两位 |
2.3.2.字符串类型
存储字符序列的类型,简单来说就是非数字类型(包括汉字、英文等)
类型 | 字符长度 | 说明 |
---|---|---|
char | 0~255字节 | 定长字符串最多可以存储255个字符;当我们指定数据表字段为char(n)时,此列中的数据最长为n个字符,如果添加的数据少于n,则补'\u0000'至n长度 |
varchar | 0~65536字节 | 可变长度字符串,此类型的类最大长度为65535 |
tinyblob | 0~255字节 | 存储二进制字符串 |
blob | 0~65535字节 | 存储二进制字符串 |
mediumblob | 0~1677215字节 | 存储二进制字符串 |
longblob | 0~4294967295字节 | 存储二进制字符串 |
tinytext | 0~255字节 | 文本数据(字符串) |
text | 0~65535字节 | 文本数据(字符串) |
mediumtext | 0~1677215字节 | 文本数据(字符串) |
longtext | 0~4294967295字节 | 文本数据(字符串) |
2.3.3.日期类型
在mysql数据库中,我们可以使用字符串来存储时间,但是我们需要基于字段进行查询操作(查询在某个时间段内的数据)就不便于查询实现,简而言之就是当我们需要对时间进行计算的时候无法通过字符串来进行计算,就和我们无法计算 “你好”-“哈哈”=?一样
类型 | 格式 | 说明 |
---|---|---|
date | 2022-10-15 | 日期,只存储年月日 |
time | 11:12:13 | 时间,只存储时分秒 |
year | 2022 | 年份 |
datetime | 2022-10-15 11:12:13 | 日期+时间,存储年月日时分秒 |
timestamp | 20221015 111213 | 日期+时间(时间戳) |
ps:在mysql中有丰富的数据类型供我们选择使用,但是常用的数据类型其实并不是很多(都加粗了哦!)
2.4.字段约束
在创建数据表的时候,指定的对数据表的列的数据限制性的要求(对表的列中的数据进行限制),简单来说就是对数据表中字段的要求
为什么要给表中的列添加约束呢
-
保证数据的有效性
-
保证数据的完整性
-
保证数据的正确性
字段常见的约束有哪些呢
-
非空约束(not null)∶限制此列的值必须提供,不能为null
-
唯一约束(unique)∶在表中的多条数据,此列的值不能重复
-
主键约束(primary key)∶非空+唯一,能够唯一标识数据表中的一条数据
-
外键约束(foreign key)∶建立不同表之间的关联关系
其在navicat中的表现形式为:
相关文章:

初识表及什么是数据表
一、了解表 1.1.概述 表是处理数据和建立关系型数据库及应用程序的基本单元,是构成数据库的基本元素之一,是数据库中数据组织并储存的单元,所有的数据都能以表格的形式组织,目的是可读性强。 1.2.表结构简述 一个表中包括行和列…...

使用Docker部署DataX3.0+DataX-Web
1、准备基础镜像,开通所需端口 先查看3306和9527端口是否开放,如果未开放先在防火墙添加 firewall-cmd --zonepublic --add-port3306/tcp --permanent firewall-cmd --zonepublic --add-port9527/tcp --permanent firewall-cmd --reload systemctl sto…...

庖丁解牛-二叉树的遍历
庖丁解牛-二叉树的遍历 〇、前言 01 文章内容 一般提到二叉树的遍历,我们是在说 前序遍历、中序遍历、后序遍历和层序遍历 或者说三序遍历层序遍历,毕竟三序和层序的遍历逻辑相差比较大下面讨论三序遍历的递归方法、非递归方法和非递归迭代的统一方法然…...

一文了解LM317T的引脚介绍、参数解读
LM317T是一种线性稳压器件,它具有稳定输出电压的特性。LM317T可以通过调整其输出电阻来确保输出电压的稳定性,因此被广泛应用于各种电子设备中。 LM317T引脚图介绍 LM317T共有3个引脚,分别是: 输入引脚(输入电压V_in&…...

【2024.02.22】定时执行专家 V7.0 发布 - TimingExecutor V7.0 Release - 龙年春节重大更新版本
目录 ▉ 新版本 V7.0 下载地址 ▉ V7.0 新功能 ▼2024-02-21 V7.0 - 更新日志▼ ▉ V7.0 新UI设计 ▉ 新版本 V7.0 下载地址 BoomWorks软件的最新版本-CSDN博客文章浏览阅读10w次,点赞9次,收藏41次。▉定时执行专家—毫秒精度、专业级的定时任务执行…...

☀️将大华摄像头画面接入Unity 【1】配置硬件和初始化摄像头
一、硬件准备 目前的设想是后期采用网口供电的形式把画面传出来,所以这边我除了大华摄像头还准备了POE供电交换机,为了方便索性都用大华的了,然后全都连接电脑主机即可。 二、软件准备 这边初始化摄像头需要用到大华的Configtool软件&#…...

直流电流电压变送器4-20mA 10V信号隔离转换模拟量精度变送器
品牌:泰华仪表 型号:TB-IP(U)XX 产地:中国大陆 省份:安徽省 地市:宿州市 颜色分类:4-20mA转4-20mA,4-20mA转0-10V,4-20mA转0-20mA,4-20mA转0-5V,0-20mA转0-20mA,0-20mA转4-20mA,0-20mA转0-10V,0-20mA转…...

1.1 计算机网络的概念、功能、组成和分类
文章目录 1.1 计算机网络的概念、功能、组成和分类(一)计算机网络的概念(二)计算机网络的功能(三)计算机网络的组成1.组成部分2.工作方式3.功能组成 (四)计算机网络的分类 总结 1.1 …...

排序算法整理
排序种类排序特性代码背景 基于插入的排序直接插入排序原理代码 折半查找排序2路查找排序希尔排序(shell) 缩小增量排序原理代码 基于交换的排序冒泡排序原理代码 快速排序(重要!)原理我的思考 代码 基于选择的排序(简单)选择排序…...

ONLYOFFICE 桌面应用程序 v8.0 发布:全新 RTL 界面、本地主题、Moodle 集成等你期待的功能来了!
目录 📘 前言 📟 一、什么是 ONLYOFFICE 桌面编辑器? 📟 二、ONLYOFFICE 8.0版本新增了那些特别的实用模块? 2.1. 可填写的 PDF 表单 2.2. 双向文本 2.3. 电子表格中的新增功能 单变量求解:…...

c语言---数组(超级详细)
数组 一.数组的概念二. 一维数组的创建和初始化2.1数组的创建2.2数组的初始化错误的初始化 2.3 数组的类型 三. 一维数组的使用3.1数组的下标3.2数组元素的打印3.2数组元素的输入 四. 一维数组在内存中的存储五. 二维数组的创建5.1二维数组的概念5.2如何创建二维数组 六.二维数…...

神经网络权重初始化
诸神缄默不语-个人CSDN博文目录 (如果只想看代码,请直接跳到“方法”一节,开头我介绍我的常用方法,后面介绍具体的各种方案) 神经网络通过多层神经元相互连接构成,而这些连接的强度就是通过权重ÿ…...

代码随想录训练营第三十九天|62.不同路径63. 不同路径 II
62.不同路径 1确定dp数组(dp table)以及下标的含义 从(0,0)出发到(i,j)有 dp[i][j]种路径 2确定递推公式 dp[i][j]dp[i-1][j]dp[i][j-1] 3dp数组如何初始化 for(int i0;i<m…...

学习大数据所需的java基础(5)
文章目录 集合框架Collection接口迭代器迭代器基本使用迭代器底层原理并发修改异常 数据结构栈队列数组链表 List接口底层源码分析 LinkList集合LinkedList底层成员解释说明LinkedList中get方法的源码分析LinkedList中add方法的源码分析 增强for增强for的介绍以及基本使用发2.使…...

Python 光速入门课程
首先说一下,为啥小编在即PHP和Golang之后,为啥又要整Python,那是因为小编最近又拿起了 " 阿里天池 " 的东西,所以小编又不得不捡起来大概五年前学习的Python,本篇文章主要讲的是最基础版本,所以比…...

解决vite打包出现 “default“ is not exported by “node_modules/...问题
项目场景: vue3tsvite项目打包 问题描述 // codemirror 编辑器的相关资源 import Codemirror from codemirror;error during build: RollupError: "default" is not exported by "node_modules/vue/dist/vue.runtime.esm-bundler.js", impor…...

c语言strtok的使用
strtok函数的作用为以指定字符分割字符串,含有两个参数,第一个函数为待分割的字符串或者空指针NULL,第二个参数为分割字符集。 对一个字符串首次使用strtok时第一个参数应该是待分割字符串,strtok以指定字符完成第一次分割后&…...

hash,以及数据结构——map容器
1.hash是什么? 定义:hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出, 该输出就是散列值。这种转换是一种压缩映射&…...

AIoT网关 人工智能物联网网关
AIoT(人工智能物联网)作为新一代技术的代表,正以前所未有的速度改变着我们的生活方式。在这个智能时代,AIoT网关的重要性日益凸显。它不仅是连接智能设备和应用的关键,同时也是实现智能化家居、智慧城市和工业自动化的必备技术。 一…...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的鸟类识别系统(Python+PySide6界面+训练代码)
摘要:本文详细阐述了一个利用深度学习进行鸟类识别的系统,该系统集成了最新的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等先前版本进行了性能比较。该系统能够在图像、视频、实时视频流和批量文件中精确地识别和分类鸟类。文中不仅深入讲解了YO…...

核密度分析
一.算法介绍 核密度估计(Kernel Density Estimation)是一种用于估计数据分布的非参数统计方法。它可以用于多种目的和应用,包括: 数据可视化:核密度估计可以用来绘制平滑的密度曲线或热力图,从而直观地表…...

先进语言模型带来的变革与潜力
用户可以通过询问或交互方式与GPT-4这样的先进语言模型互动,开启通往知识宝库的大门,即时访问人类历史积累的知识、经验与智慧。像GPT-4这样的先进语言模型,能够将人类历史上积累的海量知识和经验整合并加以利用。通过深度学习和大规模数据训…...

重铸安卓荣光——上传图片组件
痛点: 公司打算做安卓软件,最近在研究安卓,打算先绘制样式 研究发现安卓并不像前端有那么多组件库,甚至有些基础的组件都需要自己实现,记录一下自己实现的组件 成品展示 一个上传图片的组件 可以选择拍照或者从相册中…...

Bert基础(四)--解码器(上)
1 理解解码器 假设我们想把英语句子I am good(原句)翻译成法语句子Je vais bien(目标句)。首先,将原句I am good送入编码器,使编码器学习原句,并计算特征值。在前文中,我们学习了编…...

Visual Studio快捷键记录
日常使用Visual Studio进行开发,记录一下常用的快捷键: 复制:CtrlC剪切:CtrlX粘贴:CtrlV删除:CtrlL撤销:CtrlZ反撤销:CtrlY查找:CtrlF/CtrlI替换:CtrlH框式选…...

分享84个Html个人模板,总有一款适合您
分享84个Html个人模板,总有一款适合您 84个Html个人模板下载链接:https://pan.baidu.com/s/1GXUZlKPzmHvxtO0sm3gHLg?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集…...

vue使用.sync和update实现父组件与子组件数据绑定的案例
在 Vue 中,.sync 是一个用于实现双向数据绑定的特殊修饰符。它允许父组件通过一种简洁的方式向子组件传递一个 prop,并在子组件中修改这个 prop 的值,然后将修改后的值反馈回父组件,实现双向数据绑定。 使用 .sync 修饰符的基本语…...

C语言系列15——C语言的安全性与防御性编程
目录 写在开头1 缓冲区溢出:如何防范与处理1.1 缓冲区溢出的原因1.2 预防与处理策略 2. 安全的字符串处理函数与使用技巧2.1 strncpy函数2.2 snprintf函数2.3 strlcpy函数2.4 使用技巧 3 防御性编程的基本原则与实际方法3.1 基本原则3.2 实际方法 写在最后 写在开头…...

objectMapper、ObjectNode、JsonNode调用接口时进行参数组装
objectMapper、ObjectNode、JsonNode用于调用接口时进行参数组装 public String sendText( List< String > listUser, String content ) throws JsonProcessingException{if ( listUser.size() < 0 ){return "用户ID为空!";}if ( content.lengt…...

2024开年,手机厂商革了自己的命
文|刘俊宏 编|王一粟 2024开年,AI终端的号角已经由手机行业吹响。 OPPO春节期间就没闲着,首席产品官刘作虎在大年三十就迫不及待地宣布,OPPO正式进入AI手机时代。随后在开年后就紧急召开了AI战略发布会,…...