初识表及什么是数据表

一、了解表

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中的表现形式为:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

下载 axios.js 文件到本地【linux】

方式一 npm install axios在$NODE_PATH/node_modules/axios/dist路径下即可找到axios.js。 方式二 1、百度搜索 GitHub 官网&#xff1a;https://github.com/ 2、搜索 axios 3、点击 axios/axios 4、下载到本地 5、解压&#xff0c;进入到 dist 文件夹** 参考&#x…

实现可拖拽的页面元素排序更新数据库排序

摘要&#xff1a; 拖拽列表改变路边排序&#xff0c;并且更新后台数据库列表的排序&#xff0c;重新请求的时候获取拖拽后的排序&#xff01; Layui&#xff1a; // 拖拽内页顺序list document.querySelector(#view_side_tab);// 创建cruentItem存放将要拖动的元素let cruen…

Zookeeper经典应用场景实战

Zookeeper经典应用场景实战 ZK的不足之处 watcher检测是一次性的&#xff0c;每次触发之后都需要重新注册会话超时之后没有实现重连机制异常处理繁琐仅提供byte数组类型的接口&#xff0c;没提供java实体序列化级接口创建节点时如果抛出异常&#xff0c;需要自行检查节点是否…

【深度学习】Pytorch教程(十):PyTorch数据结构:4、张量操作(1):张量形状操作

文章目录 一、前言二、实验环境三、PyTorch数据结构1、Tensor&#xff08;张量&#xff09;1. 维度&#xff08;Dimensions&#xff09;2. 数据类型&#xff08;Data Types&#xff09;3. GPU加速&#xff08;GPU Acceleration&#xff09; 2、张量的数学运算1. 向量运算2. 矩阵…

【MySQL】多表操作、事务、索引

