【MySQL】 数据库基础数据类型

news2025/5/28 1:04:05

一、数据库简介

1.什么是数据库

        数据库(Database)是一种用于存储、管理和检索数据的系统化集合。它允许用户以结构化的方式存储大量数据,并通过高效的方式访问和操作这些数据。数据库通常由数据库管理系统(DBMS)管理,DBMS 提供了创建、查询、更新和管理数据的工具和接口。

2.数据库的主要特点

  • 数据持久化:数据库中的数据可以长期保存,即使系统关闭或重启,数据也不会丢失。
  • 数据共享:多个用户或应用程序可以同时访问和操作数据库中的数据。
  • 数据一致性:数据库通过事务管理确保数据的一致性和完整性。
  • 数据安全性:数据库提供访问控制和加密机制,保护数据不被未授权访问或篡改。
  • 高效查询:数据库支持复杂的查询操作,能够快速检索所需数据。

3.数据库的分类

  • 关系型数据库(RDBMS):以表格形式存储数据,使用 SQL(结构化查询语言)进行数据操作。常见的关系型数据库包括 MySQL、PostgreSQL、Oracle 和 SQL Server。
  • 非关系型数据库(NoSQL):适用于非结构化或半结构化数据,支持灵活的数据模型。常见的非关系型数据库包括 MongoDB、Cassandra 和 Redis。
  • 对象数据库:将数据存储为对象,适用于面向对象编程语言。
  • 图数据库:用于存储和查询图结构数据,适用于社交网络、推荐系统等场景。

二、SQL简介

1.什么是SQL

SQL(Structured Query Language)是结构化查询语言的简称,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库。

2.SQL分类

DDL(Data Definition Language):数据定义语言,用来维护存储数据的结构。

代表指令:create,drop,alter

DML(Data Manipulation Language):数据操纵语言,用来对数据进行操作

代表指令:insert,delete,update,select

DCL(Data Control Language)数据控制语言,主要负责权限管理和事务

代表指令:grant,revoke,commit

三、数据库的操作

1.显示当前的数据库

SHOW DATABASES;

2.创建数据库

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option];

create_option:[DEFAULT]{
      CHARACTER SET [=] charset_name
    | COLLATE [=] collation_name
    | ENCRYPTION [=] {'Y' | 'N'}
}
  • 大写部分表示关键字
  • {} 大括号内的必须选
  • | 表示任选其一
  • [] 中括号表示可选项
  • dp_name:表示自定义的数据库名
  • CHARACTER SET:指定数据库采用的字符集编码
  • COLLATE:指定数据库字符集的校验规则
  • ENCRYPTION:数据库是否加密,MySQL 8.0.16中引入的新选项

3.删除数据库

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;

四、数据库的数据类型

1.数据值类型

  • DECIMAL是通过将数字拆分成多个INT来保证无精度损失

2.字符串类型

2.1如何选择 CHAR 与 VARCHAR

  • 如果数据长度一样,就使用定长 CHAR 类型,比如:身份证、学号、邮编
  • CHAR类型的列会在获取数据的时候会把后面的空格删除掉
  • 如果长度有变化,就使用 VARCHAR ,比如:名字,地址,要提前规划好长度

3.日期类型

  • fsp 为可选设置,用来指定小数秒精度,范围从0到6,值为0表示没有小数部分,如果省略,默认精度为0
  • CURRENT_DATE 和 CURRENT_DATE() 是 CURDATE() 的同义词用于获取当前日期
  • CURRENT_TIME 和 CURRENT_TIME([fsp]) 是 CURTIME() 的同义词用于获取当前时间
  • CURRENT_TIMESTAMP 和 CURRENT_TIMESTAMP([fsp]) 是 CURDATE() 的同义词用于获取当前日期和时间

五、表的操作

操作数据库的表之前,需要先使用数据库:

use db_text;

1.查看表结构

desc 表名;

2.创建表

语法:

CRAEAT TABLE table_name (
    field1 datatype [comment `说明`],
    field2 datatype [comment `说明`],
    field3 datatype [comment `说明`],
);

示例:

创建表时还可以指定存储引擎

CRAEAT TABLE table_name (
    field1 datatype [comment `说明`],
    field2 datatype [comment `说明`],
    field3 datatype [comment `说明`],
) engine = MyISAM;

创建表之后,在磁盘上就会有对应的文件

3.删除表

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name]...

4.修改表

语法:

ALTER TABLE tbl_name [alter_option [, alter_option] ...];

alter_option:{
    | ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
    | MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
    | DROP [COLUMN] col_name
    | RENAME COLUMN old_col_name TO new_col_name
    | RENAME [TO | AS] new_tbl_name
}

六、重点总结

操作数据库:

 -- 显示
SHOW DATABASES;

 -- 创建
CREATE DATABASES XXX;

 -- 使用
USE XXX;

 -- 删除
DROP DATABASE XXX;

常用数据类型:

  • INT:整型
  • DECIMAL(M,D):浮点数类型
  • VARCHAR(SIZE):字符串类型
  • TIMESTAMP:日期类型

操作表:

 -- 查看
SHOW 表;

 -- 创建
CREATE TABLE 表名(
 字段1 类型1,
 字段2 类型2,
 ...
);

 -- 删除
DROP TABLE 表名;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MongoDB 错误处理与调试完全指南:从入门到精通

在当今数据驱动的世界中,MongoDB 作为最流行的 NoSQL 数据库之一,因其灵活的数据模型和强大的扩展能力而广受开发者喜爱。然而,与任何复杂系统一样,在使用 MongoDB 过程中难免会遇到各种错误和性能问题。本文将全面介绍 MongoDB 的…

【C++】stack,queue和priority_queue(优先级队列)

文章目录 前言一、栈(stack)和队列(queue)的相关接口1.栈的相关接口2.队列的相关接口 二、栈(stack)和队列(queue)的模拟实现1.stack的模拟实现2.queue的模拟实现 三、priority_queu…

ubuntu中上传项目至GitHub仓库教程

一、到github官网注册用户 1.注册用户 地址:https://github.com/ 2.安装Git 打开终端,输入指令git,检查是否已安装Git 如果没有安装就输入指令 sudo apt-get install git 二、上传项目到github 1.创建项目仓库 进入github主页,点击号…

windows 下用yolov5 训练模型 给到opencv 使用

windows 使用yolov5训练模型,之后opencv加载模型进行推理。 一,搭建环境 安装 Anaconda 二,创建虚拟环境并安装yolov5 conda create -n yolov5 python3.9 -y conda activate yolov5 git clone https://github.com/ultralytics/yolov5 cd …

Spark集群架构解析:核心组件与Standalone、YARN模式深度对比(AM,Container,Driver,Executor)

