`
kabike
  • 浏览: 609468 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

mysql中的enum和set类型

阅读更多
mysql中的enum和set其实都是string类型的而且只能在指定的集合里取值,
不同的是set可以取多个值,enum只能取一个
CREATE TABLE `20121101_t` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `cl` set('x','w','r') NOT NULL,
  `c2` enum('f','d') NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB 

insert into 20121101_t
values(null,'a.txt','r,w','d');

insert into 20121101_t
values(null,'b.txt','r,w','f');



比如给b.txt文件加上执行权限
update 20121101_t set cl = cl|1 where id =2

1是因为x权限出现在了第一个

再比如给b.txt文件去掉写权限
update 20121101_t set cl = cl&~2 where id =2


这时再看
select * from 20121101_t

1 a.txt w,r d
2 b.txt x,r f

可以仿照linux下chmod的用法,直接用数字表示权限
比如把b.txt变成只读
update 20121101_t set cl = 4 where id =2


比如要找到所有包含了读权限的文件
select * from 20121101_t where cl&4

或者
select * from 20121101_t where FIND_IN_SET('r',cl)>0


enum就相对简单了,比如把a.txt从文件夹变成文件
update 20121101_t set c2 = 'f' where id =1

分享到:
评论

相关推荐

    mysql之set与enum的介绍

    MySQL中的`SET`和`ENUM`是两种特殊的字符串数据类型,它们在数据库设计时用于存储有限的、预定义的选项。这篇文章将深入探讨这两种数据类型的特性、用途以及它们之间的区别。 首先,`SET`类型允许你存储一组离散的...

    MySQL中set类型的使用

    在Java的Hibernate框架中,如果你需要映射一个MySQL的`SET`类型字段,可以使用`@ElementCollection`和`@CollectionTable`注解。例如,假设我们有一个`User`类,其中有一个`interests`字段存储用户的兴趣: ```java @...

    Java中数据类型和MYSQL中数据类型的对比

    3. 字符串类型:MySQL 的字符串类型主要包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET。CHAR 和 VARCHAR 用于存储非二进制文本,其中 VARCHAR 更适合存储可变长度的字符串。BINARY 和 VARBINARY ...

    Java数据类型和MySql数据类型对应表

    在 Java 编程中,了解 Java 数据类型和 MySql 数据类型的对应关系非常重要。这是因为在 Java 应用程序中,我们经常需要与数据库进行交互,而 MySql 是一种常用的关系数据库管理系统。在本文中,我们将详细介绍 Java ...

    实例测试MySQL的enum类型

    MySQL数据库提供了一种枚举类型enum,它允许在列中存储预定义值集合中的一个值。本篇内容将详细介绍如何使用MySQL的enum类型,并通过实例测试来讲解其用法和潜在的问题。 首先,enum类型的定义是在创建表时指定的,...

    MySQL数据类型选择

    MySQL 数据类型选择是数据库设计中非常重要的一步,因为不同的数据类型选择对数据库的性能和存储空间都有着很大的影响。在 MySQL 中,选择合适的数据类型可以提高查询效率、降低存储空间占用、提高数据的准确性和...

    要慎用mysql的enum字段的原因

    MySQL中的ENUM字段是一种特殊的数据类型,它允许你在字段中存储预定义的一组枚举值。ENUM类型在设计数据库时提供了一定的灵活性和规范性,因为它可以在创建表时设定允许的值列表。然而,正如标题和描述中所指出的,...

    MYSQL基础:数据类型.docx

    MySQL 支持的枚举和集合类型包括 ENUM 和 SET 等。 * 枚举类型:用于存储枚举值,例如 enum('male', 'female')。 * 集合类型:用于存储集合值,例如 set('a', 'b', 'c')。 MySQL 支持的数据类型非常丰富,涵盖了...

    MySQL 数据类型介绍.docx

    字符串类型包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。二进制类型包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。 数值类型是 MySQL 中最基本的数据类型。它...

    MySQL数据类型全掌握

    本文将详细介绍MySQL中的主要数据类型,并通过与Oracle数据类型的对比,帮助读者更好地理解和应用这些类型。 #### 二、MySQL数据类型详解 MySQL的数据类型大致可以分为四类:数值类型、字符串类型、日期/时间类型...

    0.2 MySQL表操作及数据类型

    * 字符类型:包括CHAR、VARCHAR、TEXT、ENUM、SET等。 * 日期类型:包括DATE、TIME、DATETIME、TIMESTAMP等。 数据库设计 数据库设计是指根据现实世界的信息、人、事、物进行抽象,抽取重要的共同信息,并对这些...

    MySQL基本数据类型.docx

    17. **SET**: SET类型与ENUM类似,但允许从一组预定义的值中选择0个、1个或多个,如兴趣爱好等多选属性。 选择合适的数据类型对于优化数据库性能、节省存储空间以及确保数据准确性至关重要。在设计数据库时,应根据...

    11.1: 数据库服务概述 、 构建MySQL服务 、 数据库基本管理 、 MySQL数据类型 、 总结和答疑.docx

    本文档主要介绍 MySQL 数据库服务的概述、构建 MySQL 服务、数据库基本管理和 MySQL 数据类型。下面是详细的知识点: 数据库服务概述 数据库服务是指提供数据库管理和数据存储服务的系统。MySQL 是一种关系型...

    Mysql和SQLserver区别.pdf

    Mysql支持enum和set类型,而SQLserver不支持这些类型。Mysql的递增语句是AUTO_INCREMENT,而SQLserver是identity(1,1)。在Mysql中,不允许在表创建语句中使用双括号,而SQLserver中可以使用双括号。 存储引擎 ...

    MySQL_4.1.0 中文参考手册.chm MySQL 4.1.0 中文参考手册

    在数据类型方面,MySQL 4.1.0增加了对新型数据类型的支援,例如BINARY和VARBINARY,用于存储二进制数据,以及 ENUM 和 SET 类型,它们允许用户在列中存储预定义的值集合。这些新类型使得数据存储更加灵活,适应不同...

    MySQL 数据类型 (列表)

    MySQL 提供了两种枚举类型,包括 ENUM 和 SET。 * ENUM:占用 1 或 2 字节,用于存储字符属性,只能选择其中一个。 * SET:占用 1 到 8 字节,用于存储字符属性,能够选择多个字符的联合。 了解 MySQL 数据类型...

    MySQL中文参考手册.chm

    DATE和TIMESTAMP类型 7.3.6.3 TIME类型 7.3.6.4 YEAR类型 7.3.7 字符串类型 7.3.7.1 CHAR和VARCHAR类型 7.3.7.2 BLOB和TEXT类型 7.3.7.3 ENUM类型 7.3.7.4 SET类型 7.3.8 为...

    mysql数据类型.doc

    MySQL 提供了 ENUM 和 SET 两种枚举类型。 * ENUM:占用 1 或 2 字节的存储空间,可以存储最多 65535 个不同的值。 * SET:占用最多 8 字节的存储空间,可以存储最多 64 个不同的值。 了解 MySQL 的数据类型可以...

    MYSQL 数据类型

    TEXT类型用于存储大量文本,ENUM和SET则分别用于存储预定义的枚举值和集合值。 **二进制类型**包括 BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB,这些类型用于存储二进制数据,如图片或音频...

Global site tag (gtag.js) - Google Analytics