00:01
那关于我们说circleq的三条主线啊,咱们就说到这儿啊,接着呀,咱们再看关于呃,SQ这个语言的一个规则和规范,大家注意看啊,我这块提到了两个词儿,一个呢叫规则啊,一个叫规范。这两个词呢,大家首先可能觉得有点重复是吧,那规则和规范有什么区别呀,咱们先把这个事儿呢先说清楚啊,这个规则呀,你比如说咱们讲的叫交通规则。那这个交通的规则是怎么着啊,比如我们中国的话呢,这个你要机动车是不是都得靠右啊,当然这个自行车啊,人行道也都这个,呃,步行的话呢,都得是靠右走,你不能这个逆着来,逆着来的话呢,就违反这个交通规则了,那相当于呢,就是违法了,得扣分是吧,这叫规则,那什么叫规范呢?比如说呢,叫小学生日常行为规范啊,要求呢,比如说你见到老师的时候呢,得稍微这个有礼貌一些,给老师呢,就是这个打个招呼是吧?哎,那你要是没这样做呢,没这样做呢,好像就是觉得不是特别好啊,至少呢,不会违反相关的这个规则,你说给你抢回家了,这个这个不让上学,这不至于是吧,所以这里边儿呢,我们想给大家抢到的点是什么呀,就是下边呢,提到一些规则,就是我们必须要遵守的啊,你要是不遵守的话呢,我们这个程序啊执行就会报错。
01:19
而这个规范呢,就是建议我们去遵守。建议而已,明白这个意思是吧?好,那我们下边呢,先来看一看基本的规则都有哪些。首先啊,这块提到说SQ啊,可以写在一行或者是多行,那为了提高这个可读性呢,各子句分行写,必要的时候呢,可以使用缩进,那这个是什么意思,咱们前面的话呢,给大家演示过常见的一些这个基本的circleq的一个使用了,这块呢,咱们相当还得是借用一下这些操作呢,去说明一下咱们这里的问题。好,比如说呢,咱们这块看一下啊,首先呢,我们针对于这个DB test to这里边这个EP这个表啊,咱们写一下这个查询操作,那回忆一下我们想查询这个表怎么办啊,就是首先呢,咱们得先use一下叫DB test2这样的一个数据库是吧。
02:07
好,那原来我们是使用命令行的话呢,大家可能这个知道说必须要加上这样一个语句,那如果说我们要使用使用这个图形化界面的方式啊,在咱们这个SQL要里边其实有个小细节点,大家看一眼。那这个位置就是指明咱们现在呢,写的这个词后L语句呢,它所使用的这个数据库了,那大家会发现是不是现在已经是这个DB test图了是吧,所以呢,我们现在如果要是不写它上来就来一个select星from什么呀P。那你看我选中咱们跑一下子是不是也能够出来没问题对吧?那如果能把光标你看啊,我点了一下这个information skimer点完之后的话呢,你看这个位置呢,就显示的是我们这个数据库了,那此时如果你再选中我们当前这个select语句一执行是不是就挂了。说咱们这个表啊,不存在于这个数据库当中啊,说白了就是咱们这个数据库指明是错误的了,相当于在这个测绘要当中啊,咱们通过点击的方式呢,就可以选择使用哪个数据库了,比如说我现在在这个S下,咱们选一下这个use,你看啊,我执行了,注意看我这个框。
03:12
找他。那你看这时候是不是就切换成我们这个DB test to了。然后此时的话呢,你再去,诶select这不就出来了吗?好,那么回到咱们刚才说的这个设置啊,说呢,我们这是一个查询语句,这个语句啊,你可以写成一行,也可以分行写,那比如说我们把这个from这块呢断一下,这是不是就分行写了。那下边呢,就提到说为了增加这个可读性啊,说建议我们可以考虑这个分行去写,那有同学可能会想说,我怎么觉得这个from写到后边感觉可读性会更强呢。可能有点的意思是吧,那因为咱们现在这个查语句啊,现在写的比较简单,当我们后边呢,随着这个查询呢,不断的深入,咱们写这一个基本的一个查语句呢,有可能至少得七八行,那七八行的话呢,你想想我们要都写上一行,这个可读性呢,就要差一些了,对吧,那这就我们说的这意思,然后的话呢,我们后边呢,会讲到这个子查询。
04:05
咱们专门有个章节呢,是不是就是来给大家讲这个子查询的,对吧,在这儿好,那么这个子查询啊,就类似于我们学这个编程语言当中的这个嵌套循环一样。线道循环一样,比如我们外层呢,有一层这个for循环,里边呢又有一层放循环,或者说你有一层这个条件判断也一样,那么里层这个呢,通常我们是不是都会有一个缩进的操作呀,增加咱们的可读性。那这块呢,也同样的道理,就是诶我们后边呢,有这个子句的时候呢,我们就要诶使用必要的这个缩进了啊,暂时呢,咱们还用不着,到时候呢,咱再说好下边一个说每条命令啊,必须以这个分号或者是这个杠G-G结束是吧,这是个大小写的区别,这个呢,来我们首先说这个问题,你看咱们写的每一个语句,咱这是一个查询语句了,咱们是不是还写过这个这个这个insert是吧,比如into一下e values。那后边呢,就写,比如说咱们1002来一个这个。
05:01
英文的这个Tom吧。好,这个时候你看values咱们其实也可以换行,这呢是一个这个这个插入语句对吧,这个插入语句当然你会发现呢,咱们是不是每个语句呢,都是以这个分号结束的吧。那这就以分号结束的那个杠,这个咱们一会儿说,那么有同学想说,那我要没写这个分号的话呢,难道就不行吗?大家你试一下,我现在选中呢执行。诶,你发现是不是也可以啊。那位同学就想,那干嘛非得说这个分号一定要加上呢?那这里边我给大家演示一下咱们这个分号啊,还有这样的一个小细节的讲究啊,你看啊,我现在再写一个这个隐私语句,比如我写上这个叫Jerry了,注意看我们这是不是有两个iner语句啊。那我这样说,如果呢,大家单独的你去执行这一个语句的话呢,这个分号可写可不写都行。可写可不写都行,但是如果你要是这两个隐私语句呢,都一起选中去执行的话呢,你注意看现在呢,我要是一走,你看他是不是就挂了。
06:06
这块就挂了,你看他会说near iner to啊,我们的EP1003,相当于是不是提示我们在这个位置出错了,其实也就相当于是我们程序呢,往下走,走到这个位置的时候呢,报的错,其实就是因为前面我们缺少这个分号。那因为这两个我们想一起执行对吧,那诶我们发现呢,前面这个不能少,那如果说我把这个分号加上,把这个分号我去掉或者不去其实都可以。嗯,都可以,你看我这两个呢,此时都选中了,咱们执行一下。大家发现呢,是不是没有报错,那添加成功了,我们这时候呢,Select查询一下,你看是不是就出来了。好,这有这样一个小细节啊,也就是说呢,我们如果只有一行执行语句呢,这个分号的来加不加都行,但是你像这种插入的操作,或者我们还有增删改的操作,你要想让他们同时都来执行,那么不同的执行语句之间分号呢,是需要加上的。好,这是我们说清楚这个事儿了,然后呢,咱们再来说下一个,那发现呢,这个呃,这个还可以,这个叫杠G结束啊,小写的这个J也可以,那我们选中了,走一下走。
07:10
哎哟,报错了是吧,你看他其实我们这个数据库下呢,这个表不存在,诶我们确实没有ERP表,这怎么把这个杠G呢写成一个表明了是吧?诶这是由于咱们这个SQL要的原因造成的,那相当于是这个语句呢,咱们写在这个SQL这块呢,就不太合适了,那咱们呢,写在这个命令行当中啊,我通过问二呢,调一下咱们这个CMD的这个指令,那首先呢,咱们做一个登录。那个U啊入的用户,然后杠这个大写这个P呢,我们是指明这个端口号的啊,默认的是3006,所以说这个呢可写可不写,然后呢,诶杠小写的PAC啊123密码进来,好,我们现在呢,登录的是这个8.0的这个MYQL行,那么此时的话呢,我们先去use一下啊d test two是吧。好,那我们这时候呢,先。看一下啊,Select星from emp,嗯,没问题,行,那这个呢,我们去执行另外一个指令,咱们前面呢,也稍微的这个见过,这个咱们叫show show create table e大家看。
08:13
这呢就相当于去显示一下咱们创建这个表的一些语句啊,是怎么创建的啊,然后下边呢,是关于我们这个表是指的谁啊,创建的语句是什么,但是你明显会发现的时候,这个可读性感觉差点意思啊。这主要原因是什么呀?那主要原因看是这个啊,咱们把这个呢,我先这样,我先咱们放到这个,诶四要这块呢,咱们跑一下。好,大家看你会发现呢,咱们第二个这个字段是不是特别长啊,啊,因为它太长了,所以在这块呢,它就换行,一换行呢,感觉这个可读性呢,你看就差点意思是吧,就差点意思,但是你要在这个位置,我们加上这个杠G的话呢,跟上面是同样的道理,咱们要是运行呢,那是不是就又挂了是吧,但是我们此时呢,你在这个命令行这块,注意看,我就还把刚才这个调过来,我们加上这个杠G来回撤一下。
09:00
你看此时这块呢,他就没有报错,那他跟我们上边这个你看什么关系啊。你要细节去对比的话呢,发现其实他们的信息啊是一样的,区别就在于啊,咱们刚才的时候。刚才我那个呢,没有了是吧,那我就直接先选这啊,别选这个杠D了,再走一下,刚才的时候呢,咱们是table和create table是不是两个列呀,而现在呢,你会发现呢,它是不是作为两个行出现的呀,相当于是这个颠倒了一下。那颠倒了一下,那我们这一行呢,第一行叫做table,然后呢,这个具体的值就是emp,然后下边呢,就是create table啊下边我们对应这个语句,诶是这样的方式来呈现的,就是这个相当于转制了一下。那就更清楚,那么这个操作呢,咱们包括这个杠G也好,还有这个寿也好,咱们讲到这个下篇的时候呢,会比较常用啊,比较常用到时候我们会看看相应的这些字符集呀,然后比较规则呀,这包括这个执行引擎啊,你看这块也能看到是不是叫in DB啊,这个咱们都放到下篇的时候,诶给大家呢展开来讲解。
10:02
好,这块呢,咱们先回来说一下这个杠G,就是每一个这个查询,呃,查询也好,或者说普通这个SQ语句啊,我们这个在上面当中更多的我们是以分号结束的,那在一些特殊情况下呢,我们会使用这个杠G啊,就是这个意思,好接着看。说这个关键字啊,不能被缩写,也不能分行啊,这个很好理解,你看咱们这里边儿的ins色,我加个空格,那这成啥了是吧?不对了,我换个行是不是也不对呀,那你说我这个T少写了这块,你执行是不是肯定也过不去啊?啊,很显然的问题是吧,哎,这个呢,就注意那这里边儿呢,咱们这个蓝色的呀,那我们具体去说哈,咱们这个蓝色的呀,它其实就是关键字。那什么叫关键字啊,就是被咱们这个circle呢,赋予特殊含义的一个字符串啊,或者叫一个单词,这个insert呢,就表示插入的意思,插入到哪呢?Into啊,Into到这个表里边,然后具体的值是多少呀,这就我们填的这个字段。
11:00
这是select查询哪些字段,From从哪个表,所以这呢都是有特殊含义的啊,特殊含义的行这个呢就清楚了,然后下边呢,关于这个标点符号说所有的这个小括号啊,单引号啊,双引号啊,得成对出现,那毫无疑问了。啊,这个很简单,你比如说呃,我把这个单引号我一去,那你会发现呢,就有问题了,因为他会认为整个咱们从这到这儿是不是充当了你这个字符串了,那显然不对嘛,所以这块呢,你得哎该成对就成对是吧,那这里边其实也我们也呃强调了一个点,我暂时呢先写一下,就是咱们的这个字符串,哎,包括后边咱们还没有讲的啊,这叫日期啊时间哎类型的这个变量啊,哎需要呢使用一段这个单引号,哎表示。哎,需要11对这个使用一对这个单引号来表示,后边呢咱们会再强调这个问题,但是呢,大家先了解一下就可以了。那然后的话呢,我们再来看一下关于这个列的别名,哎,列的别名啊,咱们后边这块会专门去说啊,得用一对双引号来表示啊,先了解一下就行。
12:07
好,下边的话呢,我们看一下这个叫大小写的一个规范。规范啊,咱们刚才说到了,是不是就是说我们要是不遵守啊,呃,也没事儿是吧,这就是相当于咱们叫诶建议去遵守,我这块写一下就建议遵守。遵守好,咱们看一看这里边描绘的是什么信息,那首先呢提到了说my circle在Windows环境下是大小写不敏感的,在Linux环境下呢,是大小写敏感的,其实这块呢,主要跟咱们这个操作系统是有关系的,就是大家呢,如果有这个正常的,呃,Windows环境下的这个常识的话呢,就是linus可能有的人没接触过啊,这个Windows呢,应该是比较熟一些,咱们在这个Windows里边大家你会发现呢,呃,举个例子啊,这个比如说。啊,我这块呢,就找一个文件夹吧。
13:00
好,把这个文件夹上我们打开,如果说呢,我创建一个,嗯,咱们创建一个文件吧,我叫ABC。对吧,那我在外边儿这块呢,我创建一个,呃,这个大写的ABC,哎,按说呢,你要从大小写敏感的角度来讲,这是不是两个不同的文件,那我现在注意看,我把这个文件拖进来,你说会不会报错呢?或者会不会提示我们说已经存在这个名了呀。来,你看一下。是不是提示了说我们这里边已经有这个名的这个文件了,哎,所以说这里边儿想强调的点了,就是Windows本身它就不区分这个大小写。对吧,诶正因为Windows本身不区分,所以呢,咱们MYSQL呢,在window这个环境下呢,去执行的时候呢,它也对这个大小写呢就不敏感了,那反过来说啊,这个回过来说什么意思呀,你比如我们这里边写的这个select,就是如果我们要是写成了小写的话。诶,有同学会发现,诶,我这一写小写它就自动变成大写了是吧,那就是这是咱们这个SQ要它的特殊的这样的一个规则,它就给我们转化成大写了啊,因为后边我们会说建议呢,这些关键字呢,咱们大写那就不拿它说了,咱换一个拿到咱们这个na cat是吧,这个na cat的话呢,咱们还是根据这个DB台图里边这个表。
14:12
来这块我们整一个啊在这呢啊有个查询是吧。哎,双击呢,咱们。哎,这样。新建一个查询,好来我这块也是按住这个CTRL键啊,把它放大一点好,那此时的话呢,你看啊,我写一个select星from啊E来我们把它选中执行一下,你看是不是这个数据就出来了是吧?好,那我这时候呢,把这个select呀,我写成一个大写的from,你看emp,那此时的话诶select少个C。对吧,好,那么此时呢,我把它呢选中再去执行,你发现呢,是不是也没有问题啊,那相当于呢,就是咱们这个大写小写呢是呃不敏感的都可以,包括我们这个表名,我写的那个大写了,你此时呢,你看我们选中去执行,哎,是不是也可以啊。
15:02
哎,这就是所谓的咱们在Windows环境下呢,它是大小写不敏感的,那么在LIS这个环境下呢,它就敏感了,主要原因呢,是在LIS环境下呢,本身那有一些结构呢,就区分大小写。啊,哪些区分呀,你看他也不是说所有的都区分啊,就有的区分有的不区分,比如说数据库名,表名是吧,表的别名,哎变量名这些呢,是严格区分大小写的。而这些像关键字啊,函数名啊,列名啊,这个这个列的别名啊,他们是不区分的。有同学感觉有点懵是吧?啊,一会儿又区分,一会儿又不区分,就蒙圈了啊,这个咱们讲到这个Linux的时候呢,咱们还会给大家去演示这个事儿的,而且呢,咱们还可以去改啊,就是设置一下这Linux当中MYS呢是不敏感的,呃,也是可以的啊,但是一般咱们不设置啊。它一般不设置,那么刚才说的这个意思是什么呀?你如这里边提到这个表明它是区分的,也就是说啊,也就是说如果我们数据库当中你存的这个表名啊,就是小写的EP,那如果说这个语句咱们要放在这个Linux上去执行,就报错了,那因为呢,他找不到叫大写的EP这个表了。
16:12
哎,就这个意思。但是对于我们这个关键字来讲的话呢,你看他又是不是不敏感呀。哎,关键字来讲就不敏感了是吧,所以这块呢,呃,一会儿又敏感,一会儿不敏感的怎么办呀,我们出来了一个规范啊,就是我们所说的叫建议遵守的啊,建议而已啊,不遵守也也也行啊,建议而已啊,怎么着啊,就是咱们在定义这些结构的时候,像数据库名,像这个表名表的别名,字段名,哎字段的别名咱们都建议呢,你小写。啊,都建议小写,你看我这块呢,在创建的时候呢,其实都注意这些问题了,都自然的都变成小写了。好,这是一个,然后同时呢,我们再去写这个SQL语句的时候啊,像关键字函数名和这个呃,绑定的这个变量啊,哎,建议呢,我们都大写。
17:03
啊,建议都大写,那就相当于是像咱们这样写,虽然也能执行成功,但是呢,你自己心里边要告诉自己啊,这样写的不是特别规范啊,建议呢,我们都写成大写。啊,仅此而已啊好,这个我们就说清楚了,行,这个完了以后呢,咱们再看下边这个叫做注释啊,什么叫注释呢?就是对咱们这个编写的circleq这些程序啊进行解释说明的,那你比如说咱们在这个SQ要当中,诶大家你会发现呢,我前面是不是已经写了这样的一些,你看颜色变成绿色的了,那其实呃,怎么标识它是绿色呢?我这用了一些符号,这些符号呢,其实就相当于它是叫什么呀,哎,注释的一些信息。啊,这个刚才那个咱们没见过的啊,这个我们先换成这个井号来这个注释信息我们做一个解释。首先的话呢,大家看到这是这个井号是吧,这个井号后边的话呢,其实这个就不用空格空格了啊,这是我自己的一个习惯了,直接在我后边写了一个信息就可以了,那么这个信息呢,哎,我们就把它称为是被这个单行注释所标识的这样一个解释说明的文字啊,就叫做单行注释了。
18:09
就是单行注释,那单行注释它的特点跟我们不加这个注释,我这样写的区别是什么呀?那就是注释,注释以后的这个文字呢,是不会被执行的啊,你比如说像咱们这个叫selecting from EP,那我这样执行就出来了,我这块呢,可以加个注释,说这是一个查询语句,对吧。那我们呢,把这个整体都选中,你看我执行跟我们刚才光选中这个执行效果是一样的,对吧,但是你要是把这个井号给去掉了,这就麻烦了,你看我这时候一直讲显然肯定会报错,因为呢,这个呃,MYSQL的这个数据库服务器呢,就会执行这个,诶操作这个操作他不认识啊,他不就报错了吗。你看它就在这个逆这个位置,一上来就报错了对吧?好这呢,你就知道我们这个井号代表的啊,后边这个内容啊,只是为了我们去这个看起来方便啊,它起到一个解释说明的一个作用啊,解释说明的作用啊呃,这是我们说的这个,然后另外的话呢,还有这个啊,我们是一个斜杠开始,一个新号结束。
19:10
啊,一个星号开始,一个斜杠结束,中间可以包多行解释说明性的文字,我们把这个种呢称为呢叫多行注释。哎,叫多行注释挺好理解的是吧,那这里边大家要小心的点呢,就是这个多行注释啊,它不能嵌套啊,你说我这个多行注释里边再嵌套一个,首先说呢,没有意义,就没有必要,那你说我就写,那你试一下,你看我这里边儿再套上一个,大家你会发现呢,是不是就有问题了。什么问题啊,就是哎,他会把这一块整体当成是你的内部的注释的信息,然后把这个符号呢,是不是跟他去配对了,那下边呢,是不是额外的又多出来一个,这就不对了,是吧?哎,所以我们说不能嵌套啊,这要小心一点。好,那么除了这两种方式之外呢,我们说还有一种方式,就是这个呃杠杠啊,这个呃杠杠这种方式啊,这种方式呢,平时我自己不是特别爱用啊,呃,但是呢,这种方式其实是我们在其他的这个数据库当中也是通用的一种方式,咱们刚才写的这个景的方式呢,反而是咱们这个MYSQ呢,它特有的一种方式。
20:12
来杠杠这个大家了解一下就行啊,你自己呢,选择其中一个,因为呢,这个单行注释已经有一种方式了,你另外一个你愿意用就用,不愿意用也没关系啊,你比如我们这个井号吧,我这块写个杠杠。哎,我我我拿这个去讲是吧。啊,这个啊,我这写一个杠杠。好像看着不太对是吧哈,来我们走一下看看啊来确实还不太对,那不叫单行注式吗?这块要注意一下,我们杠杠呢,一定要再配一个空格。哎,也就是说呢,杠杠空格才是咱们的单行注释啊,哎,这才是这个单行注释,那此时的话你选中执行,哎,我们上边这个呢,就忽略掉它了。行啊,就是这个意思。这是注释的事儿啊,咱们后续呢,讲课的过程当中,咱们做这个操作啊,会写相关的一些说明信息,到时候呢,我都会使用单行或者是多行注释,到时候呢,大家注意一下这个点啊,大家也需要去掌握啊,行,然后下边这块呢,有个叫命名的规则,那一看到规则了,是不是叫必须遵守吧。
21:14
诶必须遵守,那涉及到了数据库表名,包括这个变量名,它的一些命名的一些,你看规则啊,从哪里边去选字符中间有没有空格,能不能重名啊等等等等这块呢,注意咱们现在呢,先不详细的去说,讲到什么的时候,我们再去专门讲这个事儿啊,咱们第十章叫创建和管理表。啊,到时候咱们造表啊,造数据库啊,说白了就是咱们看一上来的时候是不是也造过呀,像DV test to啊,像EP啊,这呢,就咱们创建的这些结构,他们在命名的时候啊,你说你从哪些符号里边去选呀,哎,就是参照咱们这个要求,诶到时候呢,咱们再讲。啊,到时候咱们再讲。行,那么这样的话呢,咱们就相当于把呃,提到了这个SQL语言的规则和规范呢,给大家呢做了一个交代啊,这个相应的一些这个信息呢,咱们也做了一些测试,大家呢要做到心里有数。
22:09
那关于SQ的规则和规范呀,咱们就说到这儿了,那为了咱们这个笔记的这个完整性啊,我在这块呢,咱们把这个刚才讲的这个事儿呢,稍微的粘过来,大家回头呢,看我们这个代码的时候呢,就会更加的这个清楚,行这块呢,我使用这个多行注释呢,咱们来表示,诶刚才呢,咱们其实讲了两个事儿啊,就大块上算是两个事儿,第一个呢,就是关于这个circle的一个规则,那规则呢,就是我们说是必须要遵守的。必须要遵守,就是你要不遵守呢,他就报错了对吧,然后第二个的话呢,是关于circle的一个规范啊,这个呢,我们是叫建议遵守。那对于大家来讲的话呢,就是建议你就别这个也马马虎虎的了,咱就正常都遵守就完了啊注意这个事儿行,首先呢是说这个叫规则,那就我们上面说的这个几个点CTRLC一下,咱们直接粘过来就行,这样呢,大家不用去死记硬背,就是嗯,你要写的时候呢,发现报错了,这个呢,你回来你看一下这个能知道就行,其实呢,你要让我现在一条一条去背呢,我今天能背过,明天可能我也就忘了,对吧,但是呢,你要让我写的话呢,我知道写不错。
23:13
那其实相当于已经内化成你的这个一一种能力了啊,也是OK的行,然后这个规范的话呢,咱们是建议遵守,然后把它呢,CTRLCL一下也粘过来。嗯,加到这来啊,这里边这个星号,星号呢是咱们在这个ma堂当中,这个叫加粗的一个标识啊,这个大家知道这个事儿就可以了啊,我这块呢,也删一下吧,行这呢说的是第二个事,然后第三个事儿的话呢,咱们说了一下这关于这个叫注释的一个问题啊,这个my circle。啊,咱也算是叫三种吧。三种。注释的。这个方式好,我就不在这块去单独去说了,行,然后呢,接下来咱们说一下这个第四个事儿啊,第四个事儿的话呢,咱们这个在上边儿讲课的讲这个SQL分类的时候呢,也提到了,咱们先给大家讲呢,叫查询。
24:02
那这块呢,其实我也在设计这个课程啊,就是我们看到很多的这个书上,或者说呢,绝大部分的书上,90%以上的上来呢,都先让大家呢去创建数据库,然后创建表,然后一点点往里边添加数据啊在这个过程当中呢,可能还得要用查询,就是这个交织在一起,最后呢,就是反而不容易上手,那我思考了这个一些时间之后啊,包括跟咱们一些老师进行探讨,我觉得呀,咱们先来讲这个查询。更形象一些,那线下查询呢,意味着是不是我们得先有一些表是吧,先有些表数据了,我们上来了直接查询,咱们讲完查询之后啊,咱们后边呢,再专门去说创建表,创建表以后呢,我们在添加的同时呢,咱们查询这个事儿呢,都已经讲过了,所以大家呢,可以各种丰富的去查,那我觉得是更容易上手一些。行,那大家可以看看啊,咱们线下查询的效果如何。那先要讲查询,刚才说到了,咱们是不是得有现成的一些表中数据,才能让我们上来就讲这个查询啊,所以这块呢,咱们讲这个问题呢,就是如何呢去导入数据的问题。
25:06
啊,如何导入数据导到咱们这个,呃,现有的这个数据库当中啊,我们这写一下导入现有的这个数据表,那以及表的数据,OK,那如何去导呢?这里边我们说两种方式啊,方式一,那使用这个命令行的方式,那这块呢,就涉及到我们使用一个这个source,后边呢,就是这个诶文件路径。加这个或者叫文件的权利名啊,这个全路径名。全。路径行,那这就可以了,这是一种方式,然后其实我们说通用的话呢,就是用这个方式一了,然后这个方式二的话呢,是基于我们具体的这个图形化界面的这个工具,它可能会有一些这个呃,比如按钮直接我们点一点就可以了,导入这也是一种方式啊,基于具体的图形化界面的这个工具。
26:03
啊,可以去导入这个数据,哎,这样两种方式好,那么正好呢,咱们现在是不是一个是MYSQL8.0,一个呢是5.7啊。对吧,诶正好的话呢,我们就拿着他俩啊来进行一个说明,诶挺好,嗯,那咱们这8.0当中,咱们就用这个方式一来演示,那在咱们这个课件里边也写了,怎么做呢?Source后边呢,就是咱们这个呃,有一个文件,你把这个文件的这个全路径的名给它写上就可以了。那注意呢,这个操作呢,我们要是写在这个。诶,这块我们这样啊,咱们把这个呢,单独的拿出来。啊,下边。来放到这来说,那我们这块呢,你要是写一下这个S,那咱们这个数据都在哪儿呢?大家打开咱们这个课件里边有一个资料,我这儿呢有个艾特硅谷DB.circle那这里边呢,就存放了一些现有的一些表,我们直接拿过来用就可以了。
27:01
那这块呢,为了我们你看这个路径有点长啊,为了导入这个方便啊,这样我把它放在我的这个D盘下吧,或CTRLV你就放在这儿啊方便呢,咱们去调用它,那怎么调呢?我们直接呢S后边呢,写它这个全路径就可以了。好,那么我们回过来,在这个位置上,你要写S,那就是D盘下的,咱们叫at硅谷DB.circle是不是这样写啊?好,你看我这样选中之后呢,一直行,他是不是就报错了。就报错了对吧,这样呢是不行的,那我们应该用哎命令行去执行。啊,这块呢,咱们把它这个注释掉啊嗯,那到时候你可以把这个呢,CTRLX咱们就粘到这吧。哎,相当于是咱们这是一个举例。举例是吧,哎,这样来说行,那么呃,写的话呢,咱们就用这个命令行,那命令行现在呢,咱们登录的也确实是8.0,那就在他这儿来说,那写一下这个,哎,首先我们这么找一下吧,先show一下叫data basis是吧,咱们现有的数据库呢,是不是就这样的五个呀。
28:04
好,那接下来我们来一个S或D盘下的叫at硅谷DB.circle好回撤一下。诶搞定了是吧,但是我们show一下data。大家看此时的话呢,我们是不是就多了一个数据库啊叫艾特硅谷DB,那这个呢,就是在咱们导入的这个SQ文件里边呢,有一个诶创建的数据库,那这个文件呢,大家正常来说呢,其实是没有必要去打开看的,那如果你非想看的话呢,那就那就双击呗。双击我们就看了是吧,哎,其实没有必要啊,那你看在这里边呢,其实就是我们创建那个数据库,那就叫这个名,那还有一个这个if not exist,这个咱们到后边呢,都会去讲啊,包括那字数基看U是吧,好,创建好这个数据库之后呢,我们下边去造这些表,然后呢,往这表里边去加数据啊,就是这么个意思,其实这块呢,我们讲完思后之后呢,大家回来再看这些语句呢,都能看得懂。那你像这里边这个注释你看都有是吧,OK啊,这就没必要了啊,那就关掉了行,那么回过来以后呢,咱们可以在这叫use一下at硅谷DB。
29:12
写错了是吧。Use at,硅谷DB。好,然后呢,我们说一下叫tables,看一下我们这个数据库下,咱们一共有哇这么多张表,哎有这么多张表,那这里边呢,比如说有一个表叫员工表,哎咱们可以呢,看一下这个员工表中的数据叫selecting from。An employees。啊,数据呢,还挺多是吧?诶我们这个表中呢,一共有107条记录,这个大家稍微有一个印象,咱们后边的话呢,这个各种各样的查询呢,诶都还是要考虑一下它这个整体的数据的总量的,啊这呢你注意一下是107是吧?诶有这样的印象就行行,这呢是咱们的一种方式啊,那这种方式呢,我们去导入数据之后呢,诶好比是咱们在这个。
30:01
呃,图形化界面当中,你看暂时呢,还。是不是看不到啊,你把这个光标你放在这个root at这个local host,我们F51刷新,哎,当家你会发现呢,是不是我们就有了这个at硅谷这个DB的这个数据库了,是吧?诶在这呢就也能看得到了,行这呢相当于是咱们第一种方式来导入的,那第二种方式呢,像咱们这个。Circleq要当中,那SQ要当中,咱们就以这个5.7为例了,Circleq要当中呢,它有一个工具,你看这个工具啊,它下边呢,有个叫执行SQL脚本。点一下。然后在这个位置呢,大家去选择,那比如说我选择呢,是我这个D盘下的是不是这样的一个文件吧,好,我打开一下来执行。是。完成。好这块呢,同样的光标选中root at local host f51刷新大家会发现呢,是不是同样的就有我们这样的一个数据库存在了,那进而的话呢,比如我们选中这个数据库啊,选中以后呢,我们在这诶select。
31:00
From这个employees。选中。执行。好这呢,是不是我们也能够看到这个表数据一共是107行数据没有问题对吧?好这块呢,我们就相当于是给大家呢,讲了这个两种方式啊,两种方式,第二种是图形化界面方式,那我们这也写个啊,比如这个circle中。哎,我们可以呢,去选择这个叫工具,然后在工,诶这个表现方法不一样是吧,在工具下边呢,我们去选择呢,叫哎,是不是叫执行circle脚本对吧。哎,直行。这个诶叫circle,哎脚本,然后呢去选中。哎,选中我们这个,哎,叉叉叉点这个SQL文件就可以了。OK,行这儿呢,就我们说这个导入数据的这个方式,那咱们就说清楚了,OK。
我来说两句