随笔分类 -  MySQL

摘要:字段中包含 NULL 和 其他字符串值时, 字段既包含 NULL 也有字符串类型的值, 使用如下 SQL 无法获取值为 NULL 的部分 使用如下 SQL 问题解决: 阅读全文
posted @ 2018-09-11 18:25 Ryan_zheng 阅读(3217) 评论(0) 推荐(1)
摘要:PgSQL MySQL 阅读全文
posted @ 2018-09-06 17:50 Ryan_zheng 阅读(1750) 评论(0) 推荐(0)
摘要:有时候我们给表或者字段命名时,会无意中选择了一个SQL中的关键字进行命名,然后就报错了: ERROR: syntax error at or near "limit" MySQL解决方法: 在MySQL中需要添加 `` PostgreSQL解决方法: 在PostgreSQL中需要添加 "" 但是,命 阅读全文
posted @ 2018-07-22 15:18 Ryan_zheng 阅读(3933) 评论(0) 推荐(0)
摘要:经常会有朋友或者同事问起,MySQL 的 root 密码忘了,不知道改怎么办。 其实解决方法很简单,下面是详细的操作步骤。 (1)修改配置文件my.cnf,在配置文件[mysqld]下添加skip-grant-tables,重启MySQL服务即可免密码登录 其中--skip-grant-tables 阅读全文
posted @ 2018-07-22 00:34 Ryan_zheng 阅读(26812) 评论(0) 推荐(1)
摘要:MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理, 默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设置, 这样方面用户的管理和权限的管理,也增加了用户的安全性。 MySQL8.0中,MySQL库中表的文件合并到数据根目录中的mysq 阅读全文
posted @ 2018-07-20 09:04 Ryan_zheng 阅读(22237) 评论(0) 推荐(2)
摘要:数据导出 1. 使用 SELECT ...INTO OUTFILE ...命令来导出数据,具体语法如下。 其中 option 参数可以是以下选项: FIELDS TEMINATED BY 'string' (字符分断符) FIELDS [OPTIONALLY] ENCLOSED BY 'CHAR' 阅读全文
posted @ 2018-07-19 23:04 Ryan_zheng 阅读(1150) 评论(0) 推荐(0)
摘要:备份 MySQL 中的逻辑备份是将数据库中的数据备份为一个文本文件, 备份的文件可以被查 看和编辑。 在 MySQL 中,使用 mysqldump 工具来完成逻辑备份。 有以下 3 种方法来调用 mysqldump: 1. 备份指定的数据库下的所有表,或者此数据库中某些表。 shell> mysql 阅读全文
posted @ 2018-07-19 22:14 Ryan_zheng 阅读(264) 评论(0) 推荐(0)
摘要:修改密码: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码' 通过以下命令可以查看修改的账号密码: use mysql; select * from user\G 阅读全文
posted @ 2018-07-19 08:34 Ryan_zheng 阅读(1086) 评论(0) 推荐(0)
摘要:mac下刚刚安装完MySQL后使用命令连接到MySQL 提示: -bash: mysql: command not found使用 /usr/local/mysql-8.0.11-macos10.13-x86_64/bin/mysql -uroot -p 可以连接成功 在终端执行 再次执行 输入密码 阅读全文
posted @ 2018-07-08 11:14 Ryan_zheng 阅读(5673) 评论(0) 推荐(0)
摘要:命令行下登录mysql 首先必须在alias下有设置mysql, 我的mysql安装的位置在/usr/local/mysql 于是做了一个别名: alias mysql='/usr/local/mysql/bin/mysql' 现在可以输入 mysql -u root -p -D books -h 阅读全文
posted @ 2018-06-16 23:51 Ryan_zheng 阅读(922) 评论(0) 推荐(0)
摘要:如果一个字段需要同时包含多个信息点, 最佳的方法是进行位运算,如:1,2,4,8,16 根据与运算进行判断,如一个字段为7,判断2是否存在, 7&2 = 2为ture时,表示存在,反之亦然, 因为7的二进制为:0111,2的二进制为0010, 7&2 = 0111 & 0010 = 0010 = 2 阅读全文
posted @ 2018-05-17 14:15 Ryan_zheng 阅读(4189) 评论(0) 推荐(0)
摘要:mysql服务启动失败,可以使用排除法查找原因: 如果修改了my.cnf后重启mysql服务失败,大多数情况下都是配置文件有错误, 可以通过备份原来的配置文件,然后将配置文件清空,只剩下[mysqld], 使用命令systemctl restart mysqld,如果能成功重启,说明配置文件出问题了 阅读全文
posted @ 2018-03-03 13:51 Ryan_zheng 阅读(2907) 评论(0) 推荐(0)
摘要:MySQL 运维或者调试 Bug 时,最有效且直接的方法就是直接查看 SQL 执行日志,如果可以直接显示所有 SQL 的执行信息,基本可以定位到问题。本文接下来会讲解如何实现实时监控 SQL 执行。 查看 Log 功能 首先,查看是否已经开启实时 SQL 记录功能 show varaibles li 阅读全文
posted @ 2018-03-03 13:45 Ryan_zheng 阅读(589) 评论(0) 推荐(0)
摘要:1、对于主键和唯一索引,可以用IGNORE关键字,遇到重复记录会直接忽略插入记录,返回0。insert ignore into table_name ('id','name') values (1,'eddy')2、replace关键字:REPLACE的运行与INSERT很相像,但是如果旧记录与新记 阅读全文
posted @ 2018-03-01 12:11 Ryan_zheng 阅读(389) 评论(0) 推荐(0)
摘要:CentOS 下通过命令登录Mysql: mysql -uroot -p 按回车键后输入密码 阅读全文
posted @ 2018-02-12 18:23 Ryan_zheng 阅读(1714) 评论(0) 推荐(0)
摘要:在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因。 1. 两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint。另 阅读全文
posted @ 2018-02-06 19:22 Ryan_zheng 阅读(298) 评论(0) 推荐(0)
摘要:提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节; 2.数据项:是否有大字段,那些字段的值是否经常被更新; 3.数据查询SQL条件: 阅读全文
posted @ 2018-01-23 11:37 Ryan_zheng 阅读(21958) 评论(1) 推荐(0)
摘要:今天对一个有四百多万数据的表增加一个功能时,当做数据插入时,显示没有插入,到Linux的log下面查看了发现下面这条错误信息 在stacOver上面找到这句: 存储引擎(MyISAM)支持修复表。你应该可以修复它。 如果修复失败,则表示表已损坏,您别无选择,只能从备份中恢复。 如果你有其他的系统(如 阅读全文
posted @ 2018-01-22 19:11 Ryan_zheng 阅读(258) 评论(0) 推荐(0)
摘要:设计一个数据表如下: create table optimization( id INT NOT NULL AUTO_INCREMENT, value VARCHAR(10) NOT NULL, PRIMARY KEY(id) ); create table optimization( id INT 阅读全文
posted @ 2018-01-19 17:13 Ryan_zheng 阅读(1821) 评论(0) 推荐(0)
摘要:在阿里云上面安装配置了Mysql后,无法创建外键, 原因及解决方法: 选择InnoDB引擎,因为MyISAM引擎不支持外键,默默地说一句,MySQL真神奇 阅读全文
posted @ 2018-01-11 20:09 Ryan_zheng 阅读(648) 评论(0) 推荐(0)