粉丝4205获赞8365

hello, 大家好,今天我们接着上一次的内容往后继续讲,那么上一次的内容当中呢?我们讲到了嗨运止住的一个基本用法,以及呢用它结合我们这个 group by 跟剧组的这个调节这些过滤,这是我们上一次讲的内容, 那么今天的这期内容我们要讲什么呢?我们要讲一个特殊的字烙,这个烙它是什么呢?数据库中的烙代表不确定, 不确定的值,也就是不知道是什么,不知道是什么,他代表不确定,不知道, 那么他和空值的区别是什么?空值,那我首先那我代表我们敢讲了是吧?那我代表不确定未知的, 那么空值,也就是我们的单一对单一号代表空,代表空,那么他还他还跟我们的这个零,比如说我们的这个数值现场数据,那么他有的时候会为零,那么这个是零,他代表的是 代表是一个数字,代表的一个是一个数字。然后我们要怎么去查询这个蜡和贝?蜡就是我们马上要讲的案例里面去讲,那么我们之前在在讲那个约束的时候,我们讲到了什么呢?唯空性约束, 空气应该学的是无唠和 lot love, 就是你这个你这个字段可为空, 是否可为空?或者是说不为空,那么可为空的意思就是说你这个这个字段,你这个字段的值 我不去填写他,那么他默认就是一个闹,那么拉着闹不为空的意思就是我不允许你给我的这个阶段的值给一个闹值,那么哪怕你给一个空都可以,但是呢不能给他一个闹, 这是我们之前讲到的一个围空性约束,我们建一个案例来 test 一下 creature table test。 然后呢我给他用三个字段,第一个 tid 硬的型的,那么硬的型的我们给他拉着,然后这个是有一个维控性, 这个字段 t id 是不可以为空的,不可以为空的。那么第二个字段, 然后呢?他是可以为空的, 可以为控,他是可以为控的,他是可以为控。那么 他可以再做了一个逗号,他可以为空,那么这个 low 他是可以省略的, low 是可以省略的,当你不写 low 或者是只写一个 low 的时候,他代表这个字段是可以为空的。我们再加一 这个字段, ticonticcount interesting 老,他是可以,他是允许为空的。然后呢? tv mark the time, 然后呢拿出来,那么这个现在呢?有这四个阶段,那我们分别来看一下, create 一下,直行 insert into, 我们往里面添加数据了,是吧? into test vanis。 第一个字段他是不允许为空的,他是不允许为空的。那么我们给他一个一。第二个字段他是可以为空的。我们给他一个啊,咱三,然后第三个字段, 第三个字段给他一个十。最后一个字段给他一个空。那么这就是我们的这个第一个正常的一个字,正常的一个字,我给你们看一下 rome past 呀,这个值一占三十。最后一个没有值,是因为我们给他,给了他一个空值,给了他一个空值,就是没有嘛,给他一个 空纸,那么第二个我们继续来往后第二个我们呢,第一个给他一个,因为是辣,辣特辣的,是用给他一个辣哦,然后呢也是 五十备注, ok, 我们来看一下这条会出现什么样的结果, 你看他就不能将蜡烛插入裂 tid, 因为这个表开始这个表当中这个 tid 呢,他是不允许为空的,不允, 不允许有闹字的,所以说失败,这个是添加失败,因为 tid 不允许为闹,所以添加失。 ok, 然后呢,我们换一个,下,下一位,我们把它放在下面,然后 二,然后第二个 t n, 他是可以为空的,他是可以为空的。然后呢我们给他一个烙纸,他是可以为空的。给他一个烙纸,那么此时 他是添加成功的。我们来看一下,你看他变成了烙,嗯嗯,这个地方大家可能会,嗯,如果那个 仔细一点,大家可以发现这个烙的背景,他跟这个这其他的背景是不一样,他有点偏黄,因为他是一个烙制是一个烙,那这样他是成功的。那么我们看一下,下面一个呢?下面一个,哦,我的这 最后一个,这个,嗯,贴炕的他也是可以为空的,贴炕的他也是可以为空的,那么我们把这个也是给他插入一个烙纸,对吧?也是可以给他插入一个烙纸。 ok, 这条也成功呀。最后一条,那么我们把最后一个同样 把什么呢?把这个备注插入蜡烛纸,让大家可以看到,第一个是硬的型的,第二个是文本类型,是我们的支付串类型,他们俩之间都给蜡烛纸,都给蜡烛纸。他怎么样?这个这个名字再加一下, 这个名字改成小白,对吧?哇哦,你试一下,你看 这个地方又出错了,因为为什么出错呢?因为这个 t 瑞 mark, 以下添加错误, 不允许,不允许为空,因为这个不允许为空,那么这样呢?我们就知道了,这个烙和我们的这个呃非烙的一个区别,就是我给给你一个空,然后我们现在来看一下, 看到没?唠唠唠,我可以给你,就是我不填写,我可以直接给你一个唠,我可以直接给你一个唠,然后呢?我还可以怎么呢?一十二特,我直接把可以为空的,我就添加几个,知道呢, 我就只添加,我就只添加 t 内和 tcom 和面合体看的这两个,这是选择性添加,大家可以看前面的内容添加的那个那个内脏哈,选择性添加,就是我可以只添加,只添加我想要添加的, 然后呢?嗯,小花,小花,然后呢?三十, 然后呢?我们来看一下,哦哦,我们然后呢?小花。像是 tcom 的啊,不应该是 tcom 的,应该是这个,这个,嗯, mark, 嗯,哈哈哈,让我们来看一下一啊 tid, tid 不允许为空,应该是 tid, 哎,真不错的哈,应该是 tid 和 t 对 mark, 比如说二十,然后呢我们给他用一下,你看一下受影响,那这个时候呢, 你会发现二十和哈哈哈这个中间也是浪子,是因为我没有给他添加,也就是说当我不给他添加的时候,他默认就是浪子, 默认就是老子,这是不确定的。一个一个纸,那么这就是我们的烙和啊,我们的这个非烙的这个一个用法,也就以及他跟我们这个空纸之间的区别。然后我们要怎么去查询呢? 查询闹得非, 之前我们在讲查询的时候呢,我们都是什么呢?我们都是直接呃呃。用符号大于等于小于等于那一个这样去查询,但是我没有讲到这个唠,因为那个唠我们不想,我想单独给他放出来讲,所以这个时候呢? long pasta where 听令 ease ease large love 查询是否为空,不为空。用 is large love 查询为空 is love is love 就是这个阶段是查询这段是否是烙纸,用 is love or is that love 进行查询,进行查询。那么为空呢?空,空呢?单纯的空呢?就是什么呢? 单纯的查询空,当然这个就因为空,他是一个直,只是他是空的,那么这个时候呢,就要用等于我们这个空,值了。嗯,没有知道我们看哪个里面有 啊空,应该是 tv mark 这个阶段, 你看这个就差评出来了,这个就是我们今天讲的内容,我们这个啊,特殊时髦的这个用法今天就到。

