自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 江哥MySQL视频学习笔记--第12章 MySQL游标和触发器

1.什么是索引?-索引就相当于字典中的目录(拼音/偏旁部首手)有了目录我们就能通过目录快速的找到想要的结果.-但是如果没有目录(拼音/偏旁部首手),没有索引那么如果想要查找某条数据就必须从前往后一条一条的查找-所以索引就是用于帮助我们提升数据的查询速度的2.索引的优缺点和使用原则2.1优点+大大加快数据的查询速度+没有任何限制,所有MySql字段都可以用作索引2.2缺点+索引是真实存在的会占空间,会增加数据库...

2020-11-16 15:33:41 119

原创 江哥MySQL视频学习笔记--第10章 MySQL存储过程和函数70-MySQL-批量数据处理(掌握)

需求:往数据库里存储一万条数据实现方案:1.写一万条insertinto语句2.将insertinto语句封装到存储过程或者函数中将来怎么使用?是配合其它SQL语句使用,还是单独使用单独使用--存储过程配合其它SQL语句使用--自定义函数createprocedureadd_stus(numint)begindeclarecurrentIdintdefault0;declarecurrentAgeintdefault...

2020-11-13 12:22:41 117

原创 江哥MySQL视频学习笔记--第10章 MySQL存储过程和函数66 67 68 69-MySQL-自定义函数(掌握)

1.什么是自定义函数自定义函数和存储过程很像,只不过自定义函数不需要手动通过call调用而是和其它的聚合函数一样会在SQL语句中自动被调用例如:selectavg(score)fromstu;例如:selectcount(*)fromstuwhereage>=18;2.创建自定义函数createfunction函数名(形参列表)returns数据类型函数特征beginsql语句;......return值;e...

2020-11-09 10:43:04 171

原创 江哥MySQL视频学习笔记--第10章 MySQL存储过程和函数63 64 65-MySQL-存储过程(掌握)

<!--1.什么是存储过程?存储过程和其它编程语言的函数很像,可以用于封装一组特定功能的SQL语句集用户通过'call存储过程的名称()'来调用执行它。2.存储过程基本语法2.1定义createprocedure存储过程名称(形参列表)begin//sql语句//......end;示例:createprocedureshow_stu()beginselect*fromstu;en...

2020-11-04 15:31:57 149

原创 江哥MySQL视频学习笔记--第10章 MySQL存储过程和函数-61 62-MySQL-预处理(掌握)

1.预处理:所谓的预处理技术,最初也是由MySQL提出的一种减轻服务器压力的一种技术!-传统mysql处理流程1,在客户端准备sql语句select*fromstuwhereid=1;select*fromstuwhereid=2;2,发送sql语句到MySQL服务器3,MySQL服务器对sql语句进行解析(词法,语法),然后编译,然后执行该sql语句4,服务器将执行结果返回给客户端弊端:-哪怕多次传递的语句大部分内容都是相...

2020-11-04 15:30:04 64

原创 江哥MySQL视频学习笔记--第09章 MySQL视图-56 57 58 59 60-MySQL-视图(掌握)

<!--1.视图基本概念-视图本质就是将结果集缓存起来-由于结果集是一张虚拟的表,所以视图也是一张虚拟的表-由于结果集是建立在表的基础上的,所以视图也是建立在表的基础上的2.视图的作用:-视图可以用来简化SQL语句-视图可以用来隐藏表的结构-视图可以用来提升数据安全性3.创建视图语法createview视图名称asselect语句;--><!--1.视图数据操作--SELECTname,ci...

2020-11-03 12:34:04 71

原创 江哥MySQL视频学习笔记--第09章 MySQL事务-51 52 53 54 55-MySQL-事务(掌握)

<!--1.事务基本概念-MySQL中的事务主要用于处理容易出错的数据。-事务可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。-事务用来管理insert,update,delete语句-MySQL中只有使用了Innodb数据库引擎的表才支持事务。--><!--1.事物语法开启事务:starttransaction提交事务:commit回滚事务:rollback示例一:c...

