数据库

mysql数据库修改字符编码问题

走远了吗. 提交于 2020-03-23 02:51:45
遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成。 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码。 只有在存储到数据库后查询数据并显示才会乱码。 那么到此可以确定是mysql出现问题了。 那么应该怎么办呢?哈哈,当然是看我们的度娘啦! 看的下度娘解决方法是: 将数据库的编码修改为utf8编码格式,因为安装mysql默认使用的字符编码latin1 what?这个编码是什么鬼,见都没见过。 查了下,Latin1是 ISO-8859-1 的别名。因为ISO-8859-1编码范围使用了单 字节 内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的 字节流 都不会被抛弃 这个latin1编码是单字节编码,而一般汉字是需要两个字节存储,所以这个编码格式不支持汉字。 接下来就看怎么改吧 数据库字符优先级有:系统级、数据库级、表级、字段。这5个优先级中字段优先级最高。举个列子。我们要向表中存储中文数据。如果表的字符编码是utf8,而字段的字符编码是latin1。那么如果我们存储中文还是会出现乱码,因为使用的编码是字段的字符编码latin1 在数据库创建时如果不设置数据库的默认字符编码,即缺省时会使用系统的字符编码latin1。创建表缺省时使用数据库的字符编码,字段同理。 从上面可以得出一个重要结论

关于MySQL与DMsql探寻

狂风中的少年 提交于 2020-03-22 23:09:36
【前言】 DMsql指的是达梦数据库,这里只是一些浅显的sql。结合实际的运行效果和资料来探寻原理。我们以达梦数据库自带的表GRADE以及mysql随意创建的一个表作为测试。 1、查询全部数据 达梦数据库 select * from "SYSDBA"."GRADE"; mysql数据库 SELECT * FROM ceshi; 2、更换表头 【加不加as的效果是一样的】 达梦数据库 select "CLASSID" frozen,"STU_COUNT" red ,"TEACHER_NAME" as red,"COURSE" from "SYSDBA"."GRADE"; MySQL数据库 SELECT test as frozen, NAME as wcl,NAME wcl FROM ceshi; 3、组合新列 达梦与mysql只能拼接数字,不能拼接列或者其他字符 达梦数据库 select (123232+213213) as frozen from "SYSDBA"."GRADE"; MySQL数据库 SELECT (1232+13121) as frozen FROM ceshi; 4、区间查询 达梦数据库 select "CLASSID","STU_COUNT","TEACHER_NAME","COURSE" from "SYSDBA"."GRADE" where "STU

linux环境安装可操作图库语言Gremlin的图框架HugeGraph

落花浮王杯 提交于 2020-03-22 20:43:08
原创/朱季谦 若你还没接触过图数据库,可能看到这个概念时,会比较蒙蔽。 图是什么?图数据库又是什么? 首先,在数据结构中,图是一种由顶点(vertex)集合及顶点间关系集合组成的一种非线性数据结构。 而图数据库,则是以图这种具有点边结构来增、删、改、查之类操作的NoSQL数据库,它特别擅长处理大数据之间的关联。 常见的图数据库有Neo4j,JanuasGraph,Tigergraph等,其中,Gremlin是一种操作图数据库的图语言,它是Apache ThinkerPop框架下的图遍历语言。 那么HugeGraph又是什么呢? 根据官网上的介绍,HugeGraph是一款易用、高效、通用的开源图数据库系统(Graph Database),实现了 Apache TinkerPop3 框架及完全兼容 Gremlin 查询语言,支持百亿以上的顶点和边快速导入,并提供毫秒级的关联关系查询能力(OLTP),并可与Hadoop、Spark等大数据平台集成以进行离线分析(OLAP)。 HugeGraph是百度自主研发的图数据库,在2018年8月开始对外开源,我们之前做一款图库产品时技术选型就是选了HugeGraph,总体感觉这个技术比较前沿也比较厉害。 HugeGraph有以下特点: 顶点、边 :支持基本增删改查操作,支持有向图,支持两顶点间同一类型多条边,支持超级点。 属性 :支持属性图

MySQL,优化查询的方法

情到浓时终转凉″ 提交于 2020-03-22 16:31:43
对于数据库,优化查询的方法 1.使用索引   使用索引时,应尽量避免全表扫描,首先应考虑在 where 及 order by ,group by 涉及的列上建立索引。 2.优化SQL语句   1)分析查询语句:通过对查询语句的分析,可以了解查询语句执行情况,找出查询语句执行的瓶颈,从而优化查询语句。    通过explain(查询优化神器)用来查看SQL语句的执行结果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。    例如:explain select * from news;  2)任何地方都不要使用select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。  3)不在索引列做运算或者使用函数。  4)查询尽可能使用 limit 减少返回的行数,减少数据传输时间和带宽浪费。 3.优化数据库对象  1)优化表的数据类型   使用 procedure analyse()函数对表进行分析,该函数可以对表中列的数据类型提出优化建议。表数据类型第一个原则是:使用能正确地表示和存储数据的最短类型。这样可以减少对磁盘空间、内存、CPU缓存的使用。   使用方法:select * from 表名 procedure analyse();  2)对表进行拆分   通过拆分表可以提高表的访问效率。有两种拆分方法:    a.垂直拆分(按照功能模块)   

Mysql导出存储过程