我原本以为吕布已经天下无敌了,没想到有人比他还勇猛。这是谁的部将? 常山赵子龙,末将愿望,我亲眼看着赵子龙 从西北而去。不可能。 哈哈哈哈,一个字,绝。

哈喽,大家好,我是李月,今天给大家介绍一下如何处理空值。我们先看一个视力表, 这里呢我们想计算这六个人的平均工资,如果我们要正确计算的话,应该是六千加九千加一万二,然后再除以六等于四千五。如果我们直接使用这个 avg 函数来计算平均值的话, 结果却得到的是九千,这个是为什么呢?是因为他把这个空值给过滤了,就是这个 abg 函数,他只计算了六千九千和一万二,这三个人的 平均值并没有除以六,而是除以三。然后如果我们想得到的是四千二五的 的话,就必须要给他一个默认值,就说如果为空值的话,我给你一个为零,那么这样你得到的数据。

大家好,今天给大家演示的是用卡片拖拽实现的之前 sqlt 渐变改插的效果, 看一下这些功能正不正常。添加数据,然后就更新数据, 查询数据,这个是带条件的,默认是查这些数据,然后是全部删除。第五条, 然后是删除全部,可以看到功能都是正常的,删除数据表也也可以。 然后我们看一下它的实现, 这个 html 代码是一样的,还没有可释放超载 代码的话,是已经实现了超载功能,全部都是用卡片超载的方式实现的, 没有写银行代码。 然后我们现在来演示一下实现的过程,我们选择一个这个 delete 方法, 先把它删了,删了之后呢,点一个拖个弹窗过去,然后点击删除的话, 它就没有效果了,插件才是有的,删除应该会弹出一个弹窗保存一下, 你看就一个弹窗了,现在我们来重新实现一一遍,这个是代码, 首先是删除数据表,所以我们直接在这里, 不对,这里是删除,删除数据 调过去看一下六二二二, 所以这里要改一下六二二,因为这个名称是根据 id 自动生成的, 全都是六二。然后呢,这里是因为是全部删除,所以这里条件不需要指定删除,之后就有一个查询, 也是六二, 查询的话,这里一个常亮,这样结果通过这个方式方法转化为对象变量操作里面一个常亮,然后这个方法, 然后这个是需要手动填写的, 都是使用同一的这个格式, 然后是设置这个元素的内容为空,在基础代码这里。 哇,这里搞错了,应该在下面这里的 长亮,你看这里设置好了之后呢,将原元素内容设置为 元素内容的话,设置的,如果这里 不不拖在卡片的话就是孔,然后是一个循环对称,所以这里要改一下,这个要改成对称啊,这里已经默认就是对称, 然后呢循环输出是这里是添加元素还是选择这个元素,然后这里是一个制图框, 选择一个制图框,将这段内容复制过去 保存一下 还是添加修改。刚刚这个的方法是弹出一个弹窗, 现在来看一下,可以看到功能是正常实现的,现在查询数据是没有数据的,然后删除数据带条件,看一下其他的方法也是正常的, 这样我们就通过卡片套在的方式实现了我们需要的功能。

