![](https://img-blog.csdnimg.cn/20200724145355142.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
数据库
极客点儿
但行好事,莫问前程
展开
-
SQL 中 ORDER BY 和 GROUP BY 的区别、用法以及两者如何同时使用
ORDER BY 是排序,准确的说是对某个或某几个字段的值进行排序,ASC 是升序,DESC 是降序,默认为升序。GROUP BY 是分组,准确的说是对某个字段相等的值为一组的聚合分组,聚合函数一般有:COUNT()、SUM()、AVG()、MAX()、MIN()等几种。原创 2023-05-31 17:10:23 · 2671 阅读 · 0 评论 -
MySQL 操作 JSON 数据类型
MySQL 从 v5.7.8 开始支持 JSON 数据类型。JSON 数据类型和传统数据类型的操作还是有很大的差别,需要单独学习掌握。好在 JSON 数据类型的学习成本不算太高,只是在 SQL 语句中扩展了 JSON 函数,操作 JSON 数据类型主要是对函数的学习。原创 2023-02-22 18:00:23 · 1835 阅读 · 0 评论 -
Redis 中如何设置 Hash 数据类型的过期时间?
在 `Redis` 中可以通过 `setex` 或 `expire` 方式来设置 `key` 的过期时间。但是对于`Hash` 数据类型 `Redis` 是不支持的,所以我们需要使用“曲线救国”的方式去实现 `Hash` 数据类型的过期时间。即,先对 `Hash` 数据类型赋值,然后再对 `Hash` 数据类型的 `key` 设置一个过期时间,这样就间接的实现了对 `Hash` 数据类型的过期时间操作。原创 2023-02-07 18:08:25 · 17599 阅读 · 0 评论 -
SQLite 背后的故事
SQLite 现在已经是全球用户最多的数据库产品。它非常小巧以及单文件无单独操作系统进程,就像病毒一样依附在宿主程序的进程里运行。你看不到它,但它却无处不在。汽车,手机,浏览器,以及各类 app 里都能见到 .db 结尾的 SQLite 数据库文件。 假如 SQLite 出现重大 bug,或者像平常的数据库那样无法连接,整个地球都会乱套。你身边用的几乎所有电子产品(手机,电脑,iPad,笔记本)和嵌入式设备全部都会出问题。它的诞生到大范围全球流行的过程和一般软件有着不太一样的发展历程。转载 2023-02-06 17:39:00 · 200 阅读 · 0 评论 -
Navcat 连接 MongoDB 报错:[13][Unauthorized] command listDatabases requires authentication
在使用 Navcat 连接 MongoDB 的时候报错了:[13][Unauthorized] command listDatabases requires authentication但是在测试连接的时候明明是可以的,但是为什么命令行可以连接,但是图形化界面却连接不了了呢?Google 后发现原来是需要给 MongoDB 一个验证,需要创建一个用户名和密码。MacBook:bin zhangyi$ ./mongoMongoDB shell version v4.4.6connecting原创 2021-06-10 11:13:50 · 6559 阅读 · 0 评论 -
MySQL 中的悲观锁和乐观锁
在实际项目开发中,尤其是需要设计到并发操作的时候都需要用到数据库锁,然而最常用的锁就是悲观锁和乐观锁。悲观锁(Pessimistic Lock)悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。乐观锁(Optimistic Lock)乐观锁的特点先进行业务操作,不到万不得已不去拿锁。即“乐观”的认为拿锁多半是会成功的,因此在进行完业务操作需要实际更新数据的最后一步再去拿一下锁就好。总结乐观锁在不发生取锁失败的情况下开销比悲观锁原创 2021-05-28 14:24:15 · 115 阅读 · 1 评论 -
MySQL 表连接解释
在实际开发过程中 MySQL 表连接是经常用到的,但是还是有很多人分不清,这里直接通过结构图表示,大的分为两种内连接和外连接,而外连接又分为左连接、右连接和全连接。内连接(inner join):只包含匹配的记录。外连接(outer join):除了包含匹配的记录还包含不匹配的记录。左连接(left join):返回匹配的记录,以及表 A 多余的记录。右连接(right join):返回匹配的记录,以及表 B 多余的记录。全连接(full join):返回匹配的记录,以及表 A 和表 B 各自原创 2021-05-27 15:23:49 · 810 阅读 · 0 评论 -
Mac下安装 Mysql 8.0
之前在 Mac 下安装 Mysql 8.0 的时候和 Mysql 5.7 有一些不一样的地方,这里把我自己的安装过程简单记录一下。安装 brewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装 Mysql 8.0brew install mysqlmysql.server startmysql_secure_installation mysql -uro原创 2020-07-16 13:57:22 · 857 阅读 · 0 评论 -
MySQL 查询数据库中表名、表注释、字段名、字段类型、字段注释
这类查询很有意思,查询某个数据库中的表和字段的信息。通过排列组合可以总结出 4 种查询方式。1. 查询数据库下所有表名、表注释SELECT TABLE_NAME AS 表名, TABLE_COMMENT AS 表注释 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dms_app_dev';2. 查询数据库下字典表下所有字段名、数据类型、字段注释SELECT COLUMN_NAME AS 字段名, DATA_TYPE AS原创 2020-07-01 18:00:30 · 20869 阅读 · 1 评论 -
MySQL 如何修改 root 密码
首先登录 MySQL用 SET PASSWORD 命令mysql> set password for 用户名@localhost = password('新密码'); 用 UPDATE 直接编辑 user 表mysql> use mysql; mysql> update user set password=password('123') where user='roo...原创 2019-12-16 10:16:49 · 127 阅读 · 0 评论 -
Python3 pymongo 使用 count 报警告解决办法
最近老代码重构,使用的新版本 MongoDB,Python3.7 安装 pymongo 模块,在使用 count 统计数据量的时候报了一个警告:DeprecationWarning: count is deprecated. Use estimated_document_count or count_documents instead. Please note that $where must ...原创 2019-08-27 11:53:19 · 11582 阅读 · 8 评论 -
MySQL 中随机选择10条记录
mysql手册中存在rand()命令,能获取到随机行, 并使用limit 10 只采取其中几行。SELECT id FROM user ORDER BY RAND() LIMIT 10;数据量小于1000行的时候,上面的 sql 执行的快。但是当数据大于10000行, 排序的开销就变得很重。上面的操作中,我们在排序完就把几乎所有的行都丢掉了。只要我们有一个数字主键,我们可以有更好的方式去实...转载 2019-06-06 11:54:38 · 23511 阅读 · 1 评论 -
Key-Value数据库 Redis
Redis是开源NoSQL中Key-Value数据库的代表,采用C语言开发,遵循BSD License。支持内存、磁盘持久化存储,同时它具有非常丰富的数据类型,包括字符串、链表、有序集合等。高可用性方面自带主从架构,集群功能正在开发当中,非常值得期待。了解到它的强大,让我们首先来安装和体验这款NoSQL数据库。工具/原料原创 2016-07-13 12:13:34 · 6610 阅读 · 0 评论 -
21分钟 MySQL 入门教程
http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#c1转载 2016-08-20 13:09:49 · 319 阅读 · 0 评论 -
SQL Like 通配符
转载声明:http://blog.csdn.net/xushichang/article/details/4399204SQL 通配符在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符:通配符描述%替代一个或多个字符_仅转载 2016-12-01 16:38:17 · 316 阅读 · 0 评论 -
MySQL 字段的说明和备注信息
-- 在MySQL下运行完下面这个建表语句后。 如何从数据字典中,检索出这个表的字段的相关信息?[sql] view plain copy DROP TABLE IF EXISTS test_table; CREATE TABLE test_table( Test_ID int NOT NULL AUTO_INCRE原创 2016-12-01 16:39:33 · 5562 阅读 · 0 评论 -
Ubuntu 14.04 LTS apt-get mysql无密码安装
Mysql无密码安装,就是跳过输入密码的弹出窗口,只需3步。第一步,新建一个 mysql-passwd 文件,内容如下:debconf mysql-server/root_password password rootdebconf mysql-server/root_password_again password root第二步,使其文件生效:原创 2016-12-29 10:34:20 · 495 阅读 · 0 评论 -
MySQL 清空表数据,并且主键回到 1
MySQL 要清空数据表的时候可以用 delete,但是这会出现一个问题,主键不是默认从 1 开始,对于一些有强迫症的程序员来说(就比如我),是非常难受的,必须得把表的主键从 1 开始,这时候一条命令就可以搞定了TRUNCATE TABLE tablename原创 2017-12-22 14:51:13 · 3296 阅读 · 0 评论 -
MySQL添加新用户、为用户创建数据库、为新用户分配权限
登录MySQL[plain] view plain copymysql -u root -p 添加新用户允许本地 IP 访问 localhost, 127.0.0.1[plain] view plain copycreate user 'test'@'localhost' identified by '123456'; 允许外网 IP 访问[plain] view plain copycrea...转载 2018-03-19 19:19:03 · 282 阅读 · 0 评论 -
MySQL 实现无数据插入有数据更新
MySQL 实现无数据插入有数据更新,这种有两种操作方法:1. ON DUPLICATE KEY UPDATE使用 ON DUPLICATE KEY UPDATE 务必指定唯一索引(主键)INSERT INTO table (id, name, user, passwd) VALUES (1, '极客点儿', 'admin', 'abcdef') ON DUPLICATE KEY UPDA...原创 2019-04-15 10:48:16 · 1561 阅读 · 0 评论 -
SSDB:高性能数据库服务器
转载声明:http://www.cnblogs.com/shanyou/p/3496163.htmlSSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 作为Redis的替代方案.因为SSDB的最初目的是替代Redis, 所以转载 2016-07-13 11:59:18 · 381 阅读 · 0 评论