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

一、数据库简介

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.pswp.cn/news/906780.shtml

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

相关文章

NRM:快速切换 npm 镜像源的管理工具指南

🚀 NRM:快速切换 npm 镜像源的管理工具指南 🔍 什么是 NRM? NRM(Npm Registry Manager) 是一个用于管理 npm 镜像源的命令行工具。 它能帮助开发者 ⚡快速切换 不同的 npm 源(如官方源、淘宝源…

基于Java的话剧购票小程序【附源码】

摘 要 随着文化产业的蓬勃发展,话剧艺术日益受到大众喜爱,便捷的购票方式成为观众的迫切需求。当前传统购票渠道存在购票流程繁琐、信息获取不及时等问题。本研究致力于开发一款基于 Java 的话剧购票小程序,Java 语言具有跨平台性、稳定性和…

Pr -- 耳机没有Pr输出的声音

问题 很久没更新视频号了,想用pr剪辑一下,结果使用Pr打开后发现耳机没有Pr输出的声音 解决方法 在编辑--首选项-音频硬件中设置音频硬件的输出为当前耳机设备

Leaflet根据坐标画圆形区域

在做地图应用时,有时需要根据指定的坐标来画一个圆形区域,比如签到打卡类的应用,此时我们可以使用 leaflet.Circle 来在在指定坐标上创建一个圆并添加到的地图上,其中可以通过 radius 属性可以指定区域半径,比如: con…

vue3中使用computed

在 Vue 3 中,computed 是一个非常重要的响应式 API,用于声明依赖于其他响应式状态的派生状态。以下是 computed 的详细用法: 1. 基本用法 import { ref, computed } from vueexport default {setup() {const firstName ref(张)const lastN…

【iOS】类结构分析

前言 之前我们已经探索得出对象的本质就是一个带有isa指针的结构体,这篇文章来分析一下类的结构以及类的底层原理。 类的本质 类的本质 我们在main函数中写入以上代码,然后利用clang对其进行反编译,可以得到c文件 可以看到底层使用Class接…

Vanna.AI:解锁连表查询的新境界

Vanna.AI:解锁连表查询的新境界 在当今数字化时代,数据已成为企业决策的核心驱动力。然而,从海量数据中提取有价值的信息并非易事,尤其是当数据分散在多个表中时,连表查询成为了数据分析师和开发者的日常挑战。传统的…

前端流行框架Vue3教程:24.动态组件

24.动态组件 有些场景会需要在两个组件间来回切换&#xff0c;比如 Tab 界面 我们准备好A B两个组件ComponentA ComponentA App.vue代码如下&#xff1a; <script> import ComponentA from "./components/ComponentA.vue" import ComponentB from "./…

海拔案例分享-实践活动报名测评小程序

大家好&#xff0c;今天湖南海拔科技想和大家分享一款实践活动报名测评小程序&#xff0c;客户是长沙一家专注青少年科创教育的机构&#xff0c;这家机构平时要组织各种科创比赛、培训课程&#xff0c;随着学员增多&#xff0c;管理上的问题日益凸显&#xff1a;每次组织活动&a…

【MySQL】CRUD

CRUD 简介 CRUD是对数据库中的记录进行基本的增删改查操作 Create&#xff08;创建&#xff09;Retrieve&#xff08;读取&#xff09;Update&#xff08;更新&#xff09;Delete&#xff08;删除&#xff09; 一、新增&#xff08;Create&#xff09; 语法&#xff1a; I…

【数据架构04】数据湖架构篇

✅ 10张高质量数据治理架构图 无论你是数据架构师、治理专家&#xff0c;还是数字化转型负责人&#xff0c;这份资料库都能为你提供体系化参考&#xff0c;高效解决“架构设计难、流程不清、平台搭建慢”的痛点&#xff01; &#x1f31f;限时推荐&#xff0c;速速收藏&#…

【Java Web】3.SpringBootWeb请求响应

&#x1f4d8;博客主页&#xff1a;程序员葵安 &#x1faf6;感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb; 文章目录 一、请求 1.1 postman 1.2 简单参数 1.3 实体参数 1.4 数组集合参数 1.5 日期参数 1.6 JSON参数 1.7 路径参数 二、响应 2…

竞争性学习:无监督世界的智能聚类引擎

一、竞争性学习&#xff1a;无监督聚类的生物启发范式 1.1 核心原理&#xff1a;神经元的 “适者生存” 竞争性学习模拟生物神经网络的竞争机制&#xff1a;多个神经元对输入数据 “竞争响应”&#xff0c;获胜神经元&#xff08;与输入最匹配&#xff09;更新权重&#xff0…

docker面试题(5)

Docker安全么 Docker 利用了 Linux 内核中很多安全特性来保证不同容器之间的隔离&#xff0c;并且通过签名机制来对镜像进行 验证。大量生产环境的部署证明&#xff0c;Docker 虽然隔离性无法与虚拟机相比&#xff0c;但仍然具有极高的安全性。 如何清理后台停止的容器 可以使用…

同为科技 智能PDU产品选型介绍 EN10/I801CI

智能PDU是一种利用信息技术手段&#xff0c;优化电力的分配和使用。随着数据中心进行虚拟化部署和为提高计算效率而整合设备&#xff0c;平均机架功率密度在持续增长&#xff0c;几年前&#xff0c;一个普通机柜需要3-4千瓦电力&#xff0c;而现今9-15千瓦甚至更高电力的机柜则…

Aciviti工作流

1. springBoot和activiti整合 pom.xml文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

golang 对象池sync.Pool的实现

Go语言中sync.Pool通过多级缓存机制实现高效对象复用&#xff0c;其核心设计结合了GMP调度模型特性。以下是实现要点分析&#xff1a; P o o l ∑ p 0 G O M A X P R O C S ( l o c a l P o o l p ) v i c t i m C a c h e Pool \sum_{p0}^{GOMAXPROCS}(localPool_p) vict…

Docker run命令-p参数详解

端口映射基础语法 docker run -p <宿主机端口>:<容器端口> 操作示例 docker run -d --restartalways --namespug -p 5000:80 registry.aliyuncs.com/openspug/spug参数解析 -d&#xff1a;后台运行容器--restartalways&#xff1a;设置容器自动重启--namespug&…

《2.1.4 C语言中的整数类型及类型转换|精讲篇》

后面作者会在2025.5.25 00:00前整理出笔记和思维导图大家放心&#xff0c;主页还有其他文章 请先移步欢迎参考 收藏文章 关注博主 高效学习 好了&#xff0c;这小节我们要探讨一个相对来说简单的问题&#xff0c;就是C语言里边的那些定点整数是如何进行强制类型转换的。好来看这…

采用多维计算策略(分子动力学模拟+机器学习),显著提升 α-半乳糖苷酶热稳定性

字数 978&#xff0c;阅读大约需 5 分钟 在工业应用领域&#xff0c;α-半乳糖苷酶在食品加工、动物营养及医疗等方面发挥着重要作用。然而&#xff0c;微生物来源的该酶往往存在热稳定性不足的问题&#xff0c;限制了其在工业场景中的高效应用。近日&#xff0c;来自江南大学的…