们来了解一下,当函数的参数当中啊,有空值的时候会怎么样?那么一般来说呢,如果我们一个表达式哈,这个像这种运算的表达式呢?或者我们这个函数当中啊,如果存在这个空值参数, 用你参数是空值吗?一般来说呢,他的结果也会是空值,比如说我们查询一下,对吧?像刚才我们这个一百加上一个空值,还有呢这个,我们这个有一个,这个叫啊 二排函数,就是把这个小写的这个字母转换大写如果是一个空的参数,对吧?那他一个空值作为一个参数,这种情况下呢,一般来说他都会返回呢,对吧?包括你一百,你一百加上一个 未知的数据,那结果肯定还是未知了,对吧?那你对一个未知的内容进行这个大写转换,那结果肯定也是一个未知的结果,那么这是一般函数当中的一个效果。呃, 同时呢像买烧烤而言呢,我们看一下这个函数也是这样的,这个我们也需要注意一下,这个慷慨的是我们说是一个连接字母串的函数,前面我们介绍过了,对吧?那比如说呢,呃, 你是麦,然后呢中间有一个空,后面有一个,呃,思考这种情况下呢,你连接的时候他也不会返回任何结果,因为里头出现了空的参数,导致整个结果都是空。 但是这个行为不是所有的数据库都是这样的,有的数据库呢,是这样的,你空呢?我就像这个空呢,就相当于是一个空字和串一样的效果,他就是前后还是会连接起来的,并不会返回。这个呢,有一些数据库是处理是不一样的,但是对于买思考而言呢,他只要参数中出现这个空,那直接结果就是空了 啊。另外呢,我们介绍过,就是像聚合函数,对吧?就是呃, av 机这种啊,萨嘛抗的这个函数啊,他会忽略这个数,才能说的这个空值也是空值,不参与计算, 所以呢,这个地方呢,大家也需要注意一下,那么除了这个函数中的空值参数之外呢,那其实这个烧烤里头也有几个专门针对空值进行处理的一个函数,对吧?就是说如果我们想要避免这个空值带来 来的这种意外的结果,那我们可以用一些函数把它进行一些处理。那么首先我们来看一个思考标准中的两个函数,一个叫 colis, 那 coliss 这个函数的作用就是他可以接收很多参数,但是呢他只返回第一个不为空的。 好,我们看一下 call this, 那比如说一二三 这个有四个参数,这扣里次函数有四个参数,他一二是有值的,第三个是空,第四个也是有值的,那这个时候呢,他会返回一,因为第一个参数啊,他就有值,对吧?那么但是呢,如果第一个参数 是空,那他就返回二第二个参数,但是如果第二个参数也要空,第三个参数,那他就会返回最后一个参数,也就是说他会依次去找这个参数,找到不为空的那个参数,然后把它返回,那么这是这个扣里是函数的一个作用。 那么当然有了这个函数之后呢,我们也可以做一些处理,对吧?比如说,呃,如果某一些指示空,我们想以零来展示,其实我们也可以,就是把它做一个转换,对吧?用考虑函数转换成零,代表他没有这一项,或者说他的指示为零。呃,另外呢,我们这个, 哎,这个教程当中呢,也会有一个,就是这个扣里弹术的一个实现自定义排序的,也是一样的,我把我这个空值转换成我需要的一个值,然后实现这 一个排序,对吧?那么当然如果说你,比如说你默认排序,你想把这个空值排在前面,那你很简单,你就把它转换成一个很小的数字,对吧?如果你想要把这个空值排在后面,你可以闯这个超级大的数字,那这样的话,他就会按照这个很大的数字来排, 也可以实现我们前面所说的这个控制,解决控制排序的问题,对吧?因为啊,有的数据库控制在前面吗?有数据库控制在后面,那我用这个函数统一做一个处理,也就是说他就会得到一个准确的一个排序结果, ok, 那么第二个函数叫 now if, 呃,什么意思呢? now if, 听这个名字就是说如果某个条件成立,他 就会返回闹,对吧?那这个条件是什么呢?我们来看一下,他接收两个参数,如果这两个参数不相等,他会返回第一个,我们这样吧,比如说我只是一百吧, 那我们看他会返回第一个参数,但如果说这两个参数相等, 那么他就会反为空,对吧?那这个一般有什么用呢?一般我们是用来解决这个除灵的问题,就是说, 对吧?比如说一除以,我们说这个一除以零,如果说 这个参数啊,我如果是传个零,对吧?这是我要传进来的参数哈,那么这样 除呢?啊?我先这样,我传一个参数,对吧?比如说传一百,可能,哎,没有问题,对吧?呃,除以零,那其实他会相当于就是除零了吗?对吧?当然买这个呢,他是有一个控制,他没有报错,呃,但实际上这个也是不对的,那我们 这种情况下你怎么去做呢?你可以用这个那一盘数,然后呢?你这个参数,比如一百,对吧?我给一个零,谁明在知?如果你这个参数啊,传进来的是一个零,跟我后面这个零相的,那我这个表达是就返回为闹,那闹就不会出现这个雏林,就是衣橱闹,其实就是 那跟现在的效果是一样的。那如果我是一百,那我还是正常运转,对吧?如果我是零,整个这个就是,那来移除,那就是就是返回,那对吧? 而且这种写法呢,在其他数据库里头呢,也是可以兼容的,可以防止这个处理错误。那除了这个函数之外呢?呃,还有一些,我们这这个,呃,书中还有一些其他数据库专用的函数啊。当然具体到这个买声卡而言呢,我们有一个这个函数叫衣服呢, 那刚才我们有一个 no eaf, 对吧? no eaf 是说如果后面两个参数相同,它就仿纳了,然后呢还有个 伊夫娜,伊夫娜是什么意思呢?就是如果这个参数是空,他就返回这个参数,其实和我们刚才的这个两个参数的这颗粒子是效果是一样的,只不过他是一个简写版的,这两个效果 是一样的。 啊,这样吧,或者是一百,对吧? 看一下,如果这个参数是为不为空,那就返回这个参数,如果这个参数为空,就返回后面那个参数,对吧? 看一下啊,这两个现在都是一百,对吧?如果这个是,那啊,当然这也是一样的,这两个函数这种写法是等效的,那么就会返回零,对吧?说白就是它可以处理我这个参数为空和这个扣里是函数的效果,两个参数的效果是一模一样的。 好了,那这就是买 cel 当中,后面就不是买 cel 了,这是买 cel 当中提供的一个特殊的处理函数。


