初识表及什么是数据表

一、了解表

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.数值类型

所谓数值类型其实就是我们所学的数学当中的数字,包括整数、小数

类型内存空间大小范围说明
tinyint1byte有符号 -128~127 无符号 0~255特小型整数(年龄)
smalint2byte(16bit)有符号 -32768~32767 无符号 0~65535小型整数
mediumint3byte有符号 -2^31~2^31-1 无符号 0~2^32-1中型整数
int/integer4byte整数
bigint8byte大型整数
float4byte单精度
double8byte双精度
decimal第一参数+2decimal(10,2) 表示数值一共有10位 小数位有两位
2.3.2.字符串类型

存储字符序列的类型,简单来说就是非数字类型(包括汉字、英文等)

类型字符长度说明
char0~255字节定长字符串最多可以存储255个字符;当我们指定数据表字段为char(n)时,此列中的数据最长为n个字符,如果添加的数据少于n,则补'\u0000'至n长度
varchar0~65536字节可变长度字符串,此类型的类最大长度为65535
tinyblob0~255字节存储二进制字符串
blob0~65535字节存储二进制字符串
mediumblob0~1677215字节存储二进制字符串
longblob0~4294967295字节存储二进制字符串
tinytext0~255字节文本数据(字符串)
text0~65535字节文本数据(字符串)
mediumtext0~1677215字节文本数据(字符串)
longtext0~4294967295字节文本数据(字符串)

2.3.3.日期类型

在mysql数据库中,我们可以使用字符串来存储时间,但是我们需要基于字段进行查询操作(查询在某个时间段内的数据)就不便于查询实现,简而言之就是当我们需要对时间进行计算的时候无法通过字符串来进行计算,就和我们无法计算 “你好”-“哈哈”=?一样

类型格式说明
date2022-10-15日期,只存储年月日
time11:12:13时间,只存储时分秒
year2022年份
datetime2022-10-15 11:12:13日期+时间,存储年月日时分秒
timestamp20221015 111213日期+时间(时间戳)

ps:在mysql中有丰富的数据类型供我们选择使用,但是常用的数据类型其实并不是很多(都加粗了哦!)

2.4.字段约束

在创建数据表的时候,指定的对数据表的列的数据限制性的要求(对表的列中的数据进行限制),简单来说就是对数据表中字段的要求

为什么要给表中的列添加约束呢

  • 保证数据的有效性

  • 保证数据的完整性

  • 保证数据的正确性

字段常见的约束有哪些呢

  • 非空约束(not null)∶限制此列的值必须提供,不能为null

  • 唯一约束(unique)∶在表中的多条数据,此列的值不能重复

  • 主键约束(primary key)∶非空+唯一,能够唯一标识数据表中的一条数据

  • 外键约束(foreign key)∶建立不同表之间的关联关系

其在navicat中的表现形式为:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/485735.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# OpenCvSharp 利用白平衡技术进行图像修复

目录 效果 灰度世界(GrayworldWB)-白平衡算法 完美反射(SimpleWB)-白平衡算法 基于学习的(LearningBasedWB)-白平衡算法 代码 下载 C# OpenCvSharp 利用白平衡技术进行图像修复 OpenCV xphoto模块中提供了三种不同的白平衡算法&#xff0c;分别是&#xff1a;灰度世界(G…

qml 保存当前界面并在其图片中添加文字

使用场景&#xff1a;在保存二维码的时候&#xff0c; 在二维码图片加标题或描述 保存后的图片 demo&#xff1a;https://download.csdn.net/download/uVarAndMethod/88868455

【AIGC】Gemma和ChatGLM3-6B使用体验

近期&#xff0c;谷歌发布了全新的开源模型Gemma&#xff0c;同时智谱AI和清华大学KEG实验室合作推出了ChatGLM3-6B。这两个模型都是先进的对话预训练模型&#xff0c;本文将对它们进行对比&#xff0c;并分享使用体验。 先上效果 ChatGLM3-6B: ChatGLM3 Gemma(20亿参数)&…

安全中国云 | 亚信安全与云宏完成产品互认 共筑云安全未来

近日&#xff0c;亚信安全与云宏信息科技股份有限公司&#xff08;以下简称云宏&#xff09;进一步强化云上合作&#xff0c;完成多款产品兼容性互认。亚信安全云主机安全产品&#xff08;DeepSecurity&#xff09;与云宏CNware WinSphere服务器虚拟化软件、CNware WinStack虚拟…

【嵌入式学习】QT-Day2-Qt基础

1> 思维导图 https://lingjun.life/wiki/EmbeddedNote/20QT 2>登录界面优化 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff…

解决IDEA git 提交慢的问题

文章目录 前言解决IDEA git 提交慢的问题 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话&#xff0c;那欢迎常来啊!!! 解…

LeetCode 热题 100 | 二叉树(终)

目录 1 二叉树小结 1.1 模式一 1.2 模式二 2 236. 二叉树的最近公共祖先 3 124. 二叉树中的最大路径和 菜鸟做题&#xff08;返校版&#xff09;&#xff0c;语言是 C 1 二叉树小结 菜鸟碎碎念 通过对二叉树的练习&#xff0c;我对 “递归” 有了一些肤浅的理解。…

详解NLP多任务统一框架T5:揭秘T5的全能之谜

Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer 1910.10683.pdf (arxiv.org) 1.Abstract 预训练可以让模型学习到可以被迁移到下游任务重的通用能力和知识。在迁移学习中&#xff0c;模型首先在数据丰富的任务上进行预训练&#xff0c…

AI绘画与修图:重塑数字艺术的新纪元

文章目录 一、AI绘画与修图的原理二、AI绘画的应用三、AI修图的优势四、面临的挑战五、未来发展趋势《AI绘画与修图实战&#xff1a;PhotoshopFirefly从入门到精通 轻松玩转AI绘画与修图实战》亮点内容简介作者简介 随着人工智能技术的飞速发展&#xff0c;AI绘画与修图已经成为…

【Linux取经路】文件系统之缓冲区

文章目录 一、先看现象二、用户缓冲区的引入三、用户缓冲区的刷新策略四、为什么要有用户缓冲区五、现象解释六、结语 一、先看现象 #include <stdio.h> #include <string.h> #include <unistd.h>int main() {const char* fstr "Hello fwrite\n"…

使用k-近邻算法改进约会网站的配对效果(kNN)

目录 谷歌笔记本&#xff08;可选&#xff09; 准备数据&#xff1a;从文本文件中解析数据 编写算法&#xff1a;编写kNN算法 分析数据&#xff1a;使用Matplotlib创建散点图 准备数据&#xff1a;归一化数值 测试算法&#xff1a;作为完整程序验证分类器 使用算法&…

vulvhub-----Hacker-KID靶机

打靶详细教程 1.网段探测2.端口服务扫描3.目录扫描4.收集信息burp suite抓包 5.dig命令6.XXE漏洞读取.bashrc文件 7.SSTI漏洞8.提权1.查看python是否具备这个能力2.使用python执行exp.py脚本&#xff0c;如果提权成功&#xff0c;靶机则会开放5600端口 1.网段探测 ┌──(root…