2020-10-30 12:55:08 62

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-48 49 50-MySQL-多表查询(掌握)

<!--1.自然连接(natural)自然连接是用来简化'内连接和外连接'的如果多张表需要判断的条件字段名称一致,那么不用编写条件,自然连接会自动判断1.1自然内连接select*from表名1innerjoin表名2on条件;select*fromstuinnerjoingradeonstu.id=grade.stuId;select*from表名1naturaljoin表名2;select*fromstun...

2020-10-27 12:45:58 103 1

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-44 45 46 47-MySQL-多表查询(掌握)

<!--1.多表查询-多表查询只需要在单表查询基础上增加一张表即可select*from表名1,表名2;select*fromstu,grade;注意点:-默认情况下多表查询的结果是笛卡尔集2.union作用在纵向上将多张表的结果结合起来返回给我们select*from表名1unionselect*from表名2;selectid,namefromstuunionselectid,score...

2020-10-23 14:03:38 124

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-43-MySQL-单表查询(掌握)

1.查询选项select[查询选项]字段名称from表名;all:显示所有查询出来的数据[默认]distinct:去除结果集中重复的数据之后再显示selectnamefromstu;selectallnamefromstu;selectdistinctnamefromstu;注意点:如果是通过distinct来对结果集中重复的数据进行去重那么只有所有列的数据都相同才会去重selectname,scorefrom...

2020-10-23 09:10:48 62

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-42-MySQL-单表查询(掌握)

1.分页limit:select字段from表limit索引,个数;select*fromstulimit0,3;select*fromstulimit3,3;

2020-10-23 09:10:04 43

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-41-MySQL-单表查询(掌握)

1.条件查询having:-having和where很像都是用来做条件查询的-但是where是去数据库中查询符合条件的数据,而having是去结果集中查询符合条件的数据select*fromstuwherecity='北京';select*fromstuhavingcity='北京';selectname,agefromstuwherecity='北京';selectname,agefromstuhavingcity='...

2020-10-23 09:09:18 57

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-40-MySQL-单表查询(掌握)

1.数据分组groupbyselect分组字段|聚合函数from表名groupby分组字段;-需求:要求统计表中一共有多少个城市selectcityfromstu;selectcityfromstugroupbycity;-需求:要求统计每个城市中有多少个人selectcity,count(*)fromstugroupbycity;注意点:-在对数据进行分组的时候,select后面必须是分组字段或...

2020-10-23 09:06:31 48

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-39-MySQL-单表查询(掌握)

1.聚合函数:count();统计selectcount(*)fromstu;selectcount(*)fromstuwherescore>=60;sum();求和selectsum(id)fromstu;avg();求平均值selectavg(id)fromstu;#21/6=3.5selectavg(score)fromstu;max();获取最大值selectmax(score...

2020-10-20 13:04:32 70

原创 江哥MySQL视频学习笔记--第07章 MySQL高级查询-38-MySQL-单表查询(掌握)

1.排序orderbyselect字段from表名orderby字段[asc|desc];select*fromstuorderbyage;#默认按照升序进行排序select*fromstuorderbyageasc;#升序排序select*fromstuorderbyagedesc;#降序排序select*fromstuorderbyagedesc,scoreasc;#如果年龄相同,那么...

2020-10-20 12:53:42 131

原创 江哥MySQL视频学习笔记-第07章 MySQL高级查询-37-MySQL-单表查询(掌握)

1.模糊查询格式:select字段from表名where字段like'条件';_通配符:表示任意一个字符%通配符:表示任意0~n个字符a_c:abc/adcabc,adc,abbc,ac_a_c:1abc/3adc1abc,abc1,2abbc,3adca%c:abc/adc/abbc/acabc,adc,abbc,ac%a%c:1abc/2abbc/3adc1abc,abc1,2abbc,...

2020-10-20 12:49:18 54

