MySQL中的布尔值,怎么存储false或true

MySQL布尔值,存储false或true

简明说,数据库存储的布尔值是0和1,相当于一个字节的INT型整数

具体操作

如果是可视化界面,可以直接选择Boolean,长度设置为1。其最终显示的效果等价于TINYINT(1)

所以,zero == false;nonzero == true

MySQL数据库存储布尔值

在Java编程中,我们经常会遇到将boolean值写入到mysql数据库的情况。但是,mysql数据库是没有boolean类型的,它的boolean值是用数字0和1来表示的。

下面,我们用Java演示一下怎样将boolean值保存到mysql数据库

package database;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.qs.database.DBConnection;
public class JavaMysqlBoolean {

 public static void main(String[] args) {
  if(DBConnection.conn==null){
   DBConnection.openConn();
  }
  PreparedStatement ps = null;
  try {
   String sql = "insert into testboolean(name,password,isAdult) values(?,?,?)";
   ps = DBConnection.conn.prepareStatement(sql);

   ps.setString(1, "lisi");
   ps.setString(2, "1");
   ps.setBoolean(3, false);

   ps.executeUpdate();

  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
}
package com.qs.database;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DBConnection {
 public static Connection conn = null;
 public static String driverClass = "";
 public static String dbURL = "";
 public static String dbUser = "";
 public static String dbPwd = "";
 static {
  loadProperty();
 }
 // 读取配置文件
 public static boolean loadProperty() {
  Properties properties = new Properties();
  try {
   properties.load(DBConnection.class.getResourceAsStream("db.properties"));
   driverClass = properties.getProperty("drivername");
   dbURL = properties.getProperty("dburl");
   dbUser = properties.getProperty("username");
   dbPwd = properties.getProperty("password");
  } catch (IOException e) {
   System.out.println("读取配置文件失败");
   e.printStackTrace();
   return false;
  }
  return true;
 }
 public static void openConn() {
  // 加载驱动类
  try {
   Class.forName(driverClass).newInstance();
  } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
   System.out.println("驱动类没有找到,加载失败");
   return;
  }
  // 获得与指定数据库的连接
  try {
   conn = DriverManager.getConnection(dbURL, dbUser, dbPwd);
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
 public void closeConn() {
  if (conn != null) {
   try {
    conn.close();
    conn = null;
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
}

属性文件db.properties

drivername=org.gjt.mm.mysql.Driver
dburl=jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=utf-8
username=root
password=root

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mybatis 连接mysql数据库 tinyint 为boolean类型详解

    字段类型为tinyint(1)的返回类型设置为integer 现象描述: 数据库表字段类型为:tinyint 长度为1,即 类型为:tinyint(1) 查询时,该字段对应的的java类型为boolean 问题描述: 如何将该字段的java类型设置为Integer? 解决方案: 1. 在jdbcUrl添加参数:tinyInt1isBit=false(默认为true): 2.避免使用长度为1的tinyint类型字段存储数字格式的数据: 补充知识:[mybatis]mysql数据库tinyint类型

  • Mysql NULL导致的神坑

    比较运算符中使用NULL mysql> select 1>NULL; +--------+ | 1>NULL | +--------+ | NULL | +--------+ 1 row in set (0.00 sec) mysql> select 1<NULL; +--------+ | 1<NULL | +--------+ | NULL | +--------+ 1 row in set (0.00 sec) mysql> select 1<>

  • JDBC对MySQL数据库布尔字段的操作方法

    本文实例讲述了JDBC对MySQL数据库布尔字段的操作方法.分享给大家供大家参考.具体分析如下: 在Mysql数据库如果要使用布尔字段,而应该设置为BIT(1)类型 此类型在Mysql中不能通过MySQLQueryBrowser下方的Edit与Apply Changed去编辑 只能通过语句修改,比如update A set enabled=true where id=1 把A表的id为1的这一行为BIT(1)类型的enabled字段设置为真 在JAVA中,使用JDBC操作这个字段的代码如下: c

  • MySQL中的布尔值,怎么存储false或true

    MySQL布尔值,存储false或true 简明说,数据库存储的布尔值是0和1,相当于一个字节的INT型整数 具体操作 如果是可视化界面,可以直接选择Boolean,长度设置为1.其最终显示的效果等价于TINYINT(1) 所以,zero == false:nonzero == true MySQL数据库存储布尔值 在Java编程中,我们经常会遇到将boolean值写入到mysql数据库的情况.但是,mysql数据库是没有boolean类型的,它的boolean值是用数字0和1来表示的. 下面,

  • MySQL中关于null值的一个小问题

    今天在测试null值的时候,发现了一个小问题,记录在这里,不知道大家以前遇到过没. 事情发展是这样的,在过滤一个表中的数值的时候,需要把age=2的列给剔除掉,然后查看剩余的列信息,这个操作看起来比较简单,我用一个表模拟一下过程: CREATE TABLE `test` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `age` int(11) DEFAULT NULL,   `score` varchar(20) NOT NULL DEFAULT '',

  • 解读MySQL中一个B+树能存储多少数据

    目录 MySQL中一个B+树能存储多少数据 MySQL聚簇索引的存储结构 MySQL中B树与B+树的区别 B树 B+树 B树与B+树的区别 总结 MySQL中一个B+树能存储多少数据 MySQL聚簇索引的存储结构 MySQL中InnoDB页的大小默认是16k.也可以自己进行设置.(计算机在存储数据的时候,最小存储单元是扇区,一个扇区的大小是 512 字节,而文件系统(例如 XFS/EXT4)最小单元是块,一个块的大小是 4KB. InnoDB 引擎存储数据的时候,是以页为单位的,每个数据页的大小

  • 一文介绍mysql中TINYINT取值范围

    目录 项目场景: 问题描述: 原因分析: 解决方案: 项目场景: 最近在开发过程中,看见表设计中是thinyint字段,但对于它的范围产生了好奇 问题描述: 当我们填写超过128数值的时候,该字段就会报以下错误 Cause:com.mysql.jdbc.MysqlDataTruncation:Data truncation:Out of range value for column 'priority' at row 1; 原因分析: 从 -2^7 (-128) 到 2^7 - 1 (127)

  • mysql中的utf8与utf8mb4存储及区别

    目录 一.如何设置utf8mb4 二.问题 1.为什么存储的时候要区分utf8和utf8mb4 2.为什么读取的时候要区分utf8和utf8mb4 一.如何设置utf8mb4 mysql中针对字符串类型,在设置charset的时候可以精确到字段. 如果只将某个字段设置utf8mb4,那么其他字段不会受影响. 如果针对表来设置,那么已经存在的字段依然是utf8,并且会多出utf8的标记,之后所创建的字段才会是utf8mb4. 如果针对库来设置,那么已经存在的表依然是utf8,之后所创建的表才会是u

  • MySQL中对于NULL值的理解和使用教程

    NULL值的概念是造成SQL的新手的混淆的普遍原因,他们经常认为NULL是和一个空字符串''的一样的东西.不是这样的!例如,下列语句是完全不同的: mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (""); 两个语句把值插入到phone列,但是第一个插入一个NULL值而第二个插入一个空字符串.第一个的含义可以认为是"电话号码不

  • Mysql中关于0值判断的坑及解决

    目录 Mysql关于0值判断的坑 简练问题如下 原因 解决方式 问题引申 Mysql判断数值0误区总结 Mysql关于0值判断的坑 最近遇到一个Mysql返回多值的问题,最后发现是mysql过滤条件中0值判断的问题. 简练问题如下 有个INT字段a,默认值为0,程序传入的判断条件是 a = 'abacd'. 传入的是一个字符串,结果a=0的所有数据都返回了. 原因 mysql会在逻辑判断时,如果是整型判断,但是传入的是字符串,如果字符串不是数字,则字符串会被转换为0.所以, 这段代码实际判断的条

  • 详解MySQL中的NULL值

    我们已经看到使用WHERE子句的SQL SELECT命令来从MySQL表获取数据.但是,当我们试图给的条件比较字段或列的值为NULL,它不能正常工作. 为了处理这种情况,MySQL提供了三大运算符 IS NULL: 此运算符返回true,当列的值是NULL. IS NOT NULL: 运算符返回true,当列的值不是NULL. <=> 操作符比较值(不同于=运算符)为ture,即使两个NULL值 涉及NULL条件是特殊的.不能使用 =NULL 或 !=NULL 寻找NULL值的列.这种比较总是

  • 速记Python布尔值

    在python中.布尔值有 Ture False 两种.Ture等于对,False等于错.要注意在python中对字母的大小写要求非常严格. Ture 和 False 的首字母都要大写. 而布尔值可以互相运算,用 and not or (全部小写)来运算. and 是与运算, >>> Ture and Ture Ture >>> False and Ture False >>> False and False False 在 and 运算中,只有全部为

  • mysql中null(IFNULL,COALESCE和NULLIF)相关知识点总结

    本文实例讲述了mysql中null(IFNULL,COALESCE和NULLIF)相关知识点.分享给大家供大家参考,具体如下: 在MySQL中,NULL值表示一个未知值,它不同于0或空字符串'',并且不等于它自身. 我们如果将NULL值与另一个NULL值或任何其他值进行比较,则结果为NULL,因为一个不知道是什么的值(NULL值)与另一个不知道是什么的值(NULL值)比较,其值当然也是一个不知道是什么的值(NULL值). 然而我们通常,使用NULL值来表示数据丢失,未知或不适用的情况. 例如,潜

随机推荐