bug如下图: 困扰了我好长时间,在老师和同学的帮助下,终于解决了。原因是字段名没有对应 改成和数据库字段名一样即可,并将实体类的相关方法重新编写即可
枚举类型变量的赋值特性: 一个枚举类型如果没有赋初值,则默认值为0。 一个枚举类型如果赋值为nil,同样值为0。...有这样一个枚举类型: typedef NS_ENUM(NSInteger, PopupType) { PopupTypeNormal = 0, PopupTypeBookInfo = 1 }; 在调用的时候...[indexPath.row] objectForKey:@"type"] 为空,这时候如果把它传递给枚举类型,所获得到的枚举类型仍为0。...拓展:字典键值对判空测试 测试背景 某次调用,字典self.resource[indexPath.row]根本不存在"type"的键值对,测试对该字典的判空方法。...结论 可见,某些博客讲的,上述这些对字典的判空方法,是无效的。
用于设置默认值 例如,性别字段,默认为”男” , 否则为 “女” ; 若无指定该列的值 , 则默认值为”男”的值 四、数据库、数据表的基本操作 4.1、数据库的基本操作 MySQL要想将数据存储到数据库的表中...主键自增加约束 DEFAULT 默认值约束,用于设置字段的默认值 5.1、主键约束 在MySQL中,为了快速查找表中的某条信息,可以通过设置主键来实现。...varchar(20), ); 5.4、默认值约束 默认值约束即DEFAULT用于给数据表中的字段指定默认值,即当在表中插入一条新记录时若未给该字段赋值,那么,数据库系统会自动为这个字段插人默认值;其基本的语法格式如下所示...时需要注意: 在SELECT查询语句中DISTINCT关键字只能用在第一个所查列名之前。...7.3.6、使用空值查询 在MySQL中,使用 IS NULL关键字判断字段的值是否为空值。
作用,对数据进行持久化的操作 2,数据库的存储结构 表格:用于存储的数据结构 3,数据库分类 SQL:适用于所有数据库的增删改查,权限分配的结构化查询(查得多)语言 标准sql oracle:pl-sql...= >=,逻辑运算(and or not),between xxx and xxx, where id (not)in(1,2,3,4)查询id在1234中的, is(not) null 可以查询某个字段为空...,rowid from table 别名//对 子查询 子查询使用在where中 如某个查询结果为一条记录中一项(一行一列):把子查询结果作为一个值,直接带入主查询 a:select max(Salary...可省) join 右外连接(右边为主,右找左,左边无,左则为空) right (outer可省) join 全外连接 full (outer可省) join 正常的匹配,不正常的左边为空的显示,右边为空的也显示...is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 应尽量避免在 where 子句中使用!
-- Load data或into outfile时文件的本地读取/写入路径(绝对路径),为空时则默认为程序目录下的HotDB-TEMP子目录 -->参数作用:Load data或into outfile...时文件的本地读取/写入路径(绝对路径),为空时则默认为程序目录下的HotDB-TEMP子目录,配置路径后,无论Load data或into outfile时是否指定路径,均以配置路径为准。...managerPort是否可见是参数说明管理端口默认值3325Reload是否生效否参数作用:服务端口用于登录计算节点执行数据操作语句。...若设置为0,程序异常退出不会持久化,若配置的值大于0,则可以定时持久化到数据库,重启也能累计。在客户端执行SQL语句,会把相关命令统计在配置库中。当设置为0时,则不统计到配置库。...-- 相关子查询内查询使用分组过滤时,如果外查询行数小于参数值,内查询将额外使用外查询的数据进行过滤 -->参数作用:控制内查询是否额外使用外查询的数据进行过滤。
默认值为第一个元素 如果属性可以为空:默认为NULL 3.4.3 set类型 属性名 set(‘值1’,‘值2’,… ,‘值n’) 可以去一个或多个元素的组合。...如果左表中的某行在右表中没有匹配行,则在相关联的结果行中,右表的所有选择列表均为空值 右外连接 指新关系中执行匹配条件时,以关键字RIGHT JOIN左边的表为参照表。...如果右表中的某行在左表中没有匹配行,则在相关联的结果行中,左表的所有选择列表均为空值 4.4 复合条件连接查询 如:多个内连接同时使用 4.5 合并查询数据记录 select field1,field2...在查询语句的Where或from子句中添加的查询为子查询,外层查询为主查询 带比较运算符的子查询 select * from t_employee where salary >= (select salary...一个查询语句的条件可能落在另一个select语句的查询结果中个,这就可以通过IN来实现 带关键字EXISTS的子查询 如果子查询的结果至少有一行,则Exists的结果为true,负责为false:
此处的(11)表示的是显示的宽度,显示这个int类型时,最多占据 11 个字符的宽度(和存储时候的容量无关) Null: 表示是否为空,注:此处写成 YES允许这一列为NULL,也可以写成null、Null...4.2.2 NULL 约束 创建表时,可以指定某列不为空: 4.2.3 UNIQUE:唯一约束 指定id列为唯一的、不重复的: 4.2.4 DEFAULT:默认值约束 指定插入数据时,name列为空,默认值为未命名...外键用于关联其他表的主键或唯一键 案例: 对学生表进行数据插入: 注:当我们想删除父表时,则需要先删除 子表,再删除 父表。...表名; 查询字段为表达式 (一边查询,一边计算) 在查询的时候,写作由列名构成的表达式,把这一列的所有行都带入到表达式中 注:但是原始数据不变,这个只是产生的临时数据。...与主键索引不同,唯一索引的列可以允许空值(NULL)。 普通索引(INDEX): 普通索引是最常用的索引类型,用于加速数据检索,不强制列值的唯一性。
例如,年龄字段应选择整数类型,且范围应符合实际年龄的可能值。 查询性能:优化查询速度,减少不必要的计算和转换。例如,对于经常需要进行范围查询的数值字段,选择合适的数据类型和索引可以提高查询效率。...[默认值 非空约束] [ COMMENT 字段1注释 ], 字段2 字段2类型 [默认值 非空约束] [COMMENT 字段2注释 ], 字段3 字段3类型 [默认值 非空约束] [COMMENT...以下是按分类列举的MySQL DCL语句,以及对可控制的权限内容的介绍和示例: 用户管理语句 查询用户 SELECT * FROM mysql.user; 该语句用于查询MySQL数据库中的所有用户信息...恢复工具 MySQL Check Table:用于检查和修复表的工具,当表出现损坏时,可以通过该工具进行修复,从而恢复数据。...--single-transaction:对于使用 InnoDB 存储引擎的表,在备份时不会阻塞其他数据库操作。
大家好,欢迎来到我的博客!今天要聊一聊关于MyBatis的XML配置,如何在查询数据表时判断List是否为空,并进行遍历拼接。...具体的做法如下:在MyBatis的XML配置文件中定义一个select>标签,用于编写SQL查询语句。然后,在select>标签内部,使用标签来判断List是否为空。...如果List不为空,则执行正常的SQL查询语句;如果List为空,则可以返回一个默认值或者提示信息。...如果List不为空,则执行AND id IN后面的SQL语句;如果List为空,则不执行AND id IN后面的SQL语句。这样,就可以实现在查询数据表时判断List是否为空的功能。...在MyBatis的XML配置文件中,可以使用标签来遍历拼接List。具体的做法如下:在MyBatis的XML配置文件中定义一个select>标签,用于编写SQL查询语句。
Mysql语法 建表 --建表 create table 表名( 字段名 类型 约束(主键,非空,唯一,默认值), 字段名 类型 约束(主键,非空,唯一,默认值), )编码,存储引擎...):保证一个表中的数据匹配另一个表中的值的参照完全性 CHECK:保证列中的值符合条件 DEFAULT:规定没有列赋值时的默认值 实例 DROP TABLE IF EXISTS `websites`;...分组时候的筛选用 having 常见的几个组函数:max()min()avg()count()sum() 在 SQL 中,ASC 和 DESC 用于指定排序顺序: - ASC 表示升序(从小到大),是默认的排序顺序...不过需要注意的是,过度复杂的子查询可能会影响查询性能和可读性,因此在使用子查询时需要权衡其优劣并谨慎设计。...ifnull 函数用于将可能的 NULL 值替换为指定的默认值(0 或 '无日期')。 总的来说,这条查询用于获取网站的访问次数以及最近访问日期(如果有的话),并且对可能的 NULL 值进行了处理。
使用非空约束 非空约束指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。...字段名 数据类型 NOT NULL 使用唯一性约束 唯一性约束要求该列唯一,允许为空,但只能出现一个空值。 唯一约束可以确保一列或者几列不出现重复值。 在定义完列之后直接指定唯一约束。...在 SELECT语句中使用 IS NULL子句,可以查询某字段内容为空记录。...当外层查询语句内只要有一个内层查询语句返回的数据列中的数据时,则判断为满足条件,外层查询语句将进行查询。 带比较运算符的子查询 子查询可以使用如 '','>=','!...合并查询结果 利用 UNION关键字,可以给出多条 SELECT语句,并将他们的结果组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同。
3、数据类型和字段属性 数据类型是用于定义数据存储的方式,包括整数、浮点数、字符串、布尔值等。字段属性是用于定义数据类型的其他特征,例如字段长度、是否允许为空、默认值等。...常见的字段属性包括: 长度:用于限制字符或数字的长度。 精度:用于限制数字的小数位数。 是否允许为空:用于定义字段是否可以为空。 默认值:用于定义数据的默认值。...数据库索引的创建和使用可以提高查询数据的效率,减少数据查询所需的时间。以下是一些关于数据库索引的创建和使用的注意事项: 创建索引时要注意选择合适的字段,通常是经常用于查询、排序和筛选的字段。...7、存储引擎的选择和使用 存储引擎是决定数据库性能和功能的重要因素之一。在选择存储引擎时需要考虑以下几个因素: 数据库类型:不同类型的数据库适合不同的存储引擎。...避免使用 SELECT *:尽量避免使用 SELECT * 查询所有列,因为这会导致数据库执行不必要的操作,增加查询时间。 优化查询语句:优化查询语句可以提高查询效率。
一、列属性1、 主键主键(primary key):又叫主键约束,是表中的一个或多个字段,它的值用于唯一标识表中的某一条记录。...null表示,在mysql中允许使用列设置为null或者not null1null:当没有给该字段添加任何值的时候就是null,null不能参与运算not null:被设置为not null 的列必须存在...123二、高级查询1、select 选项---all查询所有select all 列名 from 表名---distinct去重复(一般情况下不适用耗性能)select distinct 列名 from...表名123452、条件限制2.1 wherewhere子句用于规定选择的标准,写法:select 字段 from 表名 where2.2 havinghaving与where相似,但having发生在内存中...1---从第一条开始的查询n条数据select 字段 from 表名称 limit 数据量;---从起始数+1开始查询n条数据select 字段 from 表名称 limit 起始数,偏移量;123452.4
DROP TABLE table_name;五、数据表的约束数据库表的约束用于限制数据的输入规则,保证数据的一致性和完整性。常见的数据表约束包括主键约束、非空约束、默认值约束、唯一性约束和外键约束等。...非空约束非空约束用于确保某个字段的值不能为空。...默认值约束默认值约束用于设置某个字段的默认值。...通过外键约束,可以实现数据表之间的一对一、一对多或多对多的关系。外键约束会导致数据库的性能下降,因此在设计数据库时需要权衡性能和数据一致性的要求。...关于关联关系的删除数据在删除涉及到关联关系的数据时,需要小心处理,以确保数据的完整性和一致性。十四、多表连接查询1. 交叉连接查询使用CROSS JOIN语句进行交叉连接查询。
,但参与了索引和视图的表不可用它来删,应用delete truncate table 表名 数据查询 选择指定的列 select 字段名 from 表名; select * from 表名; --*通配符查询所有字段数据...; 替换查询结果中的数据 --把数量这个字段起别名作为库存,根据条件替换数量字段里的内容(不是真实修改表内数据,只是查询时的修改) select 图书编号,书名, case when 数量 is null...不等于 相等或都等于空时为true,两个有一个空或不空但值不相同都为false !...); 子查询 在where子句里套select,用in来效验where里的select查询结果 --格式 expression [not] in (subquery) select * frrom sell...例如根据学生专业名来分组 select count(专业名) from xs group by 专业名; having子句 该子句用在gruop by子句后,通常搭配聚合函数使用 --查询订购单数在2笔以上的人的身份证号
Sname FROM Student WHERE Sname LIKE '欧阳_' 注意:数据库字集为ASCII时一个汉字需要两个_;当字符集为GBK时只需要一个。...,默认值为升序。...MIN([DISTINCT|ALL]) 求一列值中的最小值 如果指定 DISTINCT 短语,则表示在计算时要取消指定列中的重复值。...如果不指定 DISTINCT 短语或指定 ALL 短语(ALL为默认值),则表示不取消重复值。...聚集函数只能用于SELECT子句和GROUP BY中的HAVING子句。 5.GROUP BY子句 将查询结果按某一列或多列的值分组,值相等的为一组。
DISTINCT从句有两种形式: SELECT DISTINCT:为选择项值的每个唯一组合返回一行。可以指定一个或多个选择项。...查看和编辑GROUP BY和DISTINCT查询必须生成原始值选项。(此优化也适用于GROUP BY子句。)。默认值为“否”。 此默认设置按字母值的大写排序规则对字母值进行分组。...此优化利用选定字段的索引。因此,只有在一个或多个选定字段存在索引时才有意义。它对存储在索引中的字段值进行排序;字母字符串以全部大写字母返回。...DISTINCT BY(StreamField)将流字段为空的记录数减少到一个空记录。 星号语法:DISTINCT*语法是合法的,但没有意义,因为根据定义,所有行都包含一些不同的唯一标识符。...不同于(*)的语法不合法。 子查询:在子查询中使用DISTINCT子句是合法的,但没有意义,因为子查询返回单个值。 未选择行数据:DISTINCT子句可以与不访问任何表数据的SELECT一起使用。
而且比较字符 ‘=’’>’ ‘’不能用于查询null, 如果需要查询空值(null),需使用is null 和is not null。...结论: 所以在设置默认值的时候,尽量不要用null当默认值,如果字段是int类型,默认为0;如果是varchar类型,默认值用空字符串('')会更好一些。...带有null的默认值还是可以走索引的,只是会影响效率。当然,如果确认该字段不会用到索引的话,也是可以设置为null的。...在设置字段的时候,可以给字段设置为 not null ,因为 not null 这个概念和默认值是不冲突的。...我们在设置默认值为('')的时候,虽然避免了null的情况,但是可能存在直接给字段赋值为null,这样数据库中还是会出现null的情况,所以强烈建议都给字段加上 not null。
可以被设置成匹配具体的数据库连接超时时间,来避免不必要的侦测,默认值:0(表示所有连接每一时刻都被侦测,只有poolPingEnabled的属性值为true时适用) JNDI: 此数据源可以在EJB或应用服务器等容器中使用...useCache 将其设置为 true 后,将会导致本条语句的结果被二级缓存缓存起来,默认值:对 select 元素为 true。...,并将其绑定到上下文,常用于模糊查询的sql中 2、元素 在MyBatis中元素是最常用的判断语句,它类似于Java中的if语句,主要用于实现某些简单的条件选择。...客户名称为空,客户职业不为空,则以客户职业为查询条件。 客户名称为空,客户职业为空。...select:指定引入嵌套查询的子SQL语句,该属性用于关联映射汇总的嵌套查询。 fetchType:指定在关联查询时是否启用延迟加载。(fetchType有lazy和eager两个属性值。
SELECT 语句基础选择全部列SELECT *FROM departments; -- 表名选择特定的列SELECT department_id, location_id -- 列名,属性FROM departments...对的,就是在 SELECT 查询结果中增加一列固定的常数列。这列的取值是我们指定的,而不是从数据表中动态取出的。你可能会问为什么我们还要对常数进行查询呢?...比如说,我们想对 employees 数据表中的员工姓名进行查询,同时增加一列字段corporation,这个字段固定值为“腾讯云”,去除重复行默认情况下,查询会返回全部行,包括重复行。...空字符串的长度是 0,而空值的长度是空。在 MySQL 中,空值是占用空间的。表结构查询使用 DESCRIBE 或 DESC 命令表示表结构。...Default:默认值。Extra:附加信息,如 AUTO_INCREMENT。条件查询使用 WHERE 子句过滤不满足条件的行。
领取专属 10元无门槛券
手把手带您无忧上云