原创 江哥MySQL视频学习笔记-第07章 MySQL高级查询-36-MySQL-单表查询(掌握)

1.单表查询select*from表名;#查询表中所有数据select字段1,字段2from表名;#查询表中指定字段数据select[*|字段]from表名[where条件];#查询表中满足条件的数据2.什么是结果集?通过查询语句查询出来的结果我们就称之为结果集结果集以表的形式将查询的结果返回给我们注意点:结果集返回的表和查询的表不是同一张表被查询的表是真实存在的,是存储在磁盘上的而结果集不是真实存在的,是存储到内存中...

2020-10-20 12:47:53 45

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-34-MySQL-参照完整性(掌握)

1.多对多外键学生表关系表教师表|-----------------------||---------------------||-----------------------||id|stuName|gender||stuId|teacherId||id|stuName|gender||1|张三|男||...

2020-10-16 13:32:29 38

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-33-MySQL-参照完整性(掌握)

1.外键的操作:-严格操作:(前面讲解的都是严格操作)+主表不存在对应数据,从表不允许添加+insertintogradevalues(null,'语文',100,3);+从表引用着数据,主表不允许删除+deletefromstuwhereid=1;+从表引用着数据,主表不允许修改+updatestusetid=3whereid=1;-置空操作(null...

2020-10-16 12:49:24 76

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-32-MySQL-参照完整性(掌握)

1、如何保证参照完整性默认情况下表与表之间是独立存在的,不会相互影响也正是因为如此,默认情况下也不会检查表与表之间的依赖关系所以为了保证表与表之间参照完整性,我们可以通过‘外键’来保证参照完整性2、什么是外键?如果一张表中有一个字段指向了别一张表中的主键,就将该字段叫做外键例如:成绩表中的uid引用了学生表中的id,那么成绩表中的uid我们就称之为外键创建学生表stucreate table if not exists stu( id int auto_increm.

2020-08-27 11:35:47 121

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-32-MySQL-表与表之间关系(掌握)

1、参照完整性参照完整性又称引用完整性,主要用于保证多表之间引用关系的正确性2、为什么要创建多张表如果将所有的数据都放到一张表中,会出现大量冗余数据所以为了降低数据库的体积,提升数据库的效率,我们需要根据自身需求对表进行拆分3、什么时候会出现冗余数据表与表之间的关系可以分为三种:一对一、一对多、多对多3.1 一对一(一般不需要拆分)(一夫一妻制)3.2 一对多(一般需要拆分)(一个学生有多个课程)3.3 多对多(一般需要拆分)(一个学生有多个老师,一个老师有多个学生.

2020-08-27 10:45:07 113

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-31-MySQL-实体完整性(掌握)

1、域完整性1.1 什么是域一行数据中的每个单元格都是一个域1.2 如何保证域的完整性保证域的完整性就是保证每个单元格数据的正确性 -使用正确的数据类型 +例如:人的年龄不可能超过255岁,而且不能是负数,所以我们就可以使用 TINYINT UNSIGNED +例如:人的性别只能是男/女或者妖,所以我们就可以使用枚举类型 +例如:要存储比较多的文字,为了保证不超出每一行最大的存储限制,我们就可以使用大文本类型 -使用非空约束(no...

2020-08-27 10:33:07 57

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-30-MySQL-实体完整性(掌握)

1、如何修改约束1.1 如何修改主键约束(原来表中没有设置主键,为该表添加主键)alter table 表名 add primary key(字段);1.2 如何修改唯一约束alter table 表名 add unique(字段);1.3 如何修改自动增长约束alter table 表名 modify 字段名称 数据类型 auto_increment;...

2020-08-24 20:25:13 68

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-29-MySQL-实体完整性(掌握)

1、自动增长约束(auto_increment)自动增长约束的作用是让某个字段的取值从1开始递增,从而保证实体完整性例如:create table if not exists person_auto_increment( id int auto_increment, name varchar(20));运行上述语句会报错:Incorrect table definition; there can be only one auto column and it must

2020-08-24 20:13:32 48

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-28-MySQL-实体完整性(掌握)

1、唯一约束(unique)唯一约束用于保证某个字段的值永远不重复create table if not exists person_unique( id int unique, name varchar(20));插入两条相同的记录insert into person_unique values(1,'lly');insert into person_unique values(1,'lly');第一条记录会正常插入,第二条记录插入时,系统会报错:Dupli

2020-08-24 19:53:55 53

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-27-MySQL-实体完整性(掌握)

1、什么是联合主键?我们通过将表中的某个永远不重复的字段设置为主键,从而达到保证每一行数据的唯一性(实体完整性)但是在企业开发中有时候我们可能找不到不重复的字段,此时我们还可以通过联合主键的方式来保证每一行数据的唯一性联合主键就是同时将多个字段作为一个主键来使用注意点:联合主键并不是添加多个主键,而是将多个字段的值作为主键来使用也就是过去我们指定id为主键,那么id的取值不能重复而现在如果我们指定name和age为主键,那么name+age的值不能重复例如crea.

2020-08-24 19:36:08 53

原创 江哥MySQL视频学习笔记-第06章 MySQL数据完整性-26-MySQL-实体完整性(掌握)

1、什么是数据的完整性?保证保存到数据库中的数据都是正确的。2、如何保证数据完整性? - 数据的完整性可以分为三类:实体完整性、域完整性、参照完整性 - 无论是哪一种完整性都是在创建表时给表添加约束即可3、实体完整性3.1 什么是实体? 表中的一行数据就是一个实体(entity)3.2 如何保证实体完整性? 保证实体完整性就是保证每一行数据的唯一性4、实体完整性的约束类型 主键约束(primary key)...

2020-08-07 10:19:24 89

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-25-MySQL-数据类型(理解)

8 日期类型 -专门用来保存时间的DATE 3字节 YYYY-MM-DD 日期值TIME 3字节 HH:MM:SS 时间值或持续时间DATETIME 8字节 YYYY-MM-DD HH:MM:SS 混合日期和时间值注意点:在存储时间的时候,需要用单引号将时间括起来create table if not exists person_shijian( id int, field1 date, field2 time, fie...

2020-08-07 09:27:32 47

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-24-MySQL-数据类型(理解)

8、布尔类型-专门用来保存真假的举例:create table if not exists personbool( id int, flag boolean);insert into personbool values(1,'男'); #会报错insert into personbool values(1,true); #不会报错insert into personbool values(2,false); #不会报错注意点:-MySQL中的布尔类型也是...

2020-08-07 09:12:57 74

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-23-MySQL-数据类型(理解)

7、集合类型和编程开发中一样,如果某个字段的取值只能是几个固定值中的几个,那么就可以使用集合类型set(值1,值2,...)例如:create table if not exists person_set( id int, hobby set('篮球','足球','高尔夫球','足浴'));insert into person_set values(1,'篮球,足球,高尔夫球'); #不会报错insert into person_set values(1,'台球'); ...

2020-08-02 11:02:51 65

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-22-MySQL-数据类型(理解)

6、枚举类型和其他编程语言一样,如果某个字段的取值只能是固定的几个值,那么就可以使用枚举enum(值1,值2,...);例如:create table person( id int, gender enum('男','女'));insert into person values (1,'妖'); #会报错insert into person values (1,'男'); #不会报错注意点: -mysql中的枚举类型是通过整型来实现的 +和其他...

2020-08-02 10:48:38 59

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-21-MySQL-数据类型(理解)

5、大文本类型5.1 MySQL中每一行存储的数据是有大小限制的,每一行最多只能存储65534个字节例如:create table if not exists person8( name1 char(3), name2 varchar(21845)) charset=utf8;系统会报错:1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 655

2020-07-30 16:23:53 65

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-20-MySQL-数据类型(理解)

4、字符类型-专门用来存储字符的CHAR(size) 0-255字节 定长字符串VARCHAR(size) 0-65535字节 变长字符串- char和varchar区别 +能够保持数据的容量不一样 +char不会回收多余的字符空间,要多少给多少 +varchar会回收多余的字符,用多少给多少 +例如:通过 char(2)存储数据'a',存储的结果是' a'; ...

2020-07-30 16:00:11 109

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-19-MySQL-数据类型(理解)

3、定点类型-也是用于存储小数的decimal(M,D)m总位数,d小数位数定点类型的本质:是将数据分为两个部分来存储,每个部分都是整数,所以定点数不要滥用,因为非常消耗资源例如:create table if not exists person4( id int, weight decimal(21,20), height decimal(21,20));insert into person4 values(1,1.123456789012345678901234567

2020-07-28 17:01:51 98 1

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-18-MySQL-数据类型(理解)

2、浮点类型-专门用来保存小数的FLOAT(m,d) 4字节 单精度DOUBLE(m,d) 8字节 双精度其中:m表示总位数,d表示小数位数-float和double的区别 +占用存储空间大小不一样 +默认保留的小数位数不同 +保存数据的有效精度也不同浮点类型特点 +和其他编程语言中一样,浮点类型是不准确的 +所以在企业开发中千万不要使用浮点数来保存用户的准确的、珍贵的信息(比如RMB)示例一:默认保留的小数位数...

2020-07-28 11:15:47 70

原创 江哥MySQL视频学习笔记-第05章 MySQL数据类型-17-MySQL-数据类型(理解)

1、MySQL为什么要提供数据类型?如果没有数据类型,那么MySQL就不知道需要分配多大的存储空间来存储你的数据,过大会浪费,会造成资源浪费,体积变大效率变低,过小可能导致数据溢出不能完整的保存数据,所以MySQL提供数据类型的目的是为了让我妈合理的分配存储空间,降低数据库的体积,为了让我们合理的分配存储空间,完整的保存数据,为了更好的对数据库进行优化2、MySQL中哪些数据类型?-整型类型/浮点类型/定点类型/字符类型/文本类型/枚举类型/集合类型/日期类型/布尔类型3、整数类型 -.

2020-07-27 16:04:41 84

原创 江哥MySQL视频学习笔记-第04章 MySQL数据增删改查 -16-MySQL-Navicat使用(理解)

Navicat下载地址:http://www.navicat.com.cn/download/navicat-premium下载试用版本安装完毕后,首先连接服务器(可以连接远程,也可以连接本地)

2020-07-21 08:12:40 111

原创 江哥MySQL视频学习笔记-第04章 MySQL数据增删改查 -15-MySQL-删除数据(掌握)

删除数据delete from 表名[where 条件];#删除满足条件的数据delete from stu where score >80;#删除所有数据delete from stu;

2020-07-20 15:26:30 61

原创 江哥MySQL视频学习笔记-第04章 MySQL数据增删改查 -14-MySQL-查询数据(掌握)

1、查询表#注意点:以下方式会将表中所有的数据都查询出来,所以性能比较差#注意点:以下方式会将表中所有的数据都查询出来,不能查询特定字段的值select * from 表名;#以下才是查询数据完整的写法select 字段名称1,字段名称2,... from 表名 [where 条件];#查询特定字段的数据select name from stu;#查询满足条件的数据select * from stu where score > 60;select id ,nam

2020-07-20 15:21:13 58

原创 江哥MySQL视频学习笔记-第04章 MySQL数据增删改查 -13-MySQL-更新数据(掌握)

更新数据update 表名 set 字段名称=值 [where 条件];示例:#注意点:如果在更新数据的时候没有指定条件,那么就会更新整张表中的数据update stu set score=77;#注意点:如果在更新数据的时候指定了条件,那么只会更新满足条件的数据update stu set score=88 where name='ls';#注意点:在指定条件的时候,我们可以通过AND来指定多个条件,AND===&&update stu set score=

2020-07-20 10:27:35 63

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除