
MySQL数据库
文章平均质量分 78
MySQL数据库从0基础,到删库跑路的高手
霸道小明
种一棵树最好的时间是十年前,其次是现在。如果你十年前没有种,那就现在种。
展开
-
C语言实现推箱子 (数据库连接+项目打包发布)
小时候都玩过推箱子这个经典的小游戏,它伴随着我们的童年,带给我们了许多的乐趣。今天呢小编为大家分享一下使用C语言来完成推箱子游戏。以及如何将游戏与数据库连接和项目的打包发布。原创 2022-02-22 23:27:49 · 12145 阅读 · 12 评论 -
【MySQL联合查询】外连接查询详解
当我们在查询数据时,要求返回所操作表中至少一个表的所有数据记录,通过SQL语句“OUTER JOIN…ON”来实现。外连接数据查询语法形式如下:SELECT field1,field2,…,fieldn FROM tablename1 LEFT|RIGHT [OUTER] JOIN tablename2 ON CONDITION参数fieldn表示所要查询的字段名字,来源于所连接的表tablename1和tablename2; 关键字OUTER JOIN表示表进行外连接...原创 2022-02-01 21:49:38 · 4805 阅读 · 0 评论 -
【MySQL联合查询】内连接查询详解
在实际开发中,我们会联合多个表来实现查询,比如把班级表和学生表联合起来就同时可以看到班级、老师和学员的信息,一个班级表自连接。内连接查询中存在一种特殊的等值连接——自连接。所谓自连接,就是指表与其自身进行连接。例如,在学生表中查询学生小花所在班级的其他学生。不等值连接。 内连接查询中的不等连接就是在关键字ON后的匹配条件中通过除了等于关系运算符来实现不等条件外,还可以使用关系运算符,包含“>”“>=”“<”“<=”和“!=”等运算符号。原创 2022-02-01 21:35:10 · 8098 阅读 · 0 评论 -
C/C++访问MySQL数据库,配置VS编译器
第一步:打开mysql的安装目录,默认安装目录如下:C:\Program Files\MySQL\MySQL Server 8.0,确认 lib 目录和include 目录是否存在。第二步:打开VS2019,新建一个空工程,控制台应用程序即可,注意:解决方案平台选择 X64第三步:打开项目属性页,打开VC++目录,在包含目录中,将mysql安装文件中的include文件的路径添加到这里第四步:打开VC++目录,在库目录中将mysql文件中的lib文件路径添加进来第五步:...原创 2022-02-02 21:46:50 · 1512 阅读 · 0 评论 -
【MySQL】数据库的存储引擎
一、什么是存储引擎 MySQL中存在多种存储引擎的概念。简而言之,存储引擎就是指表的类型。在具体开发时,为了提高MySQL数据库管理系统的使用效率和灵活性,可以根据实际需要来选择存储引擎。因为存储引擎指定了表的类型,即如何存储和索引数据、是否支持事务等,同时存储引擎也决定了表在计算机中的存储方式。二、MySQL支持的存储引擎 在选择存储引擎之前,首先需要确定数据库管理系统支持哪些存储引擎。在MySQL数据库管理系统,通过SHOW ENGINES来查看支持的存储引擎,语法如下:...原创 2022-02-02 21:46:28 · 684 阅读 · 0 评论 -
【MySQL存储过程】存储过程的查看与删除
查看存储过程 存储过程创建以后,用户可以通过SHOW STATUS语句来查看存储过程的状态,也可以通过SHOW CREATE语句来查看存储过程的定义。用户也可以通过查询information_schema数据库下的Routines表来查看存储过程的信息。本节将详细讲解查看存储过程的状态与定义的方法。SHOW STATUS语句查看存储过程 在MySQL中,可以通过SHOW STATUS语句。其基本语法形式如下: SHOW PROCEDURE STATUS [ like ‘...原创 2022-02-02 21:40:43 · 29795 阅读 · 0 评论 -
【MySQL存储过程】流程控制的使用详解
在存储过程和函数中,可以使用流程控制来控制语句的执行。在MySQL中,可以使用IF语句、CASE语句、LOOP语句、LEAVE语句、ITERATE语句、REPEAT语句和WHILE语句来进行流程控制。IF语句 IF语句用来进行条件判断。根据条件执行不同的语句。其语法的基本形式如下:IF search_condition THEN statement_list [ELSEIF search_condition THEN statement_list] ...[E...原创 2022-02-02 21:31:31 · 2165 阅读 · 0 评论 -
【MySQL存储过程】光标的使用详解
查询语句可能查询出多条记录,在存储过程和函数中使用光标来逐条读取查询结果集中的记录。有些书上将光标称为游标。光标的使用包括声明光标、打开光标、使用光标和关闭光标。光标必须声明在处理程序之前,并且声明在变量和条件之后。声明光标在MySQL中,可以使用DECLARE关键字来声明光标,其基本语法如下:DECLARE cursor_name CURSOR FOR select_statement; 参数cursor_name表示光标...原创 2022-02-02 21:25:20 · 2811 阅读 · 2 评论 -
【MySQL存储过程和函数】存储过程定义变量与用户变量详解
在存储过程中使用变量 在存储过程和函数中,可以定义和使用变量。用户可以使用关键字DECLARE来定义变量,然后为变量赋值。这些变量的作用范围是在BEGIN…END程序段中。定义变量 在MySQL中,可以使用DECLARE关键字来定义变量。定义变量的基本语法如下:DECLARE var_name[,…] type [DEFAULT value]关键字DECLARE是用来声明变量的; 参数var_name是变量的名称,可以同时定义多个变量; 参数type用来指定变量...原创 2022-02-02 21:18:08 · 6978 阅读 · 1 评论 -
【MySQL存储过程】创建一个简单的存储过程
什么是存储过程和函数 存储过程和函数是在数据库中定义的一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句。存储过程和函数可以避免开发人员重复编写相同的SQL语句。而且,存储过程和函数是在MySQL服务器中存储和执行的,可以减少客户器端和服务端的数据传输。创建存储过程 创建存储过程和函数是指将经常使用的一组SQL语句组合在一起,并将这些SQL语句当作一个整体存储在MySQL服务器中。存储程序可以分为存储过程和函数。在MySQL中创建存储过程使用的...原创 2022-02-02 20:06:08 · 8915 阅读 · 0 评论 -
【MySQL触发器】触发器的使用、创建、修改及删除
触发器的概念 当我们对一个表进行数据操作时,需要同步对其它的表执行相应的操作,正常情况下,如果我们使用sql语句进行更新,将需要执行多条操作语句! 触发器(TRIGGER)是由事件来触发某个操作。这些事件包括INSERT语句、UPDATE语句和DELETE语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。MySQL从5.0.2版本开始支持触发器。创建触发器 在MySQL中创建触发器通过SQL语句CREATE TRIGGER来实现,其语法形式如下:CR...原创 2022-02-02 19:25:57 · 92001 阅读 · 7 评论 -
【MySQL视图】视图的概念、创建、查看、删除和修改
什么是视图 小学的时候,每年都会举办一次抽考活动,意思是从每一个班级里面筛选出几个优秀的同学去参加考试。这时候很多班级筛选出来的这些同学就可以临时组成一个班级,如果我们把每一个班级都当做是一张真实的表,这个临时的班级在数据库里就可以当做一个视图,也就是说,这个临时的班级其实不是真实存在的,当考试过后,这些学生还是各回各家各找各妈。。。。 视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据,这样用户可以不看整个数据库表中的...原创 2022-02-01 22:18:14 · 21721 阅读 · 2 评论 -
【MySQL联合查询】子查询详解
所谓子查询,是指在一个查询中嵌套了其他的若干查询,即在一个SELECT查询语句的WHERE或FROM子句中包含另一个SELECT查询语句。在查询语句中,外层SELECT查询语句称为主查询,WHERE子句中的SELECT查询语句被称为子查询,也被称为嵌套查询。 通过子查询可以实现多表查询,该查询语句中可能包含IN、ANY、ALL和EXISTS等关键字,除此之外还可能包含比较运算符。理论上,子查询可以出现在查询语句的任意位置,但是在实际开发中子查询经常出现在WHERE和FROM子句中。...原创 2022-02-01 22:01:23 · 1980 阅读 · 0 评论 -
【MySQL联合查询】合并查询数据记录
在MySQL中通过关键字UNION来实现合并操作,即可以通过其将多个SELECT语句的查询结果合并在一起,组成新的关系。在MySQL软件中,合并查询数据记录可通过SQL语句UNION来实现,具体语法形式如下:SELECT field1,field2,…,fieldn FROM tablename1 UNION | UNION ALL SELECT field1,field2,…,fieldn FROM tablename2 UNION | UNION ALL ...原创 2022-02-01 21:54:48 · 1345 阅读 · 0 评论 -
【MySQL】简单查询语句详解
目录引言:SELECT语句基本形式1、列出表的所有字段2、“ * ”通配符查找3、查询指定字段数据4、DISTINCT查询5、IN与NOT IN集合查询6、BETWEEN AND查询7、模糊查询8、对查询结果排序9、简单分组查询10、统计分组查询末尾????引言:SELECT语句基本形式 在MySQL中,可以使用SELECT语句来查询数据,根据查询条件的不同,数据库系统会找到不同的数据,通过SELECT语句可以很方便地获取所需的信息。SELEC...原创 2022-01-13 20:36:15 · 2112 阅读 · 0 评论 -
【MySQL】数据的插入更新和删除
插入数据记录是常见的数据操作,可以显示向表中增加的新的数据记录。在MySQL中可以通过“INSERT INTO”语句来实现插入数据记录,该SQL语句可以通过如下4种方式使用:插入完整数据记录、插入部分数据记录、插入多条数据记录和插入JSON结构的数据记录。更新表中已经存在数据记录中的值。在MySQL中可以通过UPDATE语句来实现更新数据记录,删除表中已经存在的数据记录。在MySQL中可以通过DELETE语句来删除数据记录。原创 2022-01-13 18:02:21 · 816 阅读 · 0 评论 -
【MySQL】隐藏索引、删除索引和索引的设计原则
隐藏索引,让索引暂时不可见,不会被优化器使用。默认情况下索引是可见的。隐藏索引可以用来测试索引的性能。验证索引的必要性时不需要删除索引,可以先将索引隐藏,如果优化器性能无影响就可以真正地删除索引。删除索引,就是删除表中已经创建的索引。删除索引,是因为这些索引会降低表的更新速度,影响数据库的性能。删除索引通过DROP INDEX来实现。索引的设计原则:选择唯一性索引,为经常需要排序、分组和联合操作的字段建立索引,为经常作为查询条件的字段建立索引,限制索引的数目,尽量使用数据量少的索引,尽量使用前缀来索引。原创 2022-01-13 15:28:15 · 646 阅读 · 0 评论 -
【MySQL】多列索引详解
多列索引,是指在创建索引时所关联的字段不是一个字段,而是多个字段,虽然可以通过所关联的字段进行查询,但是只有查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用。和普通索引定义基本相同,不同之处就是增加了多个索引列。在上述语句中,关键字CREATE INDEX表示用来创建多列索引。除了上述两种方式来创建全文索引外,在MySQL中创建全文索引还可以通过SQL语句ALTER来实现。原创 2022-01-13 14:59:14 · 3346 阅读 · 0 评论 -
【MySQL8】中文分词支持全文索引
配置文件my.ini(Windows 10默认路径: C:\ProgramData\MySQL\MySQL Server 8.0) 中增加如下配置项,同时重启MySQL80 服务:以管理员身份运行命令符提示,重启MySQL80。在创建的全文索引语句后加入with parser ngram(with parser ngram就是使支持中文的全文索引)[mysqld]ngram_token_size=2 #这句话可以使中文按2个文字切词,进行全文索引...原创 2022-01-13 12:51:41 · 1950 阅读 · 1 评论 -
【MySQL】全文索引详解
全文索引主要对字符串类型建立基于分词的索引,主要是基于CHAR、VARCHAR和TEXT的字段上,以便能够更加快速地查询数据量较大的字符串类型的字段。全文索引以词为基础的,MySQL默认的分词是所有非字母和数字的特殊符号都是分词符。MySQL从3.23.23版本开始支持全文索引,MySQL5.6以前只能在存储引擎为MyISAM的数据表上创建全文索引,5.6之后InnoDB开始支持全文索引(5.7之后支持中文全文索引) 。在默认情况下,全文索引的搜索执行方式为不区分大小写,如果全文索引所关联的字段为二进制数据原创 2022-01-13 12:12:47 · 4588 阅读 · 0 评论 -
【MySQL】轻松学习 唯一索引
.创建表的时候创建索引、在已经存在的表上创建索引和使用ALTER TABLE语句来创建索引。所谓唯一索引,就是在创建索引时,限制索引的字段值必须是唯一的。通过该类型的索引可以比普通索引更快速地查询某条记录。UNIQUE INDEX | KEY [indexname] (propnamen [(length)] [ ASC | DESC ] 其实数据库本身有一些优化,并不是创建了索引就一定会用,至于什么时候检索会使用索引,就要看数据库的内部机制了唯一索引与unique约束共存时,唯一索引便显得有些重复原创 2022-01-10 18:08:59 · 15539 阅读 · 2 评论 -
【MySQL】轻松学习 普通索引
创建表的时候创建索引、在已经存在的表上创建索引用.ALTER TABLE语句来创建索引。普通索引是在创建索引时不附加任何限制条件该类型的索引可以创建在任何数据类型的字段上。参数INDEX和KEY是用来指定字段为索引的indexname是索引名字propnamen是索引对应的字段的名称参数length是可选参数,其指索引的长度,必须是字符串类型才可以使用ASC表示升序排列,DESC表示降序排列,如果不指定,则为升序CREATE INDEX indexname ON tablename (propname [(原创 2022-01-10 13:46:22 · 3940 阅读 · 0 评论 -
MySQL→索引的概述
目录 引言 1、索引的基本概念 2、索引类型 3、索引的存储 4、索引优点 5、索引缺点 使用建议引言 日常生活中,我们经常会在电话号码簿中查阅“某人”的电话号码,按姓查询或者按字母排序查询; 在字典中查阅“某个词”的读音和含义等等,以快速的找到特定记录。在这里,“姓”和“字母”都可看作是索引, 而按“姓”或者“字母”查询则是按索引查询!1、索引的基本概念 索引是一种特殊的数据库结构,可以用...原创 2022-01-09 20:26:28 · 315 阅读 · 0 评论 -
【MySQL】轻松学习 列的完整性约束3(自动增长和设置默认)
列的完整性约束,设置表字段值自动增加(AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值会自动生成唯一的ID。在具体设置AUTO_INCREMENT约束时,一个数据库表中只能有一个字段使用该约束,该字段的数据类型必须是整数类型。由于设置AUTO_INCREMENT约束后的字段会生成唯一的ID,因此该字段也经常会同时设置成PK主键。默认值(DEFAULT)当为数据库表中插入一条新记录时,如果没有为某个字段赋值,数据库系统就会自动为这个字段插入默认值。原创 2022-01-09 16:04:31 · 1928 阅读 · 1 评论 -
【MySQL】轻松学习 列的完整性约束2(非空和唯一性约束)
列的完整性约束,设置表字段的非空约束(NOT NULL,NK)当数据库表中的某个字段上的内容不希望设置为NULL时,可以使用NK约束进行设置。NK约束在创建数据库表时为某些字段上加上“NOT NULL”约束条件,保证所有记录中的该字段都有值。如果在用户插入的记录中该字段为空值,那么数据库管理系统会报错。设置表字段唯一约束(UNIQUE,UK)当数据库表中某个字段上的内容不允许重复时,可以使用UK约束进行设置。UK约束在创建数据库时为某些字段加上“UNIQUE”约束条件,保证所有记录中该字段上的值不重复。原创 2022-01-09 14:42:36 · 1040 阅读 · 0 评论 -
【MySQL】轻松学习 列的完整性约束1(主键与外键约束)
完整性约束条件是对字段进行限制,要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库系统将不再执行用户的操作。主键是表的一个特殊字段,能唯一标识该表中的每条信息。PRIMARY KEY,PK。单字段主键、多字段主键。外键约束(FOREIGN KEY,FK)外键是表的一个特殊字段,外键约束是为了保证多个表(通常为两个表)之间的参照完整性,即构建两个表的字段之间的参照关系。设置外键约束的两个表之间具有父子关系,即子表中某个字段的取值范围由父表决定。在具体设置FK约束时,设置FK约束的字段必原创 2022-01-09 14:08:35 · 2424 阅读 · 3 评论 -
【MySQL】轻松学习 列的类型定义(五)二进制类型
二进制数据和文本数据在mysql中的最大区别、二进制类型是存储二进制数据的数据类型,包括BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。BINARY类型的长度是固定的,在创建表时就指定了,不足最大长度的空间由″\0″补全。插入数据时,使用 b’位串’的方式插入相应值!查询时,可以使用 bin() 、oct() 、hex() 函数将字段的值转成相应的二进制、八进制和十六进制。TINYBLOB会有1个字节记录存储数据的长度,BLOB有2个字节记录存储原创 2022-01-09 10:00:40 · 2998 阅读 · 1 评论 -
【MySQL】轻松学习 列的类型定义(四)ENUM与SET类型
ENUM和SET类型。ENUM类型又称为枚举类型。在创建表时,ENUM类型的取值范围以列表的形式指定,其基本形式如下:属性名 ENUM('值1', '值2', …, '值n')其中,“属性名”参数指字段的名称,“值n”参数表示列表中的第n个值。ENUM类型的值只能取列表中的一个元素。其取值列表中最多能有65535(2个字节)个值。在创建表时,SET类型的取值范围就以列表的形式指定了,其基本形式如下:属性名 SET('值1', '值2', …, '值n')其中,属性名参数指字段原创 2022-01-08 13:11:14 · 842 阅读 · 1 评论 -
【MySQL】轻松学习 列的类型定义(三)CHAR与VARCHAR和TEXT类型
1.CHAR和VARCHAR CHAR类型和VARCHAR类型都在创建表时指定了最大长度,其基本形式如下:字符串类型(M) 其中,“字符串类型”参数指定了数据类型为CHAR类型还是VARCHAR类型;M参数指定了该字符串的最大长度为M。例如,CHAR(4)就是数据类型为CHAR类型,其最大长度为4。CHAR类型的长度是固定的,在创建表时就指定了。其长度可以是0~255的任意值。2 、TEXT类型TEXT类型是一种特殊的字符串类型,包括TINYTEXT、TEXT、MEDIUMTEXT和LON原创 2022-01-07 21:08:06 · 1793 阅读 · 0 评论 -
【MySQL】轻松学习 列的类型定义(二)日期和时间类型
日期与时间类型是为了方便在数据库中存储日期和时间而设计的,数据库有多种表示日期和时间的 数据类型。其中,YEAR类型(年),DATE类型(日期),TIME类型(时间),DATETIME(日期时间)、TIMESTAMP类型(时间戳)。...原创 2022-01-07 16:41:07 · 275 阅读 · 2 评论 -
【MySQL】轻松学习 列的类型定义(一)整数与浮点数类型
MySQL列的类型定义,整形类型,整形类型附带的属性(类型名称后面的小括号、unsinged无符号、AUTO_INCREMENT自增长)、浮点类型以及定点类型原创 2022-01-07 13:46:43 · 1465 阅读 · 3 评论 -
【MySQL】轻松学习 数据库的基础操作
数据库操作详解MySQL、关系模型、创建数据库、 查看数据库、选择数据库、删除数据库、 MySQL数据库命名规范原创 2022-01-06 15:00:25 · 187 阅读 · 0 评论 -
为什么要学习数据库以及数据库的选择
一、为什么要学习数据库1.数据库概念数据库(Database),就是暗转数据结构来组织、存储和管理数据,建立在计算机存储设备上的仓库。我们可以吧数据库看成电子化的文件库,也就是存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。2.为什么需要数据库一般情况向下,要保存用户的数据,一个最简单的方法是吧用户数据据写入文件。例如,要保存用户密码信息,可以写入下面的文件中txt文件:保...选择数据库原创 2022-01-06 09:35:59 · 5560 阅读 · 3 评论