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日

相关文章

  • ORACLE11g随RHEL5系统自动启动与关闭的设置方法

    接下来我将详细讲解“ORACLE11g随RHEL5系统自动启动与关闭的设置方法”的完整攻略。 1. 确认Oracle 11g是否已安装 在设置ORACLE11g在RHEL5系统自动启动与关闭之前,我们需要确认Oracle 11g已经是成功安装并已经启动运行。 2. 编写Oracle 11g服务脚本 要实现Oracle 11g的自动启动与关闭,我们需要先创建一…

    database 2023年5月22日
    00
  • nacos无法连接mysql的解决方法

    下面是关于“nacos无法连接mysql的解决方法”的完整攻略: 问题描述 在使用Nacos时,mysql 数据库可能出现连接失败的情况。此时,无法正常使用 Nacos 服务。 解决方法 在解决此问题之前,需要先明确一下可能出现的原因,有以下几点: 数据库配置信息有误 mysql数据库未运行或未成功启动 mysql数据库出现了其他问题 为了解决以上问题,我们…

    database 2023年5月22日
    00
  • 详解linux驱动编写(入门)

    关于详解linux驱动编写(入门)的完整攻略,我认为可以分为以下几个部分进行讲解: 1. 概述 在介绍具体的驱动编写方法之前,我们需要先了解如下几个概念: 设备驱动:在计算机中,设备驱动程序是用来控制某个设备的软件,它是操作系统与硬件之间的一个接口。在Linux操作系统中,设备驱动程序是以内核模块的方式存在的,称为Linux驱动程序。 内核模块:内核模块是指…

    database 2023年5月22日
    00
  • express框架,报错:“Cannot set headers after they are sent to the client”,解决方法总结 原创

    Express框架是一款非常流行的Node.js框架,它极大地简化了Web应用程序开发的工作。然而,在使用Express框架时,有时你可能会遇到以下报错: Cannot set headers after they are sent to the client 这个错误提示表示在向客户端(浏览器)发送响应后,又尝试向客户端发送响应头信息。这通常是由于在应用程…

    database 2023年5月22日
    00
  • 数据库表的创建、管理和数据操作(实验一)

    下面是“数据库表的创建、管理和数据操作(实验一)”的完整攻略: 创建数据库表 打开MySQL后,使用CREATE DATABASE语句创建数据库(例如:CREATE DATABASE test_db) 使用USE语句选择刚刚创建的数据库(例如:USE test_db) 使用CREATE TABLE语句创建数据表,并定义相应的字段(例如: CREATE TAB…

    database 2023年5月19日
    00
  • docker-compose 安装 mysql:5.7.31

        目录 一.新建一个启动服务的目录 二.新建文件docker-compose.yml 三.新建角本文件 init-mysql.sh 四.实使化目录和配置文件 启动服务 登陆mysql 其它操作   参考文档: 一.新建一个启动服务的目录 mkdir /usr/local/docker/mysql cd /usr/local/docker/mysql 二…

    MySQL 2023年4月13日
    00
  • mysql中key 、primary key 、unique key 与index区别

    CREATE TABLE pre_forum_post ( pid int(10) unsigned NOT NULL COMMENT ‘帖子id’, fid mediumint(8) unsigned NOT NULL default ‘0’ COMMENT ‘论坛id’, tid mediumint(8) unsigned NOT NULL defaul…

    MySQL 2023年4月13日
    00
  • Java中volatile关键字实现原理

    下面我将详细讲解“Java中volatile关键字实现原理”的完整攻略。 什么是volatile关键字 volatile是Java中的一个关键字,用来修饰变量。当一个变量被volatile修饰时,Java保证所有线程对该变量的写操作都立即同步到主存中,并且保证所有线程对该变量的读操作都从主存中读取值,而不是从线程的私有内存中。 volatile关键字实现原理…

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