导读:本期聚焦于小伙伴创作的《MySQL数据类型详解与库/表操作大全:从数值、日期到字符串的完整指南》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《MySQL数据类型详解与库/表操作大全:从数值、日期到字符串的完整指南》有用,将其分享出去将是对创作者最好的鼓励。

MySQL数据类型及库和表的操作大全

一、MySQL数据类型

1. 数值类型

  • TINYINT:非常小的整数,占1字节,有符号范围是-128到127,无符号范围是0到255。

  • SMALLINT:小的整数,占2字节,有符号范围是-32768到32767,无符号范围是0到65535。

  • MEDIUMINT:中等大小的整数,占3字节,有符号范围是-8388608到8388607,无符号范围是0到16777215。

  • INT:普通大小的整数,占4字节,有符号范围是-2147483648到2147483647,无符号范围是0到4294967295。

  • BIGINT:大整数,占8字节,有符号范围是-9223372036854775808到9223372036854775807,无符号范围是0到18446744073709551615。

  • FLOAT:单精度浮点数,占4字节。

  • DOUBLE:双精度浮点数,占8字节。

  • DECIMAL(M,D):精确小数,M是总位数,D是小数点后的位数。

2. 日期和时间类型

  • DATE:日期,格式为'YYYY-MM-DD',范围从'1000-01-01'到'9999-12-31'。

  • TIME:时间,格式为'HH:MM:SS',范围从'-838:59:59'到'838:59:59'。

  • DATETIME:日期和时间,格式为'YYYY-MM-DD HH:MM:SS',范围从'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

  • TIMESTAMP:时间戳,格式为'YYYY-MM-DD HH:MM:SS',范围从'1970-01-01 00:00:01' UTC到'2038-01-19 03:14:07' UTC。

  • YEAR:年份,格式为'YYYY',范围从1901到2155。

3. 字符串类型

  • CHAR(M):固定长度字符串,M表示长度,范围为0到255。

  • VARCHAR(M):可变长度字符串,M表示最大长度,范围为0到65535。

  • TEXT:长文本数据,最大长度为65535个字符。

  • LONGTEXT:极大文本数据,最大长度为4294967295个字符。

  • BLOB:二进制大对象,用于存储二进制数据,最大长度为65535字节。

  • LONGBLOB:极大二进制对象,最大长度为4294967295字节。

二、数据库操作

1. 创建数据库

语法:CREATE DATABASE [IF NOT EXISTS] database_name [CHARACTER SET charset_name] [COLLATE collation_name];

示例:创建一个名为test_db的数据库,字符集为utf8mb4,排序规则为utf8mb4_unicode_ci。

CREATE DATABASE IF NOT EXISTS test_db 
CHARACTER SET utf8mb4 
COLLATE utf8mb4_unicode_ci;

2. 查看数据库

语法:SHOW DATABASES;

示例:查看当前MySQL服务器中的所有数据库。

SHOW DATABASES;

3. 选择数据库

语法:USE database_name;

示例:选择使用test_db数据库。

USE test_db;

4. 修改数据库

语法:ALTER DATABASE database_name [CHARACTER SET charset_name] [COLLATE collation_name];

示例:修改test_db数据库的字符集为gbk。

ALTER DATABASE test_db 
CHARACTER SET gbk;

5. 删除数据库

语法:DROP DATABASE [IF EXISTS] database_name;

示例:删除test_db数据库。

DROP DATABASE IF EXISTS test_db;

三、表操作

1. 创建表

语法:CREATE TABLE [IF NOT EXISTS] table_name (column_definition1, column_definition2, ...);

示例:在test_db数据库中创建一个名为students的表,包含id、name、age、birthday字段。

USE test_db;

CREATE TABLE IF NOT EXISTS students (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age TINYINT UNSIGNED,
    birthday DATE
);

2. 查看表结构

语法:DESCRIBE table_name; 或 SHOW COLUMNS FROM table_name;

示例:查看students表的结构。

DESCRIBE students;

3. 修改表

可以添加列、修改列、删除列、重命名表等操作。

示例1:给students表添加一个gender字段。

ALTER TABLE students 
ADD COLUMN gender ENUM('男', '女') DEFAULT '男';

示例2:修改students表的age字段类型为SMALLINT。

ALTER TABLE students 
MODIFY COLUMN age SMALLINT UNSIGNED;

示例3:删除students表的gender字段。

ALTER TABLE students 
DROP COLUMN gender;

示例4:将students表重命名为pupils。

RENAME TABLE students TO pupils;

4. 删除表

语法:DROP TABLE [IF EXISTS] table_name;

示例:删除pupils表。

DROP TABLE IF EXISTS pupils;

四、总结

本文详细介绍了MySQL的数据类型以及数据库和表的基本操作。掌握这些知识是使用MySQL进行数据存储和管理的基础。在实际应用中,需要根据具体的业务需求选择合适的数据类型和设计合理的表结构,以确保数据的完整性和高效性。

MySQL数据类型 数据库操作 表操作 SQL基础 MySQL教程

免责声明:已尽一切努力确保本网站所含信息的准确性。网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。