一、核心组件定义与关系拆解 1. ApplicationMaster(AM) 定义:YARN 框架中的应用管理器,每个应用程序(如 Spark 作业)对应一个 AM。职责: 向 YARN 的 ResourceManager 申请资源(Con…

Linux Kernel调试:强大的printk(二)

前言 如果你对printk的基本用法还不熟悉,请先阅读: Linux Kernel调试:强大的printk(一) 上一篇Linux Kernel调试:强大的printk(一)我们介绍了printk的基础知识和基本用法&#xf…

Kafka Kraft模式集群 + ssl

文章目录 启用集群资源规划准备证书创建相关文件夹配置文件启动各Kafka节点 故障转移测试spring boot集成 启用集群 配置集群时关键就是提前梳理好需要的网络资源,完成对应server.properties文件的配置。在执行前先把这些梳理好,可以方便后面的配置&…

[crxjs]自己创建一个浏览器插件

参考官方 https://crxjs.dev/vite-plugin/getting-started/vue/create-project 按照流程操作会失败的原因 是因为跨域的问题, 在此处添加 server: {host: "localhost",port: 5173,cors: true,headers: {"Access-Control-Allow-Origin": "*",}…

类的设计模式——单例、工厂以及建造者模式

1.单例模式 1.1 饿汉模式 单例模式:一个类只能创建一个对象,这个设计模式可以保证系统中该类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。 饿汉模式指在程序初始化时就创建一个唯一的实例对象。适用…

STM32之看门狗(IWDG)

一、看门狗外设的原理与应用 背景说明 随着单片机的发展,单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连,相互影响,由于运行方式的…

跟着华为去变革 ——读《常变与长青》有感

《常变与长青》,是华为郭平总2024年上市的著作。走进这本书,我们能够清晰看到华为30多年的成长过程和伴随期间的变革历程:从一家设备代理商开始,起步蹒跚,砥砺前行,在闯过一个又一个磨难之后,成…

图像分割技术的实现与比较分析

引言 图像分割是计算机视觉领域中的一项基础技术,其目标是将数字图像划分为多个图像子区域(像素的集合),以简化图像表示,便于后续分析和理解。在医学影像、遥感图像分析、自动驾驶、工业检测等众多领域,图…

node.js配置变量

一、下载安装包 1、官网下载 大家可以在官网下载,适合自己电脑以及项目的需要的版本。 二、node.js安装 1、安装 双击下载的安装包文件,通常为 .exe 或 .msi 格式(Windows)或 .dmg 格式(Mac)。系统会…

Ubuntu+Docker+内网穿透:保姆级教程实现安卓开发环境远程部署

文章目录 前言1. 虚拟化环境检查2. Android 模拟器部署3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问小结 6. 固定Cpolar公网地址7. 固定地址访问 前言 本文将详细介绍一种创新性的云开发架构:基于Ubuntu系统构建Android仿真容器环境,并集成安全隧道技…

计算机网络总结(物理层,链路层)

目录 第一章 概述 1.基本概念 2.- C/S模式,B/S模式,P2P模式 3.- LAN,WAN,MAN,PAN的划分 4.电路交换与分组交换,数据报交换和虚电路交换 第二章 物理层 1.信号编码:不归零编码,曼切斯特编码 2.几种复用技术的特…

TIGER - 一个轻量高效的语音分离模型,支持人声伴奏分离、音频说话人分离等 支持50系显卡 本地一键整合包下载

TIGER 是一种轻量级语音分离模型,通过频段分割、多尺度及全频帧建模有效提取关键声学特征。该项目由来自清华大学主导研发,通过频率带分割、多尺度以及全频率帧建模的方式,有效地提取关键声学特征,从而实现高效的语音分离。 TIGER…

无人机降落伞设计要点难点及原理!

一、设计要点 1. 伞体结构与折叠方式 伞体需采用轻量化且高强度的材料(如抗撕裂尼龙或芳纶纤维),并通过多重折叠设计(如三重折叠缝合)减少展开时的阻力,同时增强局部承力区域的强度。 伞衣的几何参数&am…

20250526给荣品PRO-RK3566的Android13单独编译boot.img

./build.sh init ./build.sh -K ./build.sh kernel 20250526给荣品PRO-RK3566的Android13单独编译boot.img 2025/5/26 15:25 缘起:需要给荣品PRO-RK3566的Android13单独编译内核,但是不想编译整个系统。于是: 如果特调试某些特别的改动/文件…

构建版本没mac上传APP方法

在苹果开发者的app store connect上架Ios应用的时候,发现需要使用xode等软件来上传iOS的APP。 但是不管是xcode也好,transporter也好,还是命令行工具也好,都必须安装在mac电脑才能使用,。 假如没有mac电脑&#xff0…

如何解决大模型返回的JSON数据前后加上```的情况

环境说明 springboot 应用使用dashscope-sdk-java对接阿里百练 deepseek v3模型 问题表现 已经指定了输出json格式,但指令不明确,输出JSON格式的写法如下 注:提示词一开始是能正常功能的,但过了几天就出现了异常,原…