MySql常用数据类型与操作详解

MySql常用数据类型与操作详解

数据类型

数值类型

MySQL中常见的数值类型有TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE等。具体特点如下:

  • TINYINT:有符号范围为-128~127,无符号范围为0~255。
  • SMALLINT:有符号范围为-32768~32767,无符号范围为0~65535。
  • MEDIUMINT:有符号范围为-8388608~8388607,无符号范围为0~16777215。
  • INT:有符号范围为-2147483648~2147483647,无符号范围为0~4294967295。
  • BIGINT:有符号范围为-9223372036854775808~9223372036854775807,无符号范围为0~18446744073709551615。
  • FLOAT:单精度浮点数,范围为-3.4028235E+38~3.4028235E+38。
  • DOUBLE:双精度浮点数,范围为-1.7976931348623157E+308~1.7976931348623157E+308。

字符串类型

MySQL中常见的字符串类型有CHAR、VARCHAR、TEXT、BLOB等。具体特点如下:

  • CHAR:定长字符串,长度为0~255个字符。
  • VARCHAR:变长字符串,长度为0~65535个字符。
  • TEXT:长文本字符串,可以存储最多65535个字符。
  • BLOB:二进制数据,可以存储最多65535个字节。

日期时间类型

MySQL中常见的日期时间类型有DATE、TIME、DATETIME、TIMESTAMP等。具体特点如下:

  • 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:时间戳类型,存储从1970-01-01 00:00:01到2038年的秒数。

操作

创建表

创建表可以使用CREATE语句,具体语法如下:

CREATE TABLE `表名` (
    `列名1` 约束1,
    `列名2` 约束2,
    ...
    `列名n` 约束n
);

其中,约束可以是数据类型、主键、唯一、非空等约束。

例如,创建一个用户表:

CREATE TABLE `users` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `username` VARCHAR(100) NOT NULL,
    `password` VARCHAR(100) NOT NULL,
    `email` VARCHAR(100),
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;

插入数据

插入数据可以使用INSERT语句,具体语法如下:

INSERT INTO `表名` (`列名1`, `列名2`, ..., `列名n`) VALUES (`值1`, `值2`, ..., `值n`);

例如,插入一条用户数据:

INSERT INTO `users` (`username`, `password`, `email`) VALUES ('testuser', 'testpass', 'testuser@example.com');

查询数据

查询数据可以使用SELECT语句,具体语法如下:

SELECT `列名1`, `列名2`, ..., `列名n` FROM `表名` WHERE `条件`;

例如,查询用户数据:

SELECT `username`, `email`, `created_at` FROM `users` WHERE `id` = 1;

示例说明

下面是一个完整示例,创建一个学生信息表,并插入一条学生数据:

CREATE TABLE `students` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `name` VARCHAR(100) NOT NULL,
    `age` INT UNSIGNED NOT NULL,
    `gender` ENUM('男', '女', '不详') NOT NULL,
    `address` TEXT,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;

INSERT INTO `students` (`name`, `age`, `gender`, `address`) VALUES ('张三', 18, '男', '北京市朝阳区');

另外一个示例,查询学生数据:

SELECT `name`, `age`, `gender`, `address`, `created_at` FROM `students` WHERE `id` = 1;

以上就是MySQL常用数据类型与操作的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySql常用数据类型与操作详解 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • java使用@Transactional时常犯的N种错误

    针对这个问题,我将按照以下步骤进行讲解: 介绍@Transactional注解的作用和使用场景 总结java使用@Transactional经常犯的错误 示例说明常见的@Transactional错误 1. @Transactional注解的作用和使用场景 @Transactional注解是Spring框架中的注解,主要用于表示某个方法需要被事务管理器进行事…

    database 2023年5月21日
    00
  • springboot2.3 整合mybatis-plus 高级功能(图文详解)

    Spring Boot 2.3 整合 Mybatis-Plus 高级功能 介绍 MyBatis-Plus 是一个 MyBatis 的增强工具,提供了许多实用且方便的功能,比如逆向工程、分页插件、自动填充等等。Spring Boot 2.3 是 Spring 家族中的一员,它提供了快捷而方便的开发方式。 本文将会讲解如何在 Spring Boot 2.3 中整…

    database 2023年5月19日
    00
  • 使用RestTemplate访问https实现SSL请求操作

    使用RestTemplate访问https实现SSL请求操作是非常常见的场景,本攻略将介绍如何使用RestTemplate实现这一功能。 准备工作 在进行RestTemplate访问https之前,我们需要准备以下环节:1. 证书:SSL通讯涉及到证书认证,因此我们需要将SSL证书下载至本地。可以联系网站管理员获取SSL证书。 安装SSL证书:下载完SSL证…

    database 2023年5月21日
    00
  • MySQL的自增ID(主键) 用完了的解决方法

    MySQL中的自增ID(主键)是表中记录的唯一标识符,它有时也被称为自动增量。但在使用自增ID时,有可能遇到自增ID用完的情况,这种情况下,系统可能会出现无法添加新记录的情况。本文将详细介绍使用MySQL的自增ID(主键)时遇到用完的解决方法。 方法一:修改自增ID的起始值 MySQL中可通过修改自增ID的起始值来解决这个问题。使用以下命令即可修改表格中的某…

    database 2023年5月21日
    00
  • Mysql导入导出时遇到的问题解决

    Mysql导入导出时遇到的问题解决攻略如下: 问题一:mysqldump导出数据后的sql文件无法导入 通常,使用mysqldump命令导出数据时,会生成一个后缀名为.sql的文件,这个文件可以用于导入数据,但是导入时有时可能会遇到下面的错误: ERROR 1064 (42000): You have an error in your SQL syntax;…

    database 2023年5月22日
    00
  • 安装redis报错“系统 Ruby 版本过低”的解决办法

    安装redis接口时,输入命令 ” gem install redis ”  报错:系统 ruby 版本过低,如下图。   由错误信息可知,redis需要Ruby版本高于2.2.2版本, 查看系统默认当前 ruby 版本,输入命令 ” ruby -v ” , 如下图:   当前系统默认的 ruby 版本为 2.0.0,故报错。   解决办法: 第一步:安装C…

    Redis 2023年4月12日
    00
  • MySQL索引、字符编码、表结构

    一、索引:   就是用来提高搜索性能的 只有我们数据量非常大的时候,索引可以展现出它的优势来!     注意:索引,我们在添加了以后,不用刻意的去使用它,它会自动生效   1. 常规索引(index):没有任何限制,就是普通的索引     1> 在建表时创建普通索引       create table t1(         id int unsig…

    MySQL 2023年4月16日
    00
  • Python实现 多进程导入CSV数据到 MySQL

    接下来我会分享一下“Python实现 多进程导入CSV数据到 MySQL”的完整攻略。该攻略分为以下几个步骤: 步骤一:准备工作 安装Python和MySQL; 安装Python库pandas和MySQLdb。这两个库可以通过pip安装。 步骤二:读取CSV数据 可以使用pandas库中的read_csv()函数来读取CSV文件,在此函数中传入CSV文件的路…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部