前面已经说了,我们这一张主要呢是针对一些细节来给大家进行介绍,就是我们在使用四个色吧,或者说写这个腮口的时候一些细节的一些情情况的一些处理。 那么关于细节呢,就有一个空值这样一个问题需要解决。那我们首先来看一下这个空值检查函数。 那么空值检查函数呢啊,顾名思义,他就是为了来检查这个表达式,或者说这个自转有没有出现空值的。若出现空值,我们要怎样进行来处理的一个函数。那么这里举一个例子,比如说我现在这个 name 写在这个内,我们这个啊表,那么如果当这个表出现空值的时候,我把它替换为无名氏对不对?那么这样就是一个空值检查并且替换的一个函数。 很简单,那么就是以是那这样一个参数,前面的话呢,第一个参数是我要取的一个字段,后面的话呢是我要替换的一个结果。就是当他出现为空值的时候,我就把他替换为五米四,那如果不是空值呢?如果不是空值,他就 不替换了。比如说前面这些小明啊,小红啊,这里不是空值,那么他就不进行替换啊,这是空值检查人数 啊,把它替换成我们想要的一个结果。好,那么关于这个函数本身呢,就非常的简单。然后呢,我们这里留两个思考题给大家。第一,我们有什么办法避免出避免这个数据库中出现空值呢? 空值是一个非常头痛问题啊,很多时候你进行啊数据分析的时候啊,就会发现哎呦,各种各样的一些啊,缺值啊还是怎样的? 呃,这个数据啊,缺这个缺那个的,经常出现空值这样的一个情况对吧?那么怎么样才避免数据控出现空值呢?避免这样后续处理的这个数据清洗的时候出现这种这么麻烦的事情呢? 啊,这个大家思考一下。第二个,如果我只是想找出空值,又不想替替换,或者说不想提量提量替换的话,应该怎样来进行处理啊?这两个问题大家留给大家琢磨一下。那么关于这个函数本身的话呢?比较简单,就先介绍到这里,谢谢大家。


