精华内容
下载资源
问答
  • 我已经建立了一个JavaEE项目,并且需要MySQL存储用户...使用整数/字符存储性别列:这种情况下,我必须用我Java代码编写这些代码:public class StaticData {public static final short MALE = 0;public stat...

    我已经建立了一个JavaEE项目,并且需要在MySQL中存储用户的性别。我想在添加新用户帐户时显示此属性。例如

    Male

    Female

    现在,我发现了两种在MySQL中存储此属性的方法。

    使用整数/字符存储性别列:

    在这种情况下,我必须用我的Java代码编写这些代码:

    public class StaticData {

    public static final short MALE = 0;

    public static final short FEMALE = 1;

    }

    如果是这样,我的数据库将依靠我的Java代码来限制值范围并解释0/1代表什么(低电平取决于高电平)。我认为这不是一个好主意。

    使用枚举存储性别列:

    gender enum("MALE","FEMALE") not null

    在这种情况下,我的Java代码将取决于枚举的值。有两种获取这些值的方法:

    1)public enum Gender {MALE,FEMALE},这与方法1几乎是相同的问题。

    2)从MySQL中检索这些值,例如"从用户喜欢的"性别"中显示行,然后使用正则表达式拆分字符串。但这是一个冗长的方法。每次加载JSP时都必须从db查询。认为那会很贵。

    有一个共同的成语吗?如果没有,在为我的项目选择合适的解决方案时我需要考虑哪些因素?

    我将使用存储F或M的CHAR(1)。它比0,1更具可读性。

    不要忘记其他选项,例如"其他",宁可不说,...

    Theres还处理其他语言,以及您不知道的情况(未指定)。 如果它们不适用,您也可以将其设为BOOL并使该字段故意代表is_female,这将解决任何查看数据库或代码的人的大部分编程疑问。

    @ Mr47别人怎么能有其他性别?

    在数据库中存储性别(性别)的可能重复项

    大多数应用程序可能不需要性别,但是如果绝对需要,我建议您也为"其他"和"未知"提供选项,对于不完全适合二进制文件的人,则选择前者性别模型,另一个用于该人选择不公开的模型。

    对于这4个值,最简单的方法可能是将其作为CHAR(1)或ENUM("F","M","O","U")存储在数据库中(请注意,我按字母顺序选择了这些值,而不是令人惊讶的典型"男性优先"值)。

    我将创建一个以ID为键的表"性别",并且应该向用户显示文本夹:

    ID-文字

    1-男

    2-女

    在"人"中,将性别ID保存为外键。

    当您想显示您加入的人时,可以将性别加入该人并打印出文字。

    对于选择控件,您选择性别表中的所有行,并生成包含这些行的html。

    如果需要支持新的性别,只需将其添加到数据库中,无需编辑任何Java代码...

    就像我说的,谢谢您的答复,每次加载JSP时,都会导致查询db检索这些值,这是否会产生昂贵的开销?

    您想要缓存诸如性别表之类的东西,其中的数据几乎永不改变。 我们为此使用Ehcache。 即使您不缓存它,它的表如此小巧,并且使用便宜的select语句,也可以。

    那是一个好主意,那是您或所有业务项目的通用解决方案? :P

    我不知道是否有一种模式;)诸如性别之类的东西是"值范围",您也可以在应用程序启动时加载它们并将其内部保存在Java中。 请记住,您必须重新启动应用程序才能使更改生效。

    知道了 谢谢。 :)

    不要忘记为将来可能需要的其他性别价值观做好准备,因为它们已经被法律认可。 这是德国的一个示例表格:lifesitenews.com/news/

    展开全文
  • 数据库中通配符应用

    千次阅读 2012-02-16 11:56:45
    通配符”[^]”作用與”[]”相反 用於匹配沒有方括號列出的字符  SELECT s_no as 学号,  s_name 姓名,  s_sex 性别 ,  s_birthday 年龄 ,  s_speciality 专業,  s_avgrad

    前几天看了CSDN专家,水哥的SQL入门之通配符。感觉收获颇丰!学习了一下

    通配符”[^]”作用與”[]”相反 用於匹配沒有在方括號中列出的字符

     SELECT s_no as 学号,

           s_name 姓名,

           s_sex 性别 ,

           s_birthday 年龄 ,

           s_speciality 专業,

           s_avgrade 平均成绩 ,

           s_dept 系别

    FROM student --依然使用上節目的數據表student

    WHERE s_no like '2006020[^134]'

    以上查詢學好尾數不是134的學生

    等價語句為

    WHERE s_no NOT like '2006020[134]

    同時語句

    WHERE s_no not like '2006020[^134]'

    與下面語句等價

    WHERE s_no like '2006020[134]'

    使用關鍵字Escape定義轉義字符

    如果列值中包含”%”,”_”,”[]”,”[^]”等字符時候可以用ESCAPE定義轉義字符的功能來實現對此類字符的查詢。

    ESCAPE的作用就是將一個字符定義為轉義字符,格式如下:

    Like 's1Xts2' escape 'X'

    以上t是某一個通配符,s1和s2可以是任意的字符串(含通配符),其作用是將字符X定義成轉義字符,執行時DBMS將字符's1Xts2'中的通配符t作為實際值處理,從而使得t失去通配符的作用

    上面的語句

    SELECT s_no 学号,

           s_name 姓名,

           s_sex 性别 ,

           s_avgrade 平均成绩 ,

           s_dept 系别 FROM student2

    WHERE s_dept LIKE '%[%]%'

    等價於下面語句

    SELECT s_no 学号,

           s_name 姓名,

           s_sex 性别 ,

           s_avgrade 平均成绩 ,

           s_dept 系别 FROM student2

    WHERE s_dept LIKE '%X%%'escape 'X'

    同樣查詢包含”[^]”可以這樣

    WHERE s_dept LIKE '%X[^]%'escape 'X'


    展开全文
  • 比如,数据库的性别存入1代表是”男“ ,0代表是”女“,要前页面要显示出来,简单做法是这样:   private int sex; public String getSexCH() { String view = ""; if(this.sex==1){...

    web开发经常要遇到这样的情况:数据库存入的事某些数字或者字符,前台显示相应的中文。比如,数据库表的性别存入1代表是”男“ ,0代表是”女“,要在前页面要显示出来,简单的做法是这样:

     

     
    private int sex;
     
    public String getSexCH() {
       String view = "";
        if(this.sex==1){
             view="男";
         }else{
      view="女";
          }
         return view;
     }

     

     

     另见:

     http://coldg.iteye.com/blog/1901218

    展开全文
  • vs中新建了一个数据库,写用户注册时候发现写入到数据库中的中文全变成了问号,但是直接打开数据库中的里面写入数据是正常,就像这样: 前面两条记录是直接手动输入数据表,可以看到正常;第三条记录...

    一、问题描述

    在vs中新建了一个数据库,在写用户注册的时候发现写入到数据库中的中文全变成了问号,但是直接打开数据库中的表在里面写入数据是正常的,就像这样:
    在这里插入图片描述
    前面两条记录是直接手动输入数据表的,可以看到正常;第三条记录是在asp的注册页面连接数据库写入进来的,可以看到姓名和性别一栏的中文都变成了问号。检查asp页面的字符编码,是utf-8,支持中文,没问题;检查数据库相应字段类型,为nvarchar,也没问题。(如果你asp页面的字符编码不支持中文,先把它改为utf-8等支持中文的编码试试,如果数据库相应字段的类型是varchar或char,先把它改成nvarchar或nchar试试,不带n的字符型不支持中文。)

    二、原因

    右击该数据库,查看排序规则这一栏,需要把这一栏的值改成如我所示的Chinese_PRC_CS_AI。开头的Chinese_PRC代表的是中文UNICODE排序规则,只有把它改成这样才能正确支持中文。原来的是SQL_Latin开头的,忘记截图了,SQL_Latin会让asp输入的中文会变成问号。
    在这里插入图片描述
    可是直接点击它是无法修改的,这时需要用一些另外的方法。

    三、解决方法

    首先关闭所有打开的表,在数据库在右击,点击新建查询。
    在这里插入图片描述
    在这里插入图片描述
    1、执行SQL修改为单用户模式,输入以下语句,把test改为你的数据库的名称,然后执行,注意,如果你数据库的名称包含路径的话,需要用中括号括起来。
    ALTER DATABASE test SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    2、修改Options的Collocation属性为Chinese_PRC_CS_AI。
    ALTER DATABASE test COLLATE Chinese_PRC_CS_AI

    Chinese_PRC_CS_AI含义解释:
    (1)前半部分Chinese_PRC是指对大陆简体字UNICODE的排序规则。
    (2)后半部分即后缀 含义:_BIN 二进制排序;_CI(CS) 是否区分大小写,CI不区分,CS区分;_AI(AS) 是否区分重音,AI不区分,AS区分;_KI(KS) 是否区分假名类型,KI不区分,KS区分;_WI(WS) 是否区分宽度,WI不区分,WS区分。
    我这里是_CS_AI,代表该数据库区分大小写,不区分重音。
    3、执行SQL 再修改为多用户模式
    ALTER DATABASE test SET MULTI_USER

    完成

    四、参考链接

    https://www.cnblogs.com/FocusIN/p/5392765.html
    https://www.cnblogs.com/sthinker/p/6025153.html
    https://jingyan.baidu.com/article/c74d600060804a0f6a595dfd.html

    展开全文
  • 数据库的基础记载

    2019-07-10 14:01:08
    使用场景:在数据库中使用1 2 来代表性别。 查询出数据后需要用java方法进行判断是男是女,这是就能够直接从数据库中查询出想要的结果而不是在java代码中进行判断。 2.将表中的数据统一加上固定的字符 1.后追加...
  • 在数据库的操作过程中,我们进场会遇到检索操作。这个题目任务是完成一些特定格式检索,并输出符合条件的数据库中的所有结果。 我们现在有一个数据库,维护了学生姓名(Name),性别(Sex)以及出生日期...
  • 前段时间做一个mysql的数据库访问终端,有一个性别字段我存储是中文,后来发现读取时候显示乱码,解决方案如下: 首先我们要明白出现这种情况原因是什么,当我们装mysql数据库时,会让我们选择字符...
  • MySQL数据库中,关于常用的字符型数据可以参考表所示的内容。1)如果变量的数据类型为ENUM时,表示该变量所对应的每一个观测值最多可以65,535个不同的值中选择一个(例如每一个用户的性别只能从男或女中挑选一个...
  • 数据库介绍

    2014-02-24 17:23:44
    多个用户可以同时共享数据库中的数据资源,即不同用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容要求,同时也满足了各用户之间信息通信要求。 基本结构 数据库基本结构分...
  • 2、用命令方式testdb数据库中建立5张基本表,其类型为innodb表,字符集为utf8。(注意创建表顺序) ①创建学生表Student,由以下属性组成:学号 sno(int型,主码,其值自动填充,初值为2011001,每次增值为1...
  • 这里我只讲下我自己做项目遇到问题及解决方案...java代码MySQLurl加入设置字符值utf8: 即数据库后面加: ?useUnicode=true&characterEncoding=utf8 //useUnicode表示允许使用自定义Unicode...
  • MySQL当中,枚举类型ENUM是一个字符串对象,它值是表创建时侯列规定显式枚举一列值。而某些情况下,ENUM值也可以为空字符串('')或者是NULL。今天小编就通过这篇文章介绍enum以及set这两种枚举类型,...
  • javajson类型的字符串转成map集合

    千次阅读 2018-07-01 23:23:01
    在最近项目这个项目中,需要在数据库中存放一个对象(包括}姓名,性别,如{"name":"小李","sex":"男"},但是,当往数据库中存放数据时候,自动就变成字符串了,这...
  • 5. 打开“Student”数据库,创建如下三个表,按下面列表中的字段名(英文)、类型和宽度建立: 7. 用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一) 8. 用SQL语言...
  • // 如果是纯数字,比如你写是25,cell.getNumericCellValue()获得是25.0,通过截取字符串去掉.0获得25 if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) { String name = String.valueOf(cell....
  • 数据库入门

    2018-11-28 21:13:22
    概念 数据库是"...例如,企业或事业单位人事部门常常要把本单位职工基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放,这张表就可以看成是一个数据库。有了这个"数据仓库...
  • 关系数据库的基本概念

    千次阅读 2016-09-07 18:47:59
     现实世界,要描述一个实物常常取若干特征来表示,这些特征称为 属性(Attribute) 。 例如,用学号、姓名、性别、系别、年龄和籍贯等来描述学生。每个属性取值范围对应一个值集合,称为该属性 域...
  • 一 定义并理解下列术语...性别的域为{男,女} 【2】属性 现实世界,要描述一个实物常常取若干特征来表示,这些特征称为属性。二维表里属性也称为列 【3】笛卡尔积:两个集合X和Y的笛卡儿积(Cartesian produc...
  • Sql及索引优化: ...值分布很稀少字段不适合建索引,例如"性别"这种只有两三个值字段 字符字段只建前缀索引 字符字段最好不要做主键 不用外键,由程序保证约束 尽量不用UNIQUE,由程序保证约束 使用多...
  • 9.1创建表需求分析 首先我们需要一张学生信息表,学生应当包含如下基本信息: ...创建数据表,涉及数据表结构问题,也就是涉及确定数据表各个列数据类型,是数值,字符,日期还是图像等其他类型。 因为...
  • oracle数据库学习总结 基础 一ORACLE中字段数据类型 1 字符型 1char 范围 最大2000个字节 定长 char(10) '张三' 后添空格6个把10个...'张三' 在数据库中'张三' 2数字 number 范围 10-38次方 到1038次方 可以表
  •  数据库的安全性实验,SQL Server企业管理器,设置SQL Server安全认证模式,实现对SQL Server用户和角色管理,设置和管理数据操作权限。  具体内容如下:  设置SQL Server安全认证模式(Windows或SQL ...
  • 7.3 关系代数 7.3.1 关系数据库的基本概念 1、属性和域 现实世界,要描述一个事物常常取若干特征来表示,这些特征称为属性(attribute)。 ...性别的域为{男,女}等。 一般关系数...
  • 在数据库一共存在有6种约束; 有一种约束是数据类型约束,例如:存放日期不能随意存放字符串; 五种人为约束:非空约束,主键约束,检查约束,外键约束。 非空约束(NOT NULL,NK) 非空约束主要是在表...
  • 1、关系相关名词介绍属性(Attribute):描述...一般关系数据模型,对域加了一个限制,所有域都是原子数据(Atomic Data)。比如整数、字符串是原子数据,集合、数组属于非原子数据,关系模型这种限制称为第一...
  • 2、建立“汽车”数据库,文件名和位置自定,数据库中创建如下三张表: 汽车表(CarT),结构如下:  汽车序号(CId) 整型 主关键字,  汽车名称(CName) 普通编码定长字符类型 长度为10 非空,  型号...
  • 数据库 重点复习

    2015-04-30 10:03:00
    --修改表添加列 alter table biao add sex varchar(20)--修改表里,增加性别...——--下划线只代表一个字符范围很广范围可以使 --聚合函数 count(),min(),max(),sum(),avg() --日期函数 year--年, mo...
  •  数据独立性包括数据库中数据库逻辑结构和应用程序相互独立,也包括数据物理结构变化不影响数据逻辑结构。  (4)数据实现集中控制。  文件管理方式中,数据处于一种分散状态,不同用户或同一用户...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

在数据库中性别的字符