当前位置: 首页 > article >正文

【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.lryc.cn/news/2387130.html

相关文章:

  • 中小企业AI算力如何选?【显卡租赁】VS【自建服务器】
  • OpenHarmony 4.1版本应用升级到5.0版本问题记录及解决方案
  • std::initialzer_list 与花括号{}数据列表
  • 萤石云实际视频实时接入(生产环境)
  • QT中常用的类
  • Docker系列(四):容器操作全栈技术指南 --- 从入门到生产级管控
  • poppler_path 是用于 Python 库如 pdf2image 进行 PDF 转换时
  • 鸿蒙OSUniApp 开发的多图浏览器组件#三方框架 #Uniapp
  • MongoDB 错误处理与调试完全指南:从入门到精通
  • React从基础入门到高级实战:React 核心技术 - 表单处理与验证深度指南
  • 【C++】stack,queue和priority_queue(优先级队列)
  • ubuntu中上传项目至GitHub仓库教程
  • [Java实战]Spring Boot整合达梦数据库连接池配置(三十四)
  • windows 下用yolov5 训练模型 给到opencv 使用
  • Spark集群架构解析:核心组件与Standalone、YARN模式深度对比(AM,Container,Driver,Executor)
  • Linux Kernel调试:强大的printk(二)
  • Kafka Kraft模式集群 + ssl
  • [crxjs]自己创建一个浏览器插件
  • 类的设计模式——单例、工厂以及建造者模式
  • STM32之看门狗(IWDG)
  • PyTorch实现MLP信用评分模型全流程
  • 语音识别——文本转语音
  • 跟着华为去变革 ——读《常变与长青》有感
  • 图像分割技术的实现与比较分析
  • node.js配置变量
  • Ubuntu+Docker+内网穿透:保姆级教程实现安卓开发环境远程部署
  • 为什么需要清除浮动?清除浮动的方式有哪些?
  • 计算机网络学习20250526
  • ArkUI:鸿蒙应用响应式与组件化开发指南(一)
  • YOLOv11改进 | Neck篇 | 双向特征金字塔网络BiFPN助力YOLOv11有效涨点