当我们在定义这个表结构的时候呢,我们知道对于字段来说,我们可以给他定义这种非空的约束,那如果我们没有定义这种约束的话呢,也就说这个字段里的值啊是可以留空的, 那么留空是代表什么呢?就是这个值有可能是缺失,或者是我不知道,或者是呢他不适用。 那么对于数据库来说呢,呃,它是用 n u, l l 这个来代表,它是一个空值叫 now。 那么空值他和我们所常见的这个数字字符串最大的一个不同,就是说由于他的这个空值啊代表的是一个不确定的值,所以呢我们不能用这个等于或者不等于去比较。 那么呢啊,数据库呢,首先是实现了专门的这个用于空值查找的这么一个运算符,所以呢这节课呢, 我们就来了解一下怎么去查找空值啊,那么我们呢从这个开始呢,我们调整一下,我们先把这个结论给大家讲一下啊,包括这个不同数据库的差异,然后呢再通过一些视力去啊给他去做一个演示。 那么首先我们来看一下这张表格的第一行, is not 和 is not not, 那这是一个标准的查找空值或者是否为空值的一个标准的这个写法,所以呢我们可以看到在不同顺购当中呢,是一个呃比较通用的一个使用方式了。 那同时呢,我们也可以看到从第二行开始呢,在于不同的数据库呢,它也有一些自己实现的一些呃比较便利的这个运算符,或者是一些特殊的函数,那么这些呢我们来看一下啊,首先呢第二行这个 is not 和 not, 其实它就相当于 是等于这个就是前面的这个 ezenome 和 eezenotenom, 那么呃这个写法呢,在 pg 和 sakelad 里头是支持的。呃,那么下面 soccer 呢,是定义了一个叫 ezenel 的函数,那是判断这个参数是不是空, 那么我们再看下一行 is distinct from 和这个 is not distinct from 啊,其实前面视频我们也讲过了, distinct 是不同的意思, 那么 is this inform 就是说比较这两个值是不是不同,对吧?那这个比较呢,是可以支持空值的,也就是说 对于正常来说呢,一是不等于二的,对吧?那么一是不是等于空呢?那正常来说我们是得不出这个结论的,但是你用这个一字 distinct from 它就 可以判断,对吧?那么他对于两个空值来说呢,他认为空值是相同的,那么这种写法呢,是在呃这个 server 和这个 p g 里头是支持的。呃,当然 circlid 也有一个类似的叫 e 子和 e 子 note, 就更简短的一个写法也是 ok 的。 那么最后一行是这样的,就是 mythical 呢,它使用了这个小于等于大于这个呢,其实就是相当于是一个等于的意思,如果是一等于一呢,它是成立的,那同时呢, not 等于 not 呢,它也是成立的,也就是这个运算符,它是可以支持空值的一个比较运算, 那么基本的这个不同数据库差异呢?就在这,接下来呢,我们来看一下视力,那么我们先来看一下啊,当我用这个等于或者不等于的这种符号呢来去 就说我用这种常规的这个判断,对吧? where 这个 marriage 等于 n u l 啊,常规的呢,就是说我用这个等于来判断没有经理的这个员工, 我们查询一下,那实际上我们可以看到他没有返回任何数据,但实际上这种方式是不对的哈,因为如果我们换成这个标准的写法叫 is not, 我们可以看到是有一个员工的,对吧?这个刘备他并没有 manager, 但是用等号呢,我们是得不出这个结论的,因为数据库当中啊,我们说了这个 number 是不确定的值,对吧?你去用任何一个值去和不确定的值去比较,包括你用不确定值和不确定值比较,那其实他这个结果也是不确定的,所以这种 写法呢,你就查不出你要的数据,所以呢,这样的话呢,我们就必须用这个专门的 is now 和 is not now, 对吧? is not now 就是相反的意思了, is not now 我们可以看到它能够得出一个相反的这个结果啊,这个就是我们 标准的一个写法,这种写法呢,在其他数据库都是一样的,对吧?那接下来呢,我们再来看一下这个刚才我们所说的一个缩写的一个方式,首先就是 is now 的缩写, 比如说 e is now, 对吧?那在 p g 当中是支持着呢?然后呢,呃, e not now 就是判断一是不是空,或者一不为空,对吧?其实我们可以看到这里的第一个返回的就是假的,如果我们看这个 它是 force, 第二个是处,也就是说一不是空,对吧?那一不是空就是真,对吧?所以这个是,呃,如果你是这样的话,那意思呢?那他肯定第一个也是成立的,对吧?所以呢,对于 pg 而言呢,是可以这么写,当然这个 sky 的也是可以。怎么写的这两种呢?当然他返回的数值是不一样的啊,他是用一和零来代表成立的,所以这是一种写法。当然我们也说了买这个呢,如果你要用这个方式呢,你可以用这个叫做 is not 函数,它也是这种下法,但是它是一个函数,对吧? is not 一不是这个空,所以它是用零来代表 force 的,所以这种方式。那还有前面我们所说的叫 is distinct from, 也就是和某某是不同的,对吧?比如说我们仍然是用这个方式 select 的心 from emp employee 就是员工表,然后查询呢,它的 manager is distinct from now。 我们可以看一下这种查询呢,它可以查询所有的不为空的数据,也就是说它的 manga id 和这个 nar 是不一样的,那其实它相当于就是 easy nar 的这个效果了 啊。那当然这种写法我们说了 p g 也是可以支持的,这张证书以后都是 ok 的。 那么对于这个 second light 而言呢,我们可以更简单的一个写法,对吧?就是, 呃,一一 is 是吧? is 呢?或者说我们这样,如果我想查找了这种 manager 等于一的人,那我们就是 manager is 一,当然你也可以写等于一也是一样的, 对吧?我们可以看到,其实它可以查找 the manager 都为 e 的,我们用这个 e 子也是可以的。 那最后我们再来看一下 my circle, 刚才我们所说了,它实现了一个叫做小于大于等于,对吧?一, 说白了,其实他就是等于的意思啊,就是判断一等不等于二,但是因为他可以支持 not 的判断,对吧?呃,哎呀呀,我们看一下,一不等于二, 二,但是 not 是等于 not, 对吧?但是如果你要直接用 not 等于 now, 这个肯定是不行的,对吧?因为 not 等于 not, 它是得不出这个结论的,但是呢,你用这种符号就是 ok 的啊,所以呢,这也是 myself 的一个扩展。 那么对以上的内容呢?如果大家想要了解更多实用的案例呢,可以去看一下我写的这本书,烧烤编程思想。

