数据库与大数据分析
文章平均质量分 63
XiaoXinHuang
这个作者很懒,什么都没留下…
展开
-
grafana 忘记密码无法登录的解决方法
可以使用sqlites修改admin密码默认密码修改为:admin,命令行如下:原创 2022-06-27 16:54:25 · 1181 阅读 · 0 评论 -
MySQL批量更改数据库表结构字符集
1、先在对应的数据库上执行以下语句获取对应的需要更改的sql# 根据转换字符集 修改 utf8mb4 ---> utf8mb4_general_ciSELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;' )FROM information_schema.`TABLES...原创 2021-04-12 09:28:23 · 342 阅读 · 0 评论 -
MySQL 5.7建表时date类型提示默认值类型错误的问题处理
报的错误是时间的默认值有错误,查阅后发现原来是MySQL 5.7 版本开始有了一个STRICT MODE(严格模式),此模式中对默认值做了一些限制。解决方法就是修改sql_mode-- 查看当前select @@sql_mode;-- 去掉 NO_ZERO_IN_DATE 和 NO_ZERO_DATEset @@sql_mode=(select replace(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE','')); -- 查看全局sele...原创 2021-01-06 15:36:18 · 1186 阅读 · 0 评论 -
Host is not allowed to connect to this MySQL server解决方法
今天在做项目的时候遇到一个问题,在开发的时候将开发服务器的数据库地址调整为我本地数据库服务器地址的时候,提示:Host is not allowed to connect to this MySQL server。在查阅了相关资料后,发现原来是因为我本地的MySQL不允许远程登录,所以远程登录失败了,解决办法如下:在装有MySQL的机器上登录MySQL mysql -u root -p密码 执行use mysql; 执行update user set host = '%' where user =原创 2020-12-02 15:23:05 · 1010 阅读 · 0 评论 -
MySQL中group_concat()函数用法总结
group_concat函数应该是在内部执行了group by语句,这是我的猜测。1.测试语句: 1 SELECT group_concat(town) FROM `players` group by town 结果去查找town中去查找哪些值是一样的,如果相等,就全部列出来,以逗号分割进行列出,如下:group_concat(town)北京...原创 2019-03-27 14:03:42 · 337 阅读 · 0 评论 -
MySQL in语句排序
//方法一SELECT*FROM tablename WHERE id IN(2,3,1)ORDER BY INSTR(',"2,3,1",',CONCAT(',',id,','));//方法二SELECT*FROM tablename WHERE id IN(2,3,1)ORDER BY FIND_IN_SET(id,"2,3,1");//方法三SELECT*...原创 2019-03-31 22:56:46 · 299 阅读 · 0 评论 -
MySQL中的show full columns from 表名
show full columns from 表名;show variables like '%time_zone%';show variables like '%partition%';原创 2019-03-27 14:02:25 · 12493 阅读 · 1 评论 -
empty string(__)与NULL的区别
前者会暂用长度为0的空间,而后者不会原创 2019-03-27 14:03:58 · 1122 阅读 · 0 评论 -
MySQL中的字符串连接
MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习。MySQL concat函数使用方法:CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中...原创 2019-03-29 09:04:21 · 371 阅读 · 0 评论 -
MySQL复制表
基于现有的表创建新表是一项很容易的任务。以下代码将得到tb_test表的一个副本,名为tb_test2:mysql>createtabletb_test2select*fromdb_test.tb_test; QueryOK,0rowsaffected(0.03sec) Records:0...原创 2019-03-17 21:49:24 · 132 阅读 · 0 评论 -
MySQL使用distinct去掉查询结果重复的记录
DISTINCT使用 DISTINCT 关键字可以去掉查询中某个字段的重复记录。语法:SELECT DISTINCT(column) FROM tb_name例子:假定 user 表有如下记录:uid username 1 小李 2 小张 3 小李 4 小王 5 小李 6 小张 SQL 语句:......原创 2019-03-17 21:47:30 · 11703 阅读 · 0 评论 -
MySQL中int、bigint、smallint 和 tinyint的区别详细介绍
最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。今天就在网上仔细找了找,找到如下内容,留档做个总结:使用整数数据的精确数字数据类型。bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据......原创 2019-03-17 21:46:51 · 666 阅读 · 0 评论 -
MySQL中的时间函数用法集合
这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; TO_DAYS(date)给定一个日期date,返回一个天数(自0年的天数)。DAY...原创 2019-03-27 14:01:47 · 423 阅读 · 0 评论 -
MySQL MyISAM和InnoDB存储引擎的比较
MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm文件存放表格定义;数据文件是MYD(MYData);索引文件是MYI(MYIndex)。InnoDB是事务型引擎,支持回滚、崩溃恢复能力、多版本并发控制、ACID事务,支持行级锁定(InnoDB表的行锁不是绝对的,如果在执行一个SQL语句...原创 2019-09-30 08:53:57 · 176 阅读 · 0 评论 -
解决centos6.5出现-bash: mysql: command not found的方法
原因:因为系统默认会查找/usr/bin下的命令,由于mysql没有在这个目录下,所以出现not found。因此需要做一个软连接到/usr/bin目录下。执行命令:ln -s /usr/local/mysql/bin/mysql /usr/bin其中/usr/local/mysql 为:mysql的安装路径...原创 2019-07-09 13:45:04 · 309 阅读 · 0 评论 -
MySQL获取每个分类下面的前三条数据
现在项目遇到个问题,我相册图片里面有很多分类,我想取出每个分类下面的前三条数据,应该怎么做呢?数据结构如下:DROP TABLE IF EXISTS `t_picture`;CREATE TABLE `t_picture` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键Id号', `admin_id` int...原创 2019-03-29 09:03:30 · 4784 阅读 · 3 评论 -
MySQL批量插入数据库实现语句性能分析
假定我们的表结构如下 代码如下 CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value VARCHAR( 50 ) NOT NULL, other_value VARCHAR( 50 ) NOT NULL )...原创 2019-03-29 09:03:44 · 238 阅读 · 0 评论 -
MySQL中的存储引擎
show table status;MyISAM作为mysql的默认存储引擎,在性能和可用特征之间,提供了良好的平衡。包括全文检索、压缩、空间函数,不支持事务和行级锁...原创 2019-03-29 09:03:56 · 131 阅读 · 0 评论 -
MySQL优化INSERT的性能
对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。我们就有一个业务系统,每天的数据导入需要4-5个钟。这种费时的操作其实是很有风险的,假设程序出了问题,想重跑操作那是一件痛苦的事情。因此,提高大数据量系统的MySQL insert效率是很有必要的。1. 一条SQL语句插入多条数据。常用的插入语句如: 1 2 ...原创 2019-03-29 09:04:07 · 264 阅读 · 0 评论 -
MySQL中的find_in_set
mysql进行排序的时候如果需要按照原始的顺序排序,就可以使用order by find_in_set()方法,具体用法如下:select * from ecs_goods where goods_id in ($idList) order by FIND_IN_SET(goods_id,'$idList')这句mysql语句用到了find_in_set进行排序,意思是根据goods_id...原创 2019-03-28 08:57:47 · 737 阅读 · 0 评论 -
MySQL中的enum,char与varchar,decimal
1.MySQL中ENUM类型的使用之性别男女设定默认为男: SQL语句为:mysql> create table student (id int(11) primary key auto_increment,name varchar( 10) NOT NULL,sex enum('男','女','保密')default '保密')ENGINE=InnoDB;写入:mysql&...原创 2019-04-01 09:42:08 · 1459 阅读 · 0 评论 -
SQL Error (1130): Host IP is not allowed to connect to this MySQL server
SQL Error (1130): Host '192.168.1.100' is not allowed to connect to this MySQL server说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。需更改 mysql 数据库里的 user表里的 host项把localhost改称%首先按下面的步骤登录Mysql服务器登录mysql需要......原创 2019-03-17 21:44:45 · 794 阅读 · 0 评论 -
数据库设计与开发概述
现实世界-----认识抽象---------》概念模型--》逻辑模型(关系模型)--》物理模型需求分析-------》概念要求(E-R图)------》逻辑结构设计(关系的数据模型)------》物理结构设计教学平台:浏览器/应用服务器/数据库服务器(b/s)考勤系统:客户/服务器(c/s)银行系统:分布式系统关系数据库SQL必须掌握的单词:create v...原创 2019-03-07 15:02:46 · 1089 阅读 · 0 评论 -
破解MySQL密码
1.使用mysqladmin修改mysql密码C:\>mysqladmin -udbuser -p password newpassEnter password: oldpass当然用此命令的前提是你把mysql加入了环境变量,如果没有加入环境变量的话那只能在命令行下cd到mysqladmin所在的目录下与此那个次命令了!---------------------------......原创 2019-03-08 17:28:04 · 1547 阅读 · 0 评论 -
SQL中left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下:--------------------------------------------表A记录如下:aID aNum1 ......转载 2019-03-08 17:27:02 · 264 阅读 · 0 评论 -
MySQL查看索引
查看索引mysql> show index from tblname;mysql> show keys from tblname;· Table表的名称。· Non_unique如果索引不能包括重复词,则为0。如果可以,则为1。· Key_name索引的名称。· Seq_in_index索引中的列序列号,从1开始。· Column_name......原创 2019-03-08 17:25:21 · 238 阅读 · 0 评论 -
MySQL中的describe命令
describe命令一、describe命令用于查看特定表的详细设计信息,例如为了查看guestbook表的设计信息,可用:describe guestbookdescribe ol_user userid二、可通过”show columns”来查看数据库中表的列名,有两种使用方式:show columns form 表名 from 数据库名或者:show col......原创 2019-03-08 17:23:32 · 20405 阅读 · 1 评论 -
MySQL开发规范
一、命名规范 库名、表名、字段名必须使用小写字母并采用下划线分割; 库名、表名、字段名禁止超过32个字符,须见名知意; 库名、表名、字段名支持最多64个字符,统一规范、易于辨识以及减少传输量不要超过32; 库名、表名、字段名禁止使用MySQL保留关键字; 临时库、临时表名必须以tmp为前缀并以日期为后缀; 备份库、备份表名必须以......原创 2019-02-19 10:31:52 · 161 阅读 · 0 评论 -
MySQL ORDER BY IF() 条件排序
在做sqlzoo的时候,碰到一个SQL的排序问题,他把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部通过的方法就是IN语句(也可以通过IF语句)自己做了个测试,如下,这个是表的所有内容使用ORDER BY配合IF语句比如我想将species为snake的行数,单独列出来,我可以这样查询SELECT * FROM pet ORDER BY if (......原创 2019-02-13 11:35:32 · 729 阅读 · 0 评论 -
mysql备份脚本
#!/bin/sh#设置用户、密码和主机IPusername=用户名password=密码hostip=localhostdblists=`/usr/local/mysql/bin/mysql -u$username -p$password -h$hostip -e"SHOW DATABASES;"`denylists=(Database mysql test i...原创 2019-02-12 10:05:26 · 143 阅读 · 0 评论 -
MySQL语句的语法
|符号用来指出几个选择中的一个,因为NULL |NOT NULL 表示或者给出NULL或者给出NOT NULL包含在防括号中的关键字或者子句(如[like this])是可选的ALTER TABLE 用来更新已存在的表的模式CREATE TABLE 用来创建新的表的模式COMMIT 用来将事务处理写到数据库CREATE INDEX 用来在一个或者多个列上创建索引CREATE...原创 2019-02-16 11:22:12 · 904 阅读 · 0 评论 -
SQL 简介
SQL 是用于访问和处理数据库的标准的计算机语言。什么是 SQL?SQL 指结构化查询语言 SQL 使我们有能力访问数据库 SQL 是一种 ANSI 的标准计算机语言编者注:ANSI,美国国家标准化组织SQL 能做什么?SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记......原创 2019-03-19 16:37:21 · 276 阅读 · 0 评论 -
SQL 语法
数据库表一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。下面的例子是一个名为 "Persons" 的表: Id LastName FirstName Address City 1 Adams......原创 2019-03-19 16:37:48 · 185 阅读 · 0 评论 -
SQL中的left join
SQL LEFT JOIN 关键字LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。LEFT JOIN 关键字语法SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table......原创 2019-03-19 16:38:41 · 4729 阅读 · 0 评论 -
MySQL新建库 添加用户及权限 MySQL的Grant命令
REATE DATABASE IF NOT EXISTS `wordpress`;GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'db_password' WITH GRANT OPTION;MySQL的Grant命令本文实例,运行于 MySQL 5.0 及以上版...原创 2019-03-17 21:38:38 · 2406 阅读 · 0 评论 -
MySQL安全策略
数据是企业核心资产,数据对企业而言是最重要的工作之一。稍有不慎,极有可能发生数据无意泄露,甚至被黑客恶意窃取的风险。每年业界都会传出几起大事件,某知名或不知名的公司被脱裤(拖库的谐音,意思是整个数据库被黑客盗取)之类的。从数据安全上也可以分为外网安全及内部操作安全,下面分别讨论一下。内部操作安全策略1. 是否回收DBA全部权限试想,如果DBA没权限了,日常DB运维的活,以及紧急故障......原创 2019-03-17 21:37:10 · 766 阅读 · 0 评论 -
清官谈mysql中utf8和utf8mb4区别,请使用utf8mb4
一、简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。 二、内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢...原创 2019-03-19 16:26:59 · 344 阅读 · 0 评论 -
MySQL面试题
MYSQL支持事务吗?在缺省模式下,MYSQL是autocommit模式的,所有的数据库更新操作都会即时提交,所以在缺省情况下,mysql是不支持事务的。但是如果你的MYSQL表类型是使用InnoDBTables或BDBtables的话,你的MYSQL就可以使用事务处理,使用SETAUTOCOMMIT=0就可以使MYSQL允许在非autocommit模式,在非autocomm......原创 2019-03-11 18:34:05 · 267 阅读 · 0 评论 -
推荐一个优化分页查询的办法(分页数很大的情况)
通常情况下我们都这样这样取分页数据SELECT SQL_NO_CACHE * FROM erp_orders ORDER BY id LIMIT 300000,10;一般情况下,ORM生成的就是这种语句。 无论排序字段有没有索引都有严重的性能问题,因为高偏移量会让服务器花费更多的时间来扫描被丢掉的数据。非规范化、预先计算、或缓存可能是解决这类查询的唯一办法,一个更......原创 2019-03-11 18:30:33 · 481 阅读 · 0 评论 -
MySQL分页查询慢的方案解决
背景我们在开发的过程中使用分页是不可避免的,通常情况下我们的做法是使用limit加偏移量: select * from table where column=xxx order by xxx limit 1,20。 当数据量比较小时(100万以内),无论你翻到哪一页,性能都是很快的。如果查询慢,只要在 where条件和order by 的列上加上索引就可以解决。但是,当数据量大的时候(小编遇到...原创 2019-03-19 16:44:48 · 855 阅读 · 0 评论