最后都变了- 提交于 2020-03-22 15:50:28
转载:https://www.cnblogs.com/yuepeng/archive/2010/09/21/1832775.html Mysql导出存储过程 在部署某学院的网站时,发现一个错误: 1 FUNCTION config_get does not exist. 找到代码一看,是conn.prepareCall("{call config_get(?,?,?)}");这一句出了错。上网查了查,这是在调用存储过程, 那么config_get就是存储过程名。到数据库里用show procedure status;看了看,一个存储过程也没有。也就是导数据库时没有导存储过程。 下面是导出存储过程的代码 1 # mysqldump -u 数据库用户名 -p -n -t -d -R 数据库名 > 文件名 其中,-d 表示--no-create-db, -n表示--no-data, -t表示--no-create-info, -R表示导出function和procedure。所以上述代码表示仅仅导出函数和存储过程,不导出表结构和数据。但是,这样导出的内容里,包含了trigger。再往mysql中导入时就会出问题,错误如下: ERROR 1235 (42000) at line **: This version of MySQL doesn't yet support ‘multiple

oracle RAC集群启动和关闭

戏子无情 提交于 2020-03-22 15:11:23
oracle 11G RAC集群启动和关闭: 1、停止数据库 $srvctl stop database –d oradb 2、停止集群服务 关闭集群需要root运行 #/u01/11.2.0/grid/bin/crsctl stop cluster -all --停止所有节点服务 #/u01/11.2.0/grid/bin/crsctl stop cluster --停止本节点服务 或者 停止HAS(High Availability Services),必须以root用户 [root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin [root@rac1 bin]# ./crsctl stop has –f --停止本节点服务 或者 /u01/app/11.2.0/grid/bin/crsctl stop crs 1、启动集群服务 #/u01/11.2.0/grid/bin/crsctl start cluste --会启动数据库 或者 #/u01/11.2.0/grid/bin/crsctl start has --启动数据库 或者 #/u01/11.2.0/grid/bin/crsctl start crs ------------------------------------------------------------------

数据库设计方法、规范与技巧

牧云@^-^@ 提交于 2020-03-22 15:09:10
本文链接: http://www.openphp.cn/index.php/art.../100/index.html 一、数据库设计过程   数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。   数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。   1. 需求分析阶段   需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。   需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。   需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。   常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。  

MySQL数据备份及还原(一)

谁说我不能喝 提交于 2020-03-22 10:58:04
关于删库跑路的事故现在已经屡见不鲜了,数据备份的必要性是企业数据管理极其重要的一项工作。关于数据备份、恢复也有很多场景及方法,本系列也会将主要的几种工具通过案例进行演示。 本系列将从逻辑备份及恢复开始讲起,逻辑备份的工具主要有mysqldump/mydumper等其中mydumper可以指定多线程工作,本文介绍的是mysqldump。 1. mysqldump 备份 mysqldump是MySQL数据库自带的逻辑备份工具,属于热备工具。它的备份结果是根据设置的参数将数据库中的信息通过生成创建库、表等对象以及对应表的insert语句组成。 mysqldump 参数选项特别多,可以通过mysqldump --help 查看对应的参数及说明() [root@testdb ~]# mysqldump --helpmysqldump Ver 10.13 Distrib 5.7.25-28, for Linux (x86_64)Copyright (c) 2009-2019 Percona LLC and/or its affiliatesCopyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle

ASP生成静态网页的方法

落花浮王杯 提交于 2020-03-22 08:50:22
随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库。将现有的ASP页直接生成静态页,将会节省很多。   下面的例子是将、index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态页面,分别生成ndex1.htm,index2.htm,index3.htm存在根目录下面: Code: <% dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp Html_Temp="<UL>" For i=1 To 3 Html_Temp = Html_Temp&"<LI>" Item_Classid = i FileName = "Index"&Item_Classid&".htm" FilePath = Server.MapPath("/")&"\"&FileName Html_Temp = Html_Temp&FilePath&"</LI>" Do_Url = "http://" Do_Url = Do_Url&Request.Servervariables("SERVER_NAME")&"/main

sqlserver数据库标注为可疑的解决办法

蹲街弑〆低调 提交于 2020-03-22 08:06:53
前几天客户那边的服务器死机了,然后客户强制关机,重新启动服务器后,系统就没法正常使用,连接不上服务器,我远程操作后,看到数据库标注为可疑,由于客户之前没备份数据库,看来只能是修复了: 1:停止数据库服务,将可疑的数据库及日志备份到别的文件夹,随后删除数据库文件及日志文件 2:打开数据库服务,连接数据库后删除可疑的数据库,并新建同名的数据库(目录位原来的目录) 3:停止数据库服务,将备份的数据库文件替换新建的数据库文件(日志文件不需要替换) 4:打开数据库服务,连接数据库后执行 alter database 数据库名 set emergency,将数据库改为紧急模式, 执行后,为了保险起见,重新停止、开启的SQLSERVER服务,再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等,数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作 5:执行 ALTER DATABASE 数据库名 SET SINGLE_USER,将数据库设为单用户模式 6:对数据库进行检查修复dbcc checkdb(数据库名,REPAIR_ALLOW_DATA_LOSS),(这里有个很奇怪的现象,最早开始修复的时候,数据库130多G,这一步执行了6个多小时,昨天修复的时候,数据库打到了160G,这一步只执行了43分钟,不知道怎么回事),执行完成后会看到提示错误,不用管,操作后