大家好,好久没更视频了,这段时间主要是实现 sqlt 数据库的真删改查卡片, 到今天基本上功能都实现了, 然后还添加了变量的一些操作, 添加了数值、支付差和随机数这三个比较常用的功能。还有就是这里添加了 在控制栏输出录制的功能,还有元素内容设置,这里暂时不演示。右侧这里是一些 新卡片的功能展示,这里可以看到加一个变量, 设置为一个随机数,然后输出到控制栏, 然后再弹出一个字母三,我们来看一下效果, 点击后就弹出了字母三, 然后这里也输出了随机数。 然后是演示一下主要的数据库操作功能, 这里展示的就是数据库常用的侦查功能。创建数据库可以自由添加每个数据类的名称和类型,目前只有这四种。 然后这个是执行之后要执行的内容,这里只做演示, 然后查询书籍的话,这里列名称,查询条件是可以自由设置制服、串数值 等等内容。然后是执行之后 添加数据的话一样也可以,这里自由设置, 都是在变量操作里面, 比如三个字我看进去就可以了。 然后是修改数据,这里是条件可以自由添加, 然后这个是将指定的数据列修改为我们指定的内容。 删除数据的话指定一个条件,然后进行删除,这个删除数据库就直接进行整个数据表的删除,这些都是可以直接修改的, 默认的话是使用当前的 id 作为数据表 和数据库的名称,可以修改,修改之后保存一下, 这里退出一下 这里就修改了, 然后因为这里是在浏览器这种颜色的,是不能执行这些代码的, 因为没有对应的环境,所以我们现在先看一下它生成的代码,后面几天我们再来直接实现,将我们之前的这个, 这个这个演示的代码 用这个卡片实现一遍, 可以看到这个代码还是有点复杂的,如果要自己写的话,今天我们来看一下它生成的代码, 可以看到它是直接给我们生成对应的数据库的真翻改查的代码的。

