粉丝2682获赞8260
达梦数据库 dm 是一种关系型数据库管理系统,主要包含以下内容,一、数据库管理 dm 提供了数据库管理工具,用于创建、修改和删除数据库,管理用户和权限,以及备份和恢复数据库。 二、数据库设计 dm 提供了一个图形化的数据库设计工具,可以用于创建和修改数据库表、所以视图等, 以及定义数据类型和约束条件。三、数据库查询 dm 支持 sql 查询语言, 可以执行数据查询、更新、删除和插入操作,同时还支持存储过程触发器和自定义函数等高级特性。四、数 数据库性能优化 dm 提供了多种性能优化工具,包括所以优化统计、信息收集、 sql 优化系统,可以帮助用户提高数据库的性能和可靠性。五、 数据库安全 dm 提供了完善的安全机制,包括用户认证、访问控制、加密存储等, 可以保障数据库的安全性。六、数据库集成 d m 支持多种数据集成方式,包括 r、 b、 c、 j、 d、 b、 c、 o、 l、 e、 d、 b 等,可以与其他应用程序和数据员集成。 以下是一些常见的数据库管理操作,创建数据库使用 dm 提供的图形界面或命令型工具,可以创建一个新的数据库。在创建数据库时, 需要指定数据库名称、存储路径、字符集等参数,还可以设置一些数据库级别的选项,如是否启用审计、是否开启自动备份等。修改数据库,可以使用 dm 提供的管理工具来修改数据库的各种属性, 如更改存储路径、修改字符及调整数据库缓存等。删除数据库使用 dm 提供的管理工具,可以删除不需要的数据库,删除前需要先备份数据库,以免数据丢失。 管理用户和权限,在 d m 中可以创建新用户,修改和删除现有用户,还可以为用户分配角色和权限,以控制对数据库的访问。 d m 还提供了丰富的审计功能,可以对数据库中的各种操 操作进行审计、记录和查询。备份和恢复数据库 dm 提供了完善的备份和恢复功能,可以通过图形界面或命令行工具进行备份和恢复操作。备份可以分为全量备份和增量备份, 可以将备份数据保存到本地次盘、网络存储或云存储等位置。在需要时可以使用备份数据进行数据库的恢复操作,以确保数据的可靠性和完整性。
我们来看一下数据库的权限说明啊,也就是达莫数据库的,嗯, 让我们来看一个,就是他说 create table, 也就是说这个是在自己的模式中创建表的权限, 这是 video 啊,这是在自己的模式中放遍视图的权限。 great user, 创建用户的权限, 然后 t r i g r 这是创建步伐器的权限, 这是在自己的模式啊,在 scammer, 在自己的 scam 跟空间,然后 ord user, 这个是修改用户的选项 or bid base 修改数据库的权限, 这是在自己的模式中创建存储过程存储的权限, 也就是表啊,视图啊,触发器啊,存储过程,这些对象为模式对象,在这个默认的情况下,所谓模式对象,你看我们打开这个 skymer, skymer 下面的这些 eartest 用户表啊,视图啊 啊,存储过程啊,存储函数啊啊 triggers, 触发器啊,这些抖尾模式。这项 在默认情况下,对这些对象的操作都是在当前用户自己的模式,因为我们创建一个用户就会默认给他,然后创建一个 test, 这个用户他就会默认有一个一对一的名,同名的一个 scammer, 也就是模式。 如果要在其他用户模式下操作这些类型的券权限啊,需要具有对应的 any 权限啊, any 权限啊, 对象权限,就主要是数据库对象当中的数据的访问权限,主要用来授予需要对某个数据库对象的数据进行操 操作的数据库普通用户啊,还有账号和密码的安全。 so next build their name sharp here bro to the dbi hoses that user name, user id, account, spiders, account letters 创建时间 created default table space, 那这就是这些用户,而这个用户就是自定义的一个用户,你看他的创建时间,其他的都是数据库安装的时候 就已经有了这些用户啊,并且都有这个默认的表空间,那么这个 test, 它这个对应的表空间就是 test, 好,通过这个可以查看出来啊。 然而 user, user 下面 我们有这个用户, 在这我们可以改一些像一些资源的限制,包括角色啊。 resource, 应该 resource 权限就比较高 啊。系统权限,这是创建什么创建对象啊? resource limit 资源限制,这是连接限制啊。 我们也可以将一个用户给锁起来,比如说我们把它锁起来, alter user 这个 test account, 这就有 look, 你这样的话它这个它这个就锁起来了,我们再来查看,你看 test 用户目前处于锁 snorket 这样一个创状态, 你可以把它解锁,解锁之后它就是 open 的 unlock 好,这个最新完成好,他就 open 好,这是这个系统权限相关的啊,就是访问控制这块系统权限相关。
好,我们回家上节课内容啊。上节课讲什么来着呢?上节课讲了一个新的数据类型。什么呢?日期类型,日期时间之类的东西,怎么个逻辑呢?首先它得有一个 类型,然后呢他得有一个眼码,眼码就是输入的时候控制,还有一个什么呢?还有一个 规则啊,验证规则,规则呢?我要求现在别的还好说啊,对于当前日期之前啊,一八零零年之后啊,这个时间固定的范围没问题,但是涉及到两个东西, 就是日出生和死亡之间的关系的时候,就就有什么就有什么事了。他出现了这么一句话,无效的 s q l 与法据法不能在一个劣级差的约束上使用多个列啊,这是人话吗? 哎,不管他是不是人话,那么我们怎么去处理他,哎, 问题就在这了,问题是什么呢?无效的 sql 距法不能在一个劣级差个约束上使用多个列,那问题就是答案是吧?为什么叫问题就是答案?你不要想着问题是什么,因为你遇到这个问题,其他人也会遇到这个问题, 他其他人遇到这个问题,他就会,他就会解决这个问题,然后呢他就会就就会有些什么方法,问题本身就是答案,对吧?问问,问题本身就是答案,那么他这块呢?就是说 无效的 s k l g 把不能在一个劣级的差的约束上使用多个列,我该怎么改?显示年龄,其实 他这块就有什么呀,这个人就回答了啊,上元集团工程部啊,都回答了,设计里头有属性表,那这个是什么意思呢?我们再仔细看看这个东西,无效的 s k l 聚法,那就是首先 s k l 聚法是一个, 是一个结构化查询语言的意思。这 sk 啊,不能在一个劣级差个约束上使用多个列。什么叫劣级差个约束?那这个东西是不是叫劣级的差个约束啊?哪一列呢?这一列叫死亡日期,这一列 死亡日期的一列。那他使用什么差个约束啊?哎,这个是他本来的差个约束,是有两个条件,他们之间的逻辑与的关系,但是现在出现了这么一个,我要使用多个列。什么叫多个列?又有出生日期, 要有死亡日期,如果死亡日期上他有他自己的差和约束,哎,他控制差死亡日期的范围,出生日期控制出生日期的范围,但是他们俩之间的这个没地弄啊。所以人家说哪啊,设计是独立的属性表, 属性表是不是也有验证规则,也有验证文本,那这个负责什么呀?就是多个列,哪多个列呢?出生日期和死亡日期的这多个列,这不就有了吗? 那,那那一定要没有双引号啊,双引号是字符串,而中国号是自断名。出生日期必须小于等于 死亡日期。那等于呢?就是当天就死啊,当天就死,所以这个就是什么?就是这个,这个,这个验证文本,那就是出生。 写一个什么呀?出生入死啊?出生入死,其实每个人都是有这样的情况,一出生那就别没没有别的事了。那就是什么呀?早晚会死,对吧?你谁不是呢?哎,出生入死,哎, 你要不出生永远不会死,但你出生了怎么样?早晚会死,早晚会死,但是你说你不因为死你就不出生了吗?那,那也不是啊,就是总而言之就得控制一下。这是出生日期,死亡日期是吧?我给挪开保存的时候也没出什么问题啊。 啊?没出什么问题啊,这是一九。出生日期是不是小于死亡日期啊? 他是大于的呀。那,那如,如果,如果是十月呢?保存一下也没有问题啊,关键 一定是哪里不对了啊?一定哪里不对。死亡日期,然后这肯定是没有这个东西了。属性表里面呢?验证文本出生日期小于 死亡日期。验证文本是出生入死小于等于死亡日期,出生日期小于等于死亡日期。我是不是得改一个什么东西,然后他才能够显示出来 出生日期,比如说是一九九二年,死亡日期比如说是,嗯,一九八二年保存,他说出生入死,对吧?出生入死, 所以这就是这样,我们编程时候很多数据库什么有问题,就是这样,他会给你一个提示,提示无效的 s q l 句法,不能在一个呃, 这个 check 约束上使用多个列,那这个东西本身就是提示,对吧?问题本身就是答案,你根据问题你就能找到答案,为什么呢?因为,因为问题本身就是答案,所以很多的这个禅宗都讲什么呢?讲,不要问问题, 不要问问题,直接就把你这个问问题的念头去掉。比如说人问如何是佛祖西来意,哎,人回答庭前百树子, 答非所问,驴唇不对马嘴。就是怎么样呢?就是要让你不要问问题,因为你一问问题,其实你就在分析,你就在,你就在用,用一套逻辑理性的东西去处理, 那这些只要有逻辑,有理性,就会产生漏洞,所以是更高一个层面。但是我们遇到的问题,那怎么办?那就问题 题本身就是答案,是吧?你,你遇到了,别人也会遇到,那直接拿原文去搜一搜就出来,那这个问题呢?就是解决了啊,解决了。那除此之外还有没有什么样的数据类型呢?哎,其实就是我们再看一看啊,再看一看右键,它 不让不让弄,是吧?为什么呢?一九变成一九九二年啊,这个位置,然后呢?保存,然后呢?设计视图,设计视图,再来一个类型,这是什么?什么什么什么类型啊?这个类型啊叫做,嗯, 叫做什么类型呢?短文本,长文本,一个 g, 长文本数字大型页码,这一般很少用到,然后自动编号,这我们知道长整形,是吧?长整形还有什么呢?还有一个东西叫是否, 这是否什么意思呢?比如说这个,嗯?是否完成作业或者什么?其实他常用一个东西是是否删除?是否删除。比如说我们看那个微信也好,微博也好,你删的东西是不是真删了? 有可能真删了,也有可能没删,这数据啊,他只要要怎么说数,互联网上到处都是痕迹呢。只他,他并不会真删你什么东西,他只是把这个东西制成一个标志位, 把这个标志位制成一,那就是什么?那就是删除了,表面删除了,实际什么样都在里头呢?那为什么呢?方便数据恢复,一旦真给删除了,你想恢复还能恢复吗?就恢复不出来了。所以他只是轻轻巧巧的制一个标志位,然后 在查询的时候呢,再对他进行一些筛选就完成了。那怎么筛选呢?比如说这是否删除这样然后呢? 我把这个,这是这个删除了,是吧?删除了,然后我再筛选。什么?筛选 yes, 呃,选筛选 no 的呗,没删除的呗。你确定是不是没删除就出来了? 哎,他这就是是否删除和是否删除很像的东西。是什么呢?是有这么一个东西。叫什么呀?叫这个 这个这个这个这个查阅类型。查阅类型。那这个查阅类型是什么意思呢?我们下次再说。
上节课我们学习了数据表基本操作中的数据表的创建和查看。本节课我们主要学习数据表的修改和删除操作。首先我们来学习如何修改数据表的表明。 在数据库中,不同的数据表是通过表明来区分的。在 myserk 中,修改表明的基本语法格式如下所 是, alter table, 旧表明 rename to, 新表明封号结束。 在上述格式中,旧表明指的是修改前的表明,新表明指的是修改后的表明,关键字 to 是可选的。七、在 soccer 语句中是否出现不会影响语句的执行? 我们举个例子,将数据库智能科技的表 teacher 表名改为智能科技下划线 teacher。 首先使用 show tables 语句查看数据库中的所有表,执行结果如下所示。 上述语句执行完毕后,使用 alter table 将 teacher 表明改为智能科技下划线 teacher。 circle 语句如下所示, alter table teacher rename to 智能科技下划线 teacher 封号结束, 未检测表明是否修改正确。再次,使用 show tables 语句查看数据库中所有表,执行结果如下所示。在 my circle 运行环境下,输入 show tables。 从上述执行结果可以看出,数据库中的 teacher 表明 被成功修改为智能科技下划线 teacher。 接下来我们学习如何修改自断名。 数据表中的字段是通过字段名来区分的。在 myselco 中,修改字段名的基本语法格式如下所示, alter table 表明 change, 旧字断名,新字断名。新数据类型。在上述格式中,旧字断名指的是修改前的字断名, 新字段名指的是修改后的字段名,新数据类型指的是修改后的数据类型。需要注意的是,新数据类 类型不能为空,即使新字段与旧字段的数据类型相同,也必须将新数据类型设置为与原来一样的数据类型。我们举个例子, 将智能科技下划线 teacher 表中 id 字段改为 word id, 数据类型保持不变, circle 语句如下所示。 通过 d, e、 s、 c 语句查看智能科技下划线 teacher 表的结构,执行结果如下所示, 字段名可以修改,字段的类型也是可以修改的。接下来我们 看看如何修改自断的数据类型。修改自断的数据类型就是将自断的数据类型转换为另外一种数据类型。买 circle 中修改自断数据类型的基本语法格式如下所示, alter table 表明 multify 自断名新数据类型 在上述格式中表明,指的是要修改自断所在的,表明自断名指的是要修改的自断。新数类型指的是修改后的自断的数据类型。 使用 alter 语句修改 work id 字段的数据类型, circle 语句如下所示, alter table 智能科技下划线 teacher model buy work id int 八、 为了验证 walk id 字段的数据类型是否修改成功,再次使用 d, e, s, c 查看智能科技下划线 teacher 数据表,执行结果如下所示, 数据表中的自断是可以添加的,接下来我们看看如何添加自断。在买 circle 中添加自断的基本语法 法格式如下所示, alter table 表明 a、 d、 d 新字段名数据类型约束条件, fast after 已存在的字段名 在上数格式中,新字段名为添加字段的名称, first 为可选参数,用于将新添加的字段设置为表的第一个字段 after。 已存在的字段名也为可选参数, 用于将新添加的自断添加到指定的自断名的后面 我们举个例子说明一下。在智能科技下划线 teacher 表中添加一个 没有约束条件的 int 类型的字段, age circle 语句如下所示。使用 d e s 语句查看数据表。智能科技下划线 teacher 执行结果如下所示。 已经添加的字段也是可以删除的。接下来我们一起学习如何删除字段。 所谓删除字段,是指将某个字段从表中删除。在 myserk 中删除字段的基本语法格式如下所示。 alter table 表明 job 字段名。 在上述格式中,自断名指的是要删除的自断的名称。我们举个例子,删除智能科技下划线 teacher 表中的 email 自断 circle 语句如下所示。 auto table 智能科技下滑线 teacher job email 封号结束。使用 d e s 语句查看智能科技下滑线 teacher 表,执行结果如下所示。 最后我们来看看如何修改字段的排列位置。在 my circle 中,修改自断排列位置的基本语法格式如下所示。 alter table 表明 modify 自断名一数据类型, first after 自断名二。 在上数格式中,字段名一指的是修改位置的字段数据类型指的是字段一的数据类型。 first 为可选参数,指的是将字段一修改为表的第一个字段。 after 字段名二是将字段一插入到字段二的后面。我们举个例子,将智能科技 teacher 表中的 name 字段修改为 表中的第一个字段, circle 语句如下所示。使用 d, e, s, a 语句查看数据表智能科技 teacher 执行结果如下所示。 我们再举一个例子,将智能科技 teacher 表中的 word id 字段设置在 age 字段之后。 circle 语句如下所示。 使用 d, e, s, c 语句查看数据表智能科技 teacher 执行结果如下所示。 删除数据表是指删除数据库中已存在的表,在删除数据表的同时,数据表中存储的数据都将被删除。 在 my circle 中,直接使用 drop table 语句就可以删除没有被其他表关联的数据表。 其基本语法格式如下所示, job table 表明封号结束,在上述格式中表明指的是要删除的数据表。 我们举个例子,删除智能科技 teacher 表 circle 语句如下所示。 job table 智能科技下滑 信 teacher 封号结束。使用 d, e, s, c 语句查看数据表,执行结果如下所示。 同学们,这节课我们学习了数据表的修改和删除操作,今天的学习就到这里,我们下节课再见。
在学习 circle 的过程当中,你是否也遇到过跟我一样的问题?第一个这样这样的错,还有这样的错,还有下面的两个这样的错。 hello, 大家好,我是陈宣忠讲,那今天我们就来讲一下什么呢?讲一下 update 语句常见的一些错误, 我今天一起来分享一下,然后大家可以看到我这个数据库呢,我是还是用了这个 still detail base 来做的例子, 然后呢我们选择了这个 student info 这个学生信息表来做这个啊错误的演示。然后我们这里呢有一二三四五个 update 语句,但是这五个 update 语句呢,它都是有问题的,那我们来看一下他们的问题是 什么?第一个,第一个错是 update student in student student in four set class id 等于一般 we are still id 等于一,那这个呢?是什么呢?这个是我要看,我们先看字面意思啊,看他的这个 secure 这个代码要表达这个含义, 它是要修改 student 一波这个表,然后呢把它的这个 class id 这个列设置成一般 什么情况下去设置呢?这个啊,学生 id 就 id 等于一的这个人给他设置,给他修改这些东西,然后我们来看一下,然后这个时候当我去执行的时候,他就出现了,哎,错误了,下面包红了,他提示我们什么呢? 啊?再将 verchar 值一般转换成数据类型 in 的行驶失败,这是我们在刚刚呃, 接触这个 circle 的时候非常非常容易啊出现的一个错误,它这个是什么呢?就是几个字,我们来表达一下,它就是什么呢?类型数据类型不匹配, 数据类型不匹配,也就是什么呢?它,它只需要,它只需要一个,它需要一个 inter 型的,但是你给了它一个 watch 型的,所以说这个时候它的数据类型就不匹配了。那我们来看一下怎样看它正常的数据。 正常的数据是这样的,那我现在呢?我把这个 class i, 把这个 class id 再给它改一下,是吧?我给它改成什么呢?啊?它正常是是一,那二,我们把它改成一,是吧?所以说正确的写法就应该是什么呢?以下这 以下是以下是正确的写法。然后呢,把它复制下来,把这个一八改成 一就可以了,然后我们来执行一下, ok, 一行受影响,我们再回过去看那条数据,你看他就更新成一了,说明我的这个阿飞的语句执行成功。那第二个,第二个其实他也是一样的道理。 第二个它也是一样的道理。第二个它是什么呢?同样是把这个 word 恰值的这个二十五岁转换成 in 的行驶失败,因为什么呢?因为我们来打开这个。呃, student effort 这个表,我们打开它的设计器。 嗯,在这你看我们可以看到什么呢?我们可以看到它,这个啊,叫什么呢?叫 这个 c a g, 它是一个 inter 型的数据类型,所以当这个时候我们要非要给它转换成一个什么呢?啊? word 恰型的,那就不合适。所以说这个时候我们需要把它改成什么呢?需要把它改成 啊 inter 型的二十五,那这个时候我们再去执行它执行成功。那我们看到这两个他都是什么呢?都是数据类型不匹配。第三个,我们来看一下第三个是什么?第三个呢?我们要要把这个啊,我们先看下这一条数据哈, 第一条数据,那第一条数据呢?它的这个 mobile phone 呢?是这个,我们现在要把它改成这么长,改成这么多,我们来看一下啊,它为什么出错了?这个地方。将截断字符串或二禁字数据,这个是我们日常 常的这个开发当中写 circle 语句当中非常非常常见的一个错误,他很简单,但是他很常见,常见到什么程度?就是我们在做开发的时候,就是你再从程序端去写入数据,去做这个 insort 或者是 abit 语句的时候呢?哎,经常会出现将截断二 二,将截断制服创或二进制数据,他这个意思是什么呢?就是你的截断吗?将截断说明你的长度,长度。 哎,这怎么回事啊?长度不够,也就是说我们给他的是一二三四五六七八九十十一,十二十三十四位。但是呢?这个什么呢?这个我们打开这个 student 应付,这有点小,不太好看。我们还是回到这, 我们来看这个风吻,他最长是接收十三位,接收十三位,但是我们给了他一个,给了他多少位?刚刚数了一二三四五六七八九十十一,十二十三十四。 给了他十四位,所以他就超出了长度,这个时候语句中指,然后就包错了。所以我们在做的时候一定要存数据的时候,一定要知道你这个数据他最长接收多少个字符, 最常接收多少个字符。这个还要确定你是用的是什么呢?是用的 enverchar 存的还是用 verchar 存的?你的这个,呃,文本字母串儿, 那这个就是这个问题,那我们要怎么样去修改呢?你要修改到他符合他的标准,符合他的标准。我们来看一下,我们把它改成一二 三四五六七八九十十一十一位,我们来看, ok 不?哎,这个时候就可以了,然后我们来再来使劲的等于 for 一下, 那我们来看一下,他就改成这个了,他的长度你一定是什么呢?要符合符合你 所规定的长度。制服长度。这个地方要注意什么呢?但那个叫什么?呃。 word char 和和 n one 差的区别,因为 one two 和 n one 差,他他们之间是有区别,他存储的这个长度是按照那个字节和他本身字符的长度来算的啊。如果想看这两个可以回过头去看一下这个在讲那个。呃,数据类型的时候,这个 讲了这两个的它的区别和一个用法,这咱们就不讲了哈。然后下一个,下一个是什么呢?在这个地方我们来看一下这个什么呢? 这个也错了,你看这个地方从支付串转换成日期或者是时间格式的时候转换失败,因为这个 birthday 这个变量呢?它是一个, 他是一个什么?他这个 detatime 类型的,他是一个长数长时间的一个数据,那个日期类型,所以说呢?长日期类型,所以说这个时候你给他这个,他是不识别的,这个也叫什么呢?也叫类型不匹配 也,这个也叫类型不匹配。所以说正确的时候我们应该把它改成什么呢?改成它所识别的,它所识别它。是。诶,这 怎么回事?它所识别的,它所识别的, 他所识别这个数据类型,就是咱们再来执行一下, ok, 执行成功。那最后一个,最后一个也非常常见,就是在刚刚啊,在学这个的情况下,非常非常模糊不清的是最后一个东西,这个东西它是什么呢?我们来看一下 无法更新标识列, teacher id, 标识列是什么?标识列就是我们把它叫做无法更新 标识列,标识列,我们又把它叫做自增列,这个自增列是什么意思呢?就是可以不需要手动复制,他会自己生成,他会 自己身份,也就是说当你有,当你有这个至尊列的时候,你是不可以去,不可以去手动的去修改他,给他复制,或者是怎么样的去手动去呃,改变他。我们看这个表, 我找到我的这个 teacher teacher 这个表,然后我们可以看一下它在这个位置,在表设计里面我们可以看到它有一个什么呢?它有一个 啊,这个标识标识范围,标识规范,标识规范,当这个标识规范设置为是的时候,那就说明你这个是一个标识列了,你就不可以去再修改它, 你就不可以去再修改它。那今天的这这一部分呢,是我们比较常见的,对啊,初学者而言比较常见的一个 update 里面出现会出现的一些错误,当然还有更多,咱这里肯定是没有举,没有 举例完整的,后面还会有更多,比如说他的呃,长,他的那个列的长度呀,就是数据类型和个数呀,个数和那个顺序呀,都跟这个 update 有关。这个我们放在下一节来给大家分享,今天就到这里。
msql 常见错误代码及代码说明幺零零五、创建表失败。幺零零六、创建数据库失败。幺零零七、数据库已存在创建数据库失败,小于等于可以忽略。 幺零零八,数据库不存在。删除数据库失败,小于等于可以忽略。幺零零九、不能删除数据库文件,导致删除数据库失败。幺零幺零,不能删除数据目录,导致删除数据库失败。 一千零一十一、删除数据库文件失败。一千零一十二,不能读取系统表中的记录。幺零二零,记录已被其他用户修改。一千零二十一、硬盘剩余空间不足,请加大硬盘可用空间。一千零二十二、关键字重复更改记录失败。 幺零二三、关闭时发生错误。一千零二十四、读文件错误。一千零二十五、更改名字时发生错误一千零二十六、写文件错误。一千零三十二,记录不存在。小于等于可以忽略。一千零三十六,数据表是只读的,不能对它进行修改。 幺零三七、系统内存不足,请重启数据库或重启服务器。幺零三八、用于排序的内存不足,请增大排序缓冲区。 一千零四十、已到达数据库的最大连接数,请加大数据库可用连接数。幺零四幺,系统内存不足。一千零四十二,无效的主机名。一千零四十三,无效连接。一千零四十四、当前用户没有访问数据库的权限。一千零四十五 五、不能连接数据库用户名或密码错误。一千零四十八,字段不能为空。一千零四十九、数据库不存在。幺零五零,数据表已存在。幺零五幺,数据表不存在。 幺零五四,自断,不存在。一千零六十二,自断值重复入库失败小于等于可以忽略。幺零六五,无效的 sql 语句, sql 语句为空。幺零八幺,不能建立 socket 连接。 一千一百一十四,数据表已满,不能容纳任何记录。一千一百一十六,打开的数据表太多。幺幺二九,数据库出现异常,请重启数据库。幺幺三零,连接数据库失败,没有连接数据库的权限。一千一百三十三, 数据库用户不存在。幺幺四幺,当前用户无权访问数据库。一千一百四十二,当前用户无权访问数据表。幺幺四三,当前用户无权访问数据表中的字段。一千一百四十六,数据表不存在。 幺幺四七,未定义用户对数据表的访问权限。幺幺四九、 sql 语句语法错误。幺幺五八,网络错误,出现读错误,请检查网络连接状况。 幺幺五九,网络错误,读超时,请检查网络连接状况。幺幺六零,网络错误,出现写错误,请检查网络连接状况。幺幺六幺,网络错误,写超时,请检查网络连接状况。一千一百六十九,字段值重复, 更新记录失败。一千一百七十七,打开数据表失败。幺幺八零,提交失误,失败。幺幺八幺,回滚失误,失败。幺二零三、当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库。 幺二零五,枷锁超时。幺二幺幺,当前用户没有创建用户的权限。幺二幺六,外界约束检查失败,更新此表记录失败。幺二幺七,外界约束检查失败,删除或修改主表记录失败。 幺二二六,当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器。幺二二七,权限不足,您无权进行此操作。幺二三五, mispol 版本过低,不具有本功能。更多小知识欢迎点赞关注!
大家好,我们在之前的视频曾经介绍过 secure 的一些数据类型,呃,包括整形啊,呃浮点类型啊,包括呃字谱串类型这些, 那么今天我们要介绍一种特殊的数据类型,呃这种类型呢是其实是我们自定义的一种数据类型啊,叫做用户定义表类型, 那它就有点像是我们在西双里面的呃 data table 的数据类型啊,说白了就是一个数据级的呃类型,这种类型 在呃是个社会二零零八之后才有的,在之前的版本是没有,那他的那个呃建立的方式就是下面这一段了, 和我们建一个表的形式是有点类似的。那么这种数据类型呃主要用在什么地方呢?一般是用在我们的传出过程呃输入参数的定义, 也就说我们可以让我们的穿出过程呃得到一个数据集合的参数。 那接下来我们就举个例子吧,啊,我们使用这个数据库, tsd 这个数据库,然后我们看 像这里啊,我们用入手表吧,用这张表来作为我们的呃这个定义表类型的啊一个模板, 也就说我们以 user 表这个表结构来做它的表结构 啊,我们先把这些字段啊入手表的这个这些字段先复制下来, 然后呢我们找到这个 这个地方,然后找到一个类型类型,下面呢找到用户定义表类型这一个节点,然后右键 啊右键它新建一个,呃定义表类型,然后呢我们把这些这些多余的删掉, 这些说明的先删掉,然后呢给它呃这个表类型,给它呃一个名称,就是一个类型的名称,呃就叫做 user user t 吧,啊,就叫 user t 好了。然后我们把那个刚才啊刚才的那个入手表的这些字段粘贴到这边来,让他和 和优色表的表结构是一样,然后我们仔细一下,好了,现在就建立完成了,我们刷新一下看看。 好,看到这个就是我们刚才新建的一个呃表类型的呃自定义类型, 那接下来我们就以这个类型来定义一个穿着过程的输入参数啊,我们找到这个 这个过程我们修改一下,修改一下这个穿着过程啊,先给他一个输入参数名, 呃就叫参数吧,啊,这个参数用中文中 文明来来来定义吧,然后把这个类型的名称复制一下啊 ust, 然后给它定义。 呃,接下来我们就给他一个 呃处理的方法,就就查询出这个呃参数,呃,因为他其实在这个地方其实相当于一张表了,我们就查询他呃这张表的呃记录, 然后我们直行啊,这里定义那个参数的时候,我们呃这个地方一定要有一个呃 we only 的这么一个注视,也就是说这个表类 行,他必须是只读的。好,我们重新执行一下好了,现在就可以了。 呃这个类型作为呃存储过程的参数必须是有一个 mi only 的定义啊,这个要注意 啊,那么接下来我们举一个例子,我们先用这个表类型来定义一个变量啊, d d, 然后呢?呃我们再给这个变量插入一条记录, 因为这个变量相当于一张表了吗?给它插入一条记录,然后呢我们再用这个变量作为一个时餐来执行一下我们刚才的传统过程,呃, 这个就是我们刚才的例子,我们执行一下看看啊,好,大家看到得到的结果就是这么一条记录啊,这条记录其实就是我们刚才给这个变量 dd 插进去的这么一条,呃,记录。好,我们在呃 再给这个传球过程增加一些呃语句啊, 因为我们刚才说过了,其实我们这个表类型是以 u 舌表啊 u 舌表的表结构 来作为它的结构的,现在我我们就把这个入手表呃给它插入一条记录,那么这条记录来自于什么?来自于我, 我们的呃这个参数就是我们刚才定义的这个参数,也就是说把它我们刚才的这个滴滴变量的记录啊插到我们的入手表里面, 就是这么一个操作。 呃,然后呢,我们再呃再显示,再把那个入社表呃显示出来, 这就是这个传出过程的一个啊功能。 我们啊先看一下啊,我们先看一下这个入社表,现在入社表只有一条记录啊, 我们执行在这个穿着过程啊修改好,修改好之后我们在呃这个直接执行就行了。 好,执行完成,我们看一下下面的呃第一个结果,第一个结果其实是我们呃把这个参数显示出来,呃系列出来的这么一个结果。那么第二个结果呢? 呃,就是我们把入手表啊写列出来的结果,这个表类型的用法啊,大概就这样,呃,这种类型一般来说我们是用作 存储过程的参数啊,用的比较多一点,因为在 secure 二零零八之前的版本, 呃是没有这样的类型的,我们程序要给传轴过程传餐的时候啊,传一个多行记录的,呃参数的时候是比较麻烦的, 那么有了这个类型之后呢,我们就可以把我们的啊,比如说西双里面的 data table 这个类型直接的转化成一个时餐,就可以传到我们的那个全球过程的呃 参数里面来,然后给穿着过程执行一些呃特定的代码,那么我们就可以减轻一些呃 数据上处理的麻烦呢啊,但是它本身也有一个比较麻烦的缺点啊。呃 刚才我们也说过了啊,表类型,一般来说是啊,复制我们呃数据库某张表的表结构的,那么如果说我们这张表的表结构在呃我们开发的过程中 啊需要修改,那么同样的我们这个类型的表结构也必须要去修改,但是这种类型呢,在 secure 二零零八这里是不允许修改的啊,他是不允许修改,我们要修改怎么办呢? 呃我们只能把它删掉,删完了之后重建啊,重建呢就相当于我们要重新修改一次了。呃我们还是举个例 是吧?呃他怎么麻烦的一个操作?我们举个例子来说一下 好了。我们找到这个呃类型,然后呢?右键啊,我们找不到吧?找不到。呃找不到。修改,找不修改的操作,我们只能是呃右键它, 然后找到删除啊,然后呢?呃给他确定删除啊,但是这里包错了,看到没有? 为什么会爆错了?我们看一下。呃下面这个依赖依赖像这里,在这个地方我点开进来看一下啊,看到了吧,这个地方因为这个传除过程呃引用了这个类型而用了这个类 类型,所以我们没办法删除。那如果我们真的要修改这个类型的怎么办呢?必须要在这个穿出过程我们找到这个穿出过程点修改啊,把这个 类型就是有关我们要要修改的那个,呃用户定义类型啊,表类型给他全部注视掉, 也就说我们不用这个类型了,注视掉注视掉之后我们才能够去去删除,但这样的操作是,呃非常麻烦的。 呃比较快捷的方法,方法就是我们呃把这个传出过程也删掉,然后我们再去删这个表类, 当然了这个传出过程如果删掉我们呃后面要重写的话就很麻烦。所以呢在删这个传出过程之前,呃我们先备份一下,把这个传出过程备份好了,然后我们再去删啊, 以这种方式来来处理我们先,呃先备份一下啊,先把这个传出过程备份备份下来,然后呢我们就把这个传出过程给删掉, 然后我们再去把这个类型啊用户定义类型表类型给删掉啊,现在就删掉了,删除之后我们再的右键啊重新建一个, 就是这个啊啊这个啊直接现在啊,我们,呃需要修改些什么字段?我必须要增加字段,我们就在这个下面增加 增加一些字段或者删除一些字段,这就是修改吗?修改完我们就保存就好了啊。执行啊,修改好之后我们执行一下, 执行重新建立这个用户定义表类型啊,这个表类型建完之后呢,我们,呃找到我们刚才的传出过程备份出来的这个传出过程, 然后直行啊啊对这个地方是啊,这个地方是我们啊,这个是修改的命令,我们要有一个创建的命令,因为我们刚才已经删掉了 用创建,然后重新再创建这个传出过程,那么这样我们才能够呃,最后的把这个呃用户定义表类型给修改过来,所以他要修改的话真的是 很麻烦。如果说我们呃有十几个穿着过程引用了他,那么我们就必须要把这十几个穿着过程全部删掉重新建立,那是非常麻烦的一件事情,所以用不用这个类型呢?呃, 大家考量一下吧。好,那么今天的视频呢就先到这里啊,感谢大家收看,谢谢。
好,那我们前面讲的这个达目数据库的啊,这种两 两类备份的方式,一个托基备份,一个年级备份啊,那我们现在也有备份级啊,也有备份级。那么接下来我们就来看一下这个达摩数据库当中如何来进行一个还原啊?当然通过,嗯,这个, 但是通过这个客户端工具呢,它这里面就比较方便啊,比较方便 进行备份和还原还原了这个操作啊。嗯,这无论是备份还是还原,通过这个客户端都很方便,但是我们今天要讲的主要还是 啊,这个这种方式就是 mini 行的这种方式,因为高频使用的应该还是 mini 行,要偏多一点啊。 always, 然后执行还原操作之前你的数据库啊, 得是停止的一个状态啊,所以我们先把数据库实力先把它给 store 掉, store 掉之后,我们借助 d m r m 这工具啊,呃, 虽然 d m m 它是脱机备份的一个工具,还工具之一,还有 conser 是吧? 呃,但是我们执行还原的时候还是用这个 d m r 们来进行一个还原啊,恢复的一个操作。那么我们因为执行 之前演示的时候都是用的库的一个还原啊,库的辈分,所以今天还是讲这个库级还原和恢复啊, 库库级别的,当然还表空间级别啊,表级别的,对吧?嗯,库级还原与恢复,那么它这个主要有三步走,先是还原还原就是 restore 操作, 还原之后就是一个恢复啊,恢复恢复就是 recover, 然后再要执行一个更新数据库魔术, 这是一张 update magic, magic 表示这三步骤我们先进到这个 arm, 首先 restore 啊,最新 restore ah, yes, sure are you later base? 配置文件等路径 bro back up set 这里就是干巴 啊,这个 back up four, 那我们得先要知道啊, 通过这里可以看到我们库级辈分的也还是哪一个和之前也。 哦哦,这个已经已经断掉了啊,断掉了,之前那个已经断掉,也就是这个应该存在啊,这个应该是存在的, 可以验证一下。 嗯,这个还在,所以我们就以它以这个备份机 好。 restore successfully 啊,这是第一步操作,第二步操作就是 recover 啊, recover 这个操作基于规定 档的恢复啊,我们先 recover database, 同样指定达目点 i n i 文件。这下面呢?那就不是这个操作了,下面就不是这个内容,我们要基于归档恢复,所以就是 v 字 what arch 嗲啊,那我们归档日制,它的一个路径就在导航八 arch 这个路径下面,那我们先 recover。 那 recover 也是个 saxophone 啊,那接下来就执行这个最后一步操作,就是更新数据库魔术了, 同样是用 recover 的关键字,这里面后面的字后面的不一样都要带这个 d m d i n i 就是数据库的配置文件。 update, update, 这个 d b magic 啊,就是数据和魔术啊。 recover successfully, 那就说明我们这个就已经完成了备份和还原啊,应该之前应该删一张表是吧?删一张表,你现在再进行还原,看那个表有没有恢复过来。 当然你如果你这些命令你执行的过程当中没有报错,那你你这个就完全就是正常操作了啊,就是,呃, 嗯,这个还原与恢复啊,就已经成功的完成了。嗯, 所以这是基于归档的这个还原与恢与恢复啊, 这个数据库魔术更新之后你像表空间呢?表啊,这些备份机都没用了啊,也就是说之前的那应该都应该把它删掉啊。呃,因为他已经没法再使用了啊,也就是说,呃, 表空间备份机啊,不能使用,只只有同一数据库魔术的备份机才能做还原与恢复啊。 你现在已经把它更新了,更新了,你原来的那个他的数据和魔术跟你现在的这个他肯定就是不一致的,不一致你就没法进行还原与恢复。
接下来呢我们来看一下 dml 操作中的数据修改,也就说呢,来看一下如何去修改 msico 的数据。这个修改数据很常见,比如说我们在这个,呃,这个学生信息里边,对吧?有的信息呢填错了,或者有的信息呢需要更新,对吧?我们需要修改, 或者说我们再去网上购物的时候,比如说你的购物车,你的数量啊,对吧?或者说呢你再去这个,你再去下订单的时候呢,你的个人的这个收货地址呢,可能也涉及到修改,这个呢都属于修改操作, 那在我们的麦斯扣里边呢,修改这个数据库的操作呢?关键字是啊不对特,他有两种写法,一种呢是直接啊不对特,你看后面跟上一个表明,然后呢赛特,赛特的话呢,表示我要去设置,对吧?那么设置哪个 列?这个地方有个字段,名字段就是列啊,然后给这列设为什么值?对,这就是我们的给某一列设为某某个值, 如果说呢,你还有其他的列要设置,中间加上一个逗号,然后呢再另外一个列,然后再这个值他是这样去写的好了,那么这个如果说这种方法来修改的话呢,实际上他会把整个表里边所有行的数据呢都修改, ok, 那么下面这个的话呢,就是我在修改的时候呢,我可以在后面加上一个条件,那加上的条件呢,就意味着只有满足条件的自断,他的值才会为修改 好,这是这样的一个情况,那比如说下面有些例子,比如说我将所有的学生的地址呢修改为重庆,你看阿伯蒂斯丢的呢赛的奥德周 s 等于重, ok, 这是这是一个非常简单的一个应用,那接下来我们把下面这些例子呢都给大家写一写,我们呢直接来操作一下,好,在这里的话呢,我把这个注视呢直接拿过来啊,然后呢咱们在这里的话呢,咱们来直接操作啊,接下来的话呢就是数据修改, 说句修改,说句修改的话呢,咱先看他的格式,好吧,咱先看他的格式啊,格式的话呢,在这里 格式 ok 啊,这是格式一啊,然后接下来再看格式二, ok, 好,那接下来我们根据我们的条件呢来去做啊,首先的话呢,我们的第一个条件,对吧?是这个啊,第一个音,第一个这个问题是这个,然后把这个第二个和第三个也复制过来,这是第二个。好,然 后的话这是第三个,把它拿过来,然后之后呢,咱们来依次来看一下,第一个给他标一下啊,一逗号, ok, 二 三等会, ok, 这个字写错了,将, 好,将所有学生的地址呢修改为重庆,对吧?将将所有学生的地址修改为重庆, 那这个时候的话呢,我们就可以使用格式一,他不需要加条件,他就会把所有满足啊,这个情况的数据呢都给他修改为这个 重庆,那怎么写呢?咱们看一下,这样写啊,咱们呢?嗯,缩进一下啊,咱们这样写,阿布迪特 u p 啊,第一题,阿布迪特,阿布迪特。然后呢修改哪个表呢?丢掉他这个表,对吧? ok, 然后的话呢修改哪一列呢?赛特啊,赛特。修改哪一列呢?修改奥德 dress 这一列。修改什么呢?修改为重庆, ok, 写完了直接加分号就可以了,就这么简单啊,咱们来看这个数据啊,注意这个数据的话呢,你看这个和这个不能同时看,是吧?你可以把它拖出来看,拖出来放在这个位置,然后呢这个时候呢,我们可以把这个窗口拿过来,把这个窗口拿过来啊,放在这个位置,我们来看一下。 好,放在这里,咱们来看一下啊,左边的话呢,是直行的语句,对吧?咱们可以直行语句,看右边那个效果来看一下。我呢现在是 这个数据,我来执行一下这条语句。执行执行完之后呢,我们在这刷新一下,点文件刷新好,你会发现啊?发现什么呢?发现这一列是不是全部变成重庆了? 这个的话就是第一种,就是我没有加条件,他会把这里所有的裂的话呢都改为重庆, 这个很显然有的时候不符合我的需求,对吧?那所以说我接下来用第二种格式,就是在后面加上一个 wy 条件, ok, 你看将幺零零四的学生的这个地址改为北京。幺零零四是谁呢?幺零零四是这个,对吧?他这个地方是重庆, 我得改为北京。这地方改北京怎么改呢?咱呢直接啊不对他,对吧?然后 student, 嗯,然后赛特额的 dress 等于什么?北京好, 然后的话呢?你加威尔不?加威尔的话呢,他会把这个所有的数据都改为北京,就这一列啊?加威尔威尔的话是条件,这个条件怎么写呢?我想把这个 id 为幺零零四的数据,对不对?我想把这个 id 为幺零零四 sidi, 幺零四的数据呢改为北京。 那好,在这里我们可以写的 sid 等于什么呢?幺零零四,这,这是一个数字啊,价格分好, 甲分好之后呢,我们来执行一下,走, ok, 在这里刷新一下。好,你会发现 他是不是已经改为北京了啊?这就是修改指定指定条件,对,这个威尔这个条件其实可以写的很复杂,咱们后期的话呢,专门会给大家讲这个威尔条件,你比如说我还可以去设置一个范围,你看我再把这个代码再付一份,站在这里, 别说我想把这个 id 呢?呃,咱们看这个数据,把 id 呢大于幺零零四的,对吧?来改为这个改为这个,呃,改为这个上海,好吧,大于零零四的改为上海。注意你还可以写这样的一个条件,大于他的那都改为上海。 也可以啊。上海。好,咱们来试下这条渔具执行。好,在这里刷新。你看是不是大于幺零零四的是不是都改为上海了?好,这是我们的第二个啊,这是我们的第二种格式,加微量条件。 那还有一个点,我们刚才的话修改的时候是不是只是修改一列啊?那我能不能同时修改两列呢?可以的,咱们试一下修改两列,看最后一个将 id 为幺零零五的学生,他的地址 修改为北京,成绩修改为一百,那这时候怎么做呢?呃,我们呢可以修改两列,对吧?啊?不对,他啊, student, 然后赛特地址修改北京,就是奥特抓 f 等于什么?等于北京,然后呢?这个地方成绩修改为一百,怎么办呢?注意加逗号,你看如果你有多个列要修改,就是加逗号,然后修改哪一列啊?需要思考,列 给他值,稍微紧张,稍微稍微一百,注意如果不加条件的话呢,所有的这个行的数据都会修改为这两个值,所以说我们要加条件 ware, 为什么呢? id 等于幺零零五,是不是这样的?好,这个改为幺零零五就可以了。 好,我们来拉一下。好,改幺零五之后呢,我们来执行下这个数据。执行一下 啊,执行之后呢,他说呢,你看这里边有个报错,注意,只要看到这个什么什么不是 ok 的,就是幺零五四什么之类的,就是不认识的列啊,这个 id 对吧?那这里的话呢,我们写错了,应该是 sidsid, ok, 再执行一下 啊,执行之后呢,你看这里边呢一,一般出现这个就表示没什么问题,他影响了一行。好,在这我们来刷新。你看啊,这里边的话呢,呃,我把他的地址修改为北京,你看我这边写的对不对啊?幺零零五啊,这还幺零零五啊,在这里你看是不是修改北京,而且成绩是不是改为一百, 这时候我是不是修改了两列呀?对吧?我修改了两列,而以前的话呢,只是修改一列,现在我可以修改这一列, 还有这列你也可以修改,三列四列都可以的,只要中间加逗号就可以了。好,这个的话就是所谓的, 呃,所谓的更新操作或者要修改操作,我们呢一般后期要加这个,后期的话要修改的话一般都需要加条件,他可以将你指定的列修改为指定的值, ok, 获得我们的奖励。好了,那么关于呢,我们这个呃如何呢?实现这个数据的修改啊,咱就先说到这里。
他们现在说一下数据库里面的数据类型啊,也就是在数据库里面,我们会建好多张表,会建表在里面,每张表里面都有好多不同的字段哈。每个字段都有自己专属的类型, 都有自己特别的类型。也就是你见这个字段,比如你见这个字段是数值类型的,那么你这个字段里面就只能放数字,不管是整数还是小数。但是里面就不能放字不串了啊,字不串等这个比如名字啊等之类的这样的, 或者英文字符啊,这样的这些值你就不能放在这个字段里面了,否则他是会爆错的哈。也就是你这个字段里面,你不能既放这种类型的数据,又放另另一种类型的数据啊,这样很乱。数据库里面在设 也是不允许这个样子的啊。像数据库里面的数据类型,大体上分为这几种哈,常用的就这几种。常用的是这几种哈,比如竖直竖直类型, 数字类型是不算是不算类型,日系类型,他就是一种大对象,大对象类型。 常用的也就是这几种哈。像还有很多,还有很多的其他的类型。像这个二维口库里面大概是有有二十多种吧,二十多种类型,但是常用的也就这四种。 了解了解,这四种也一般够用了,可以满足你的正常使用了。像这个数值类型 里面有包含整塑形和小塑形,是区分开两块的哈。比如整塑形的一般是 inter, inter 或者是小塑形,里面有福利,也叫福。典型有福老特,福老特 double, double 或者是 nanbernanberg 类型,这个 nanberg 类型里面是可以传两个参数的啊。这个类型这个口号里面可以写两种,比如三四,这个两个可以任意写。这个是我随便写了一个三和四。 他这个三的意思就是你这个数值,你这个数值整数部分可以有三位,小数部分是四位,就是少定了你这个数值的。一个整数部位是多长,小数部位是多长 哦,这样可以固定写的,根据自己的实际需求可以改动这两个,把这个数字手动多长哈。 好。字不转类型字不转类型分为叉类型,窝叉、窝叉兔里面是可以锁定字不串的长度,比如一百,这就是字不串的长度是一百,这个也是可以设置的。叉也是可以设置的。 这两种类型这个叉和弯叉都是自不转类型,他的差别是啥的?他差别就是像叉类型,这个叫也叫固定长度自不转, 固定长度自不转。这个弯叉吐叫可变长度自不转。但这个像这个叉类型,这个自不转 跟这个弯插兔他的区别是啥?他的区别, 他的区别也是像这个下。现在有好多的数,现在的现代的数据库里面一般都会保留这个自然类型, 有些 有些库里面,有些库里面可能没有这个叉来想啊,有些库可能没有,但是大多数数据库里面都会保留这个, 因为这个窝插兔它属于可变类型,可变类型的是完全可以替代这个串这个类型的。但是现在好多库里面还保留这个串,也是一部分原因。有几点原因吗?有些库可能是 是为了跟以前老版本,以前老版本那些数据库来做一个兼容,也就是因为以前老的数据库吗?它里面是有一个自端类型,叫串这样的一个固定长度的珠串的,因为这个是串这个类型, 这个类型的字母串是你一旦把这个字段设置成了这个类型,那么他就会在在库里面开辟一个。比如你说的长度为十,开辟一个长度为十的一个空间。 不管你这个你存进去的,你存进去的内容是否长度是否够实,他都会开辟一个长度为实的空间。就算你存的数,你存的内容长度不够实,后面他会以空格来补充,补充的长度,补充到实,然后存进去,会有一些空间 浪费啊,会有一些空间的浪费,就是存了好多空,好多空值在里面,好多空在里面,补了好多空格。但这个温差兔他不会,他你这个甩的长度是一百, 就算你这个手指长度是一百,比如我们现在写的是这个,但是你存进去的数值长度不够一百,那么他在数据库里面开辟的存储空间,他不会给你一百的空间。也就是根据你的实际实际数值,实际内容的长度来给你开辟空间。 比如你这个数,你这个你这个你这个内容的长度只有二十,但是你这个弯叉兔,你给的是一百,那么开开辟空间也会只会给一个长度为二十的空间, 剩下的八十他不会以空格的空格的形式来给你补充齐哈,不会有那么多的空格在里面。你这 这种形式会比这个叉类型来更节省一些空间吗?但是现在为什么保留这个叉类型呢?原因是一部分数据库,因为一些老版本,老版本里面他们会有叉这样的一个类型。也是现在数据库为了跟 一些一些老的那些版本的数据出来做一个兼容,做了一个兼容。所以现在一好多现在的那个,现在数据部也会保留这个类型, 也会保留这些类型啊。 好这个日期类型,日期类型,像我们平常的那个平常的日期,比如二零二,二零二二年零一零一, 二零二二年一月一号这样的日期,就是以有他自己专属的类型,要日期类型这样存储着啊。像这个大大对象类型,大对象类型其实也就是里面有这两种类型,比比如 blobblbblobclob 这两种类型,常用的就这两种啊。像碧萝卜。他这个存储是以二进制的方式来进行存储, 就啥意思啊。就是比如像我们现在有些图片,有些图片要存到数据库里面,那么这个图片他是不可以直接把图片以图片的形式 存到数据库里面的,他需要把这个图片来转换成二斤制的形式,转换成二斤制的形式,然后再往库里面存。也就是这个 vlog 就存储的类型,就是二斤之。也就是存二斤之内用的那些图片转换成二斤之,就可以直接存存储在这个 b 乐宝类型的自传里面,可以这样往里面存储啊。然后这个 c 乐宝, c 乐宝其实也是一个自不串类型,只是跟上面这个自不串类型又有点不一样, 又有点不一样了。这就这个逼乐吧。他的存储存储长度会更长, 因为像我们像像上面这个弯叉弯叉兔这样的一个这样的一个四五串类型,它的最大长度也就是四千 四千币,四千币左右吧,四千币也就四 k 币,最大长度不能超过四 k 币,不能超过四千币。一旦超过你存储的内容,一旦超过四千币,那么你这个存储的时候执行的时候 报错字不串,超长。但是像这个 c 唠宝就不一样了, c 唠宝他是就是一个长字不串的一个存储,他的最大长度是四 g, 也就是你允许允许你存的内容,一行里面最长的长度是可以达到四个 g。 像我们平常 平常的一些要存的一些备忘录,备忘备注或者备注, 比如表里面有一个自断,自断叫备注。有一些描述信息,这些描述信息可能这个谁都无法确定,可能有长的,有短的,有的长的可能特别长。 所以像这种类型,一般都可以给他设成这种数据哈,一般都可以设成 club 类型,让他可以支持更长的数据分数啊。
下面给大家分享一下关于数据库里面的表啊,部分表我们改错了的情况下,我需要替换,但是改正确的表,我又不想数据重新改 的一个处理方案啊。这里面我找几个表做一个示范,比如说啊,这个社长表,这个第三十一行,这个社长账号一,这些我把它删除掉,不要了啊,这是一个正确的修改。然后这个新闻表 啊,这个也是幸运。标题一,这个一,资料我不要了,我把它删除掉。然后这个用户表啊,这个我把它改成 a d m, i n 啊,但是这个用户表, 别说我把它改错了,我想把它删掉,我不要了,我想重新导入用户表, 但是像刚才这个新闻表,这个社长表和这个用户表,我改了,但是我不想重新改。那么我们只需要将这个数据库文件重新拉进来,点开始 啊,点关闭,然后刷新一下啊,再点开这个表啊,你看我们删除的用户表重新导进来了,然后我们更改的用户信息 啊,管理员信息表也在没有覆盖。这个社长表,你看我们删除了那个三十一行社长账号一,他并没有重新添加进来。 这个新闻啊,新闻标题一,他也是没有重新添加进来。也就是通过这个视频操作,我们可以将数据库我们改过的东西,我们想保留的,那么 我们可以保留他我们想替换的,我们就把那个表删除,然后重新把那个数据课文件拖进来,会重新添加对应的表。