MySQL MYSQL 多表设计 一对多插入测试数据外键约束(物理外键)使用逻辑外键 MYSQL 多表设计 一对一表结构 MYSQL 多表设计 多对多 MYSQL 多表设计 一对多 建表语句 员工表 CREATE TABLE tb_emp (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT ID,username VARCHAR(20) N…

130 如何通过vs2017开发linux c++程序

使用VS2017开发linux下的应用程序&#xff08;C/C&#xff09;_vc_linux.exe vs2017-CSDN博客 参考上面这哥们的&#xff0c;写的很详细 前言 本文章记录如何使用VS2017进行linux应用程序的开发&#xff08;针对新手小白&#xff09;&#xff0c;VS2017能较为方便的通过SSH编辑…

强大的文本绘图——PlantUML

PlantUML是一款开源工具&#xff0c;它允许用户通过简单的文本描述来创建UML图&#xff08;统一建模语言图&#xff09;。这种方法可以快速地绘制类图、用例图、序列图、状态图、活动图、组件图和部署图等UML图表。PlantUML使用一种领域特定语言&#xff08;DSL&#xff09;&am…

【Java程序设计】【C00282】基于Springboot的校园台球厅人员与设备管理系统(有论文)

基于Springboot的校园台球厅人员与设备管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的校园台球厅人员与设备管理系统 本系统分为系统功能模块、管理员功能模块以及用户功能模块。 系统功能模块&#xf…

【可申请试用】RT-Thread专业版全面支持瑞芯微RK3568系列平台并可实现混合部署...

RT-Thread 专业版是面向任务关键领域的高安全实时操作系统&#xff0c;已被广泛应用于航空航天&#xff0c;电力&#xff0c;轨交&#xff0c;车载&#xff0c;工业控制&#xff0c;新能源&#xff0c;医疗等国家重要领域&#xff0c;是各领域高可靠装备的基础核心软件。该版本…

C#,计算几何,计算机图形学(Computer Graphics)洪水填充算法(Flood Fill Algorithm)与源代码

1 泛洪填充算法(Flood Fill Algorithm) 泛洪填充算法(Flood Fill Algorithm) &#xff0c;又称洪水填充算法&#xff0c;是在很多图形绘制软件中常用的填充算法&#xff0c;最熟悉不过就是 windows 自带画图软件的油漆桶功能。 2 源程序 using System; using System.Collecti…

基于PostGIS的慢查询引起的空间索引提升实践

目录 前言 一、问题定位 1、前端接口定位 2、后台应用定位 3、找到问题所在 二、空间索引优化 1、数据库查询 2、创建空间索引 3、geography索引 4、再看前端响应 总结 前言 这是一个真实的案例&#xff0c;也是一个新入门的工程师很容易忽略的点。往往在设计数据库的…

【JVM】Java中SPI机制

打破双亲委派模型中提到SPI和JDBC相关内容&#xff0c;那么是如何打破双亲委派模型呢?本文进行一个讲解&#xff0c;在开始讲解之前&#xff0c;我们需要先了解Java中的SPI机制 是什么 SPI 全称Service Provider Interface&#xff0c;是 Java 提供的一套用来被第三方实现或…

《TCP/IP详解 卷一》第6章 DHCP

目录 6.1 引言 6.2 DHCP 6.2.1 地址池和租用 6.2.2 DHCP和BOOTP消息格式 6.2.3 DHCP和BOOTP选项 6.2.4 DHCP协议操作 6.2.5 DHCPv6 6.2.6 DCHP中继 6.2.7 DHCP认证 6.2.8 重新配置扩展 6.2.9 快速确认 6.2.10 位置信息&#xff08;LCI和LoST&#xff09; 6.2.11 移…

股票量化系统QTYX“单针探底”迎战A股V型反转|24年2月春节后第一周记录

前言 “实战案例个股画像”系列和大家分享我基于QTYX选股框架&#xff0c;在实战中选股的案例&#xff0c;和大家一起见证QTYX选股框架逐步完善的过程&#xff0c;帮助大家理解QTYX的精髓。 关于QTYX的使用攻略可以查看链接&#xff1a;QTYX使用攻略 关于QTYX初衷和精髓可以查看…

【计算机毕业设计】541鲜花商城系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

Unity 2021.3发布WebGL设置以及nginx的配置

使用unity2021.3发布webgl 使用Unity制作好项目之后建议进行代码清理&#xff0c;这样会即将不用的命名空间去除&#xff0c;不然一会在发布的时候有些命名空间webgl会报错。 平台转换 将平台设置为webgl 设置色彩空间压缩方式 Compression Format 设置为DisabledDecompre…

Java 学习和实践笔记(19):this的使用方法

this用来指向当前对象的地址。 this的用法&#xff1a; 1&#xff09;在普通方法中&#xff0c;this总是指向调用该方法的对象。在普通方法中&#xff0c;它是作为一种隐式参数一直就存在着&#xff08;这句话的意思&#xff0c;就是其实在普通方法中&#xff0c;编译器一直就…

Word第一课

文章目录 1. 文件格式1.1 如何显示文件扩展名1.2 Word文档格式的演变1.3 常见的Word文档格式 3. 文档属性理解文档属性查看文档属性 4. 显示比例方式一&#xff1a; 手动调整方式二&#xff1a; 自动调整 5. 视图、窗口视图 1. 文件格式 1.1 如何显示文件扩展名 文档格式指的…

Vue2页面转化为Vue3

vue2element-ui转化为Vue3element plus 后台管理系统&#xff1a;增删查改 vue2页面&#xff1a; <template><div class"app-container"><div><el-form:model"queryParams"ref"queryForm"size"small":inline&qu…

【人脸朝向识别与分类预测】基于LVQ神经网络

课题名称&#xff1a;基于LVQ神经网络的人脸朝向识别分类 版本日期&#xff1a;2024-02-20 运行方式&#xff1a;直接运行GRNN0503.m文件 代码获取方式&#xff1a;私信博主或 企鹅号:491052175 模型描述&#xff1a; 采集到一组人脸朝向不同角度时的图像&#xff0c;图像…