s q l i t 诞生于两千年,由 d richard hip 一 手创立,并担任项目架构师。 s q l i t 项目始于两千年五月二十九日,并逐渐成为了一个备受瞩目的公有领域项目。值得注意的是, s q l i t 的 全部开发者团队非常精简,仅有三个人,除了 hip 之外, 还包括澳大利亚人 dan kennedy 和软件工程师 joe miss dashkin。 dan kennedy 自二零零二年起开始为 sq lite 项目做出贡献,而 joe miss dashkin 作为 tcl k 的 维护者之一,也自一九九四年以来一直在软件行业工作,为 sq lite 的 发展贡献了自己的力量。 sq lite 是 用 c 语言编写的,这一选择并非偶然。 c 语言作为一种通用的过程式的计算机程序设计语言,具有跨平台性和高效性两大显著优势。 c 语言可以在各种硬件和操作系统上运行, 这使得 s q l i 能够轻松应对各种设备和平台的需求。同时, c 语言编辑的程序执行效率高,这也符合 s q l i 轻量级 高效的设计理念。 s q l i 的 代码不仅是用 c 语言编辑的,而且遵循了一种特定的编码风格,注重代码的清晰性和易读性,尽可能的避免了可能导致错误的编码习惯。在性能方面, s q l i。 数据库的表现同样令人瞩目。首先, s q l i 是 一款轻量级的数据库,其库文件非常小, 编辑后仅占用几百 kb 的 存储空间。这使得 sqlite 非常适合资源受限的嵌入式设备,如互联网设备、智能家居等。 同时, sqlite 不 需要复杂的安装和配置过程能够以文件形式直接嵌入应用程序中,从而大大提升了数据访问的速度和效率。 这种零配置的特性使得 sqlite 成为许多桌面应用程序和移动应用的理想选择。事务支持是 sqlite 的 另一大亮点。 sql i 支持 s 制物,确保数据的完整性和可信,在执行多个写操作时,将它们放在一个事物中可以显著提高性能。这一特性使得 sql i 在 需要高数据一致性和可信的应用场景中表现出色。总的来说, sql i 作为一款轻型的数据库管理系统, 在诞生以来的二十多年里,凭借其轻量级、高效、自包含和可靠的特点赢得了广泛的赞誉和应用。从诞生年代到开发者团队,从开发语言到卓越的性能表现, s q n i 都展现出了其独特的魅力和价值。 在未来,随着技术的不断发展和应用场景的不断拓展, s q n i 有 望在更多领域发挥其优势,为开发者提供更加便捷、高效的数据库解决方案。