枚举类型使用陷阱 超级不推荐在mysql中设置某一字段类型为enum,但是存的值为数字,比如‘0’,‘1’,‘2’; 解释1:你会混淆,因为enum可以通过角标取值,但它的角标是从1开始,对于不熟悉这个字段的人这里会出错...中enum类型的字段来说,那就不一定是一回事了 结论:总之,不要拿mysql的enum类型取存一些数字;如果你一定要使用这个字段去存数字,请把这个字段定义为int,然后在java代码中使用枚举类做一个对于这个字段值范围的一个限定...中枚举类型Color定义取值的顺序是RED、GREEN、BLUE,因此,当这三个取值持久化到数据库表时,取值分别是0、1、2; * 意思就是我们这里存往数据库的数据是0、1、2这样的数字,而不是...RED、GREEN、BLUE字符串, 但是Mysql数据库中定义的是RED、GREEN、BLUE,并没有其它值所以报错 解决:在entity中使用@Enumerated(EnumType.STRING)...* 解决:mysql数据类型定义为int,枚举限定在java代码中解决 * */ @GetMapping("/test5insert") public void insertT5(){ Test5Num
这个值后面对应的utf8_unicode_ci是什么意思呢?面试的时候用这个题目考一考DBA,应该可以难倒一大部分人。 COLLATE是用来做什么的?...对于mysql中那些字符类型的列,如VARCHAR,CHAR,TEXT类型的列,都需要有一个COLLATE类型来告知mysql如何对该列进行排序和比较。...这里顺便讲个题外话,mysql中有utf8和utf8mb4两种编码,在mysql中请大家忘记utf8,永远使用utf8mb4。...这是mysql的一个遗留问题,mysql中的utf8最多只能支持3bytes长度的字符编码,对于一些需要占据4bytes的文字,mysql的utf8就不支持了,要使用utf8mb4才行。...以上就是关于mysql的COLLATE相关知识。不过,在系统设计中,我们还是要尽量避免让系统严重依赖中文字段的排序结果,在mysql的查询中也应该尽量避免使用中文做查询条件。
数据库分类 关系型——SQL MySQL,Oracle,Sql Server,DB2,SQLlite 特点:通过表和表之间,行和列之间的关系进行数据存储 非关系型——NoSql(not only...sql) Redis,MongDB 非关系型数据库,对象存储,通过对象的自身的属性来决定 DBMS-数据库管理系统 数据库的管理软件——用于管理数据,维护,获取 MySql本质是一个数据库管理系统...,是最好的关系型数据库管理系统(RDBMS)应用软件之一 MySQL 关系型数据库管理系统,开源,把数据保存在不同的表中而不是将所有数据放在一个大仓库内,使用SQL语言 适用于中小型网站,或大型网站——...集群 版本 5.7 稳定 8.0 安装步骤 官方下载压缩包版 地址 解压后,配置变量(把bin目录添加到系统变量的path中) 在mysql文件目录下添加配置文件my.ini(Linux系统会自动生成)...启动管理员模式下的CMD,运行以下命令 在bin目录下安装mysql服务——mysqld -install 初始化数据库文件——mysqld –initialize-insecure –
mysql数据库范式是什么 1、第一范式1NF:字段原子性,字段不可再分割。 关系型数据库,默认满足第一范式。...以上就是mysql数据库范式的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
如题,我在phpmyadmin中发现自己新建的用户的权限是usage,这是什么权限啊? 但是我能够进行常规的插入,删除,建表操作啊?拜托,明确知道再回答好不好,这又不是贴吧,就别灌水了。...要看自己有哪些权限,执行SQL: SHOW GRANTS 在我的数据库下有一下几行: GRANT ALL PRIVILEGES ON `everalan`.* TO 'everalan'@'%' WITH...GRANT OPTION 可以看出,不知USAGE一种权限,所以,你才会正常的执行查删等操作 usage的字面意思就是用法,其实就是让你这个用户可以像个用户似的登录,但是除了能看到有那写数据库外,
在这种情况下,播放列表是数据库就是从数据库中读取出来的。 当您拍摄照片并将其上传到微博,朋友圈等,这样的社交网络中的帐户时,您的照片库就有可能存储在一个数据库中。...这就是为什么要使用关系数据库。 在关系数据库中,我们使用表对产品,类别,标签等数据进行建模。 表包含列和行。它就像一个电子表格(Excel)。 表可以涉及的使用有:一对一,一对多,多对一关系等关系。...数据控制语言允许授予用户权限访问数据库中特定数据的权限。 现在,您了解数据库和SQL,现在是时候回答下一个问题了… 3. MySQL是什么?...MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。这意味着任何一个人都可以使用MySQL而不用支付一毛钱。...与其他数据库软件(如Oracle数据库或Microsoft SQL Server)相比,MySQL非常容易学习和掌握。 MySQL可以在各种平台上运行UNIX,Linux,Windows等。
2.事务的四大特性 1 )原子性 事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做 2 )一致性 事 务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。...如果数据库系统 运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是 不一致的状态。...4 )持续性 也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。...,但不是MySQL默认的 只能看见已经提交事务所做的改变 引发不可重复读,不可重读读意味着我们同一事务执行完全相同的select语句时可能看到不一样的结果...多个commit提交时,只读一次出现结果不一致 3)可重复读(Repeatable Read) 这是MySQL的默认事务隔离级别 它确保同一事务的多个实例在并发读取数据时
mysql中primary key是什么 说明 1、primary key主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。...实例 mysql> create table t2(id int not null unique, name varchar(4)); Query OK, 0 rows affected (0.01 sec...) mysql> desc t2; +-------+------------+------+-----+---------+-------+ | Field | Type | Null...中primary key的介绍,希望对大家有所帮助。...更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑 收藏 | 0点赞 | 0打赏
mysql中Explain命令是什么 概念 1、explain用来分析SELECT查询语句,开发人员可以通过分析Explain结果来优化查询语句。...实例 explain select * from table_user ; 以上就是mysql中Explain命令的介绍,希望对大家有所帮助。
mysql中replace函数是什么 说明 1、可以替换字符串中的内容,直接替换数据库中某字段中的特定字符串,不再需要自己写函数去替换。 是mysql里面处理字符串比较常用的函数。...实例 SELECT REPLACE('MySQL字符串函数', '字符串', '日期') AS str1, REPLACE('MySQL字符串函数', '字符串', '') AS str2...; str1 |str2 | ------------+---------+ MySQL日期函数|MySQL函数| 以上就是mysql中replace函数的介绍,希望对大家有所帮助...更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑 收藏 | 0点赞 | 0打赏
MySQL中join buffer是什么 说明 1、在MySQL对于join操作的处理过程中,join buffer是一个重要的概念。...2、是MySQL对于table join的一个重要的优化手段。虽然这个概念实现并不复杂,但是这个是实现MySQL join连接优化的一个重要方法,在连接的时候可以极大提高join查询的效率。...all stored t1, t2 combinations in cache - If row satisfies join condition, send it to client 以上就是MySQL...中join buffer的介绍,希望对大家有所帮助。...更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
mysql中enum类型是什么 说明 1、枚举类型,其值范围需要在创建表时通过枚举显示。 2、enum忽略了大小写。也支持通过下标(从1开始,下标越界时报错)插入数据。特殊值0表示空值。...实例 --创建表te,包含字段f1(enum('a','b','c')) mysql> create table te(f1 enum('a','b','c')); --向表中插入几条记录 mysql>... insert into te values('a'),('B'),('3'),(null); 以上就是mysql中enum类型的介绍,希望对大家有所帮助。...更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑 收藏 | 0点赞 | 0打赏
1.pid-file介绍 MySQL 中的 pid 文件记录的是当前 mysqld 进程的 pid ,pid 亦即 Process ID 。...=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/logs/error.log --pid-file=/data/mysql...进程运行后会给 pid 文件加一个文件锁,只有获得 pid 文件写入权限的进程才能正常启动并把自身的 PID 写入该文件中,其它同一个程序的多余进程则自动退出。...在本地登录时,如果 my.cnf 配置文件中的 [client] 部分没有指定 socket 文件路径,mysql 默认会去寻找 /tmp/mysql.sock ,所以如果 mysqld 服务启动的时候...同样的,socket 文件目录权限要对 mysql 系统用户放开。 总结: 本篇文章介绍了 MySQL 中的 pid 及 socket 文件的具体配置及作用。
大型互联网企业诸如阿里、网易之类的也可以针对mysql做mysql集群和存储引擎的开发。 今天主要是想解释一下mysql体系中,数据库和数据库实例的概念。...数据库: 顾名思义,数据库,就是保存数据的仓库,具体到mysql中,数据库其实是一系列数据文件集合。这些数据文件以特定的格式,记录了你想要的数据,并保存在你的服务器的某个目录上。...在mysql的配置文件my.cnf中,datadir的选项就是对应的数据库文件存放的目录。在mysql,这些数据库文件以frm、idb等为后缀。这些文件集后到一起,便组成了一个数据库。...数据库实例: 那什么是数据库实例呢?简单讲,数据库实例就是访问数据库的应用程序。在Mysql中,就是mysqld进程了。...数据库实例这个应用程序实现了对数据库操作的封装,同时也实现了SQL语言的解析,让用户用SQL语言这种简单直接的方式去操作数据库的内容。 以上就是Mysql体系中,数据库和数据实例两种概念的区别和联系。
ROLLUP (8)HAVING constarint_expression (11)ORDER BY column ASC|DESC (12)LIMIT count OFFSET count; 从这个顺序中我们可以发现...在实际执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。 接下来,我们详细的介绍下每个步骤的具体执行过程。
全局锁 顾名思义,全局锁就是对整个数据库实例加锁。 1. FTWRL MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。...如果执行 FTWRL 命令之后由于客户端发生异常断开,那么 MySQL 会自动释放这个全局锁,整个库回到可以正常更新的状态。...表锁 MySQL 里面表级别的锁有两种:一种是表锁,一种是元数据锁(meta data lock,MDL)。...MDL 锁 另一类表级的锁是 MDL(metadata lock),这个是 MySQL 5.5 版本中引入了 MDL,当对一个表做增删改查操作的时候,加 MDL 读锁;当要对表做结构变更操作的时候,加...这大大降低了数据库的执行性能。 怎么减少行锁对性能的影响? 关闭死锁检测 控制并发度,业务层面和数据库层面。
以前只是简单听说过Mysql有全文索引,但是一直没有认真去了解过。最近在《MYSQL必知必会》中学习到这个知识点,做下记录。 首先,什么是全文索引?...开启以后我们就能对note_text使用全文索引,并且在增加更新删除行的时候,Mysql会自动帮我们更新索引。...那么如果是上面这条语句,Mysql会把所有note_text中含有rabbit的行记录选出来。...相当于 LIKE ‘%rabbit%’ ; 但是这里必须谈一谈,文章开头所说到的智能是什么意思,问什么会和LIKE不同?...③Mysql再次进行全文索引,并且 不仅使用原查询词语,而且加上步骤②选出的词。
SQL(Structure Query Language)是数据库操作的的核心语言,接下来我们通过一张图来进行分析: DDL(Data Definition Languages)语句:即数据库定义语句...,用来创建数据库中的表、索引、视图、存储过程、触发器等,常用的语句关键字有:CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME。...DCL(Data Control Language)语句:即数据控制语句,用于授权/撤销数据库及其字段的权限(DCL is short name of Data Control Language which
MySQL中的逻辑备份是什么 说明 1、MySQL中的逻辑备份是将数据库中的数据备份为一个文本文件,备份的文件可以被查看和编辑。 2、可以使用mysqldump工具来完成逻辑备份。...如果没有指定数据库中的任何表,默认导出所有数据库中的所有表。...实例 // 备份指定的数据库或者数据库中的某些表 shell> mysqldump [options] db_name [tables] // 备份指定的一个或多个数据库 shell> ...以上就是MySQL中逻辑备份的介绍,大家在看懂基本的方法后,可以试试有关的操作。...更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
SQL(Structure Query Language)是数据库操作的的核心语言,接下来我们通过一张图来进行分析: ?...DDL(Data Definition Languages)语句:即数据库定义语句,用来创建数据库中的表、索引、视图、存储过程、触发器等,常用的语句关键字有:CREATE,ALTER,DROP,TRUNCATE...DCL(Data Control Language)语句:即数据控制语句,用于授权/撤销数据库及其字段的权限(DCL is short name of Data Control Language which
领取专属 10元无门槛券
手把手带您无忧上云