
数据库
常用数据库、数据库驱动和问题解决。
理想不闪火
研究开放环境下的深度学习算法、生成模型推理加速和医学图像。
欢迎订阅专栏!
展开
-
百万级数据库优化方案
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.备注、描述、评论之类的可以设置为 NULL,其他的,最好不要使用NULL。不要以为 NULL 不需要空间,比如:char(100) 型,在字段建原创 2021-11-04 18:23:27 · 285 阅读 · 0 评论 -
数据库优化:Mysql慢查询的定位和分析
慢查询:慢SQL定位(慢查询日志)定位慢SQL相对来说很简单,因为Mysql中已经提供了对应的工鞥,我们只需要开启对应的“慢查询日志”功能,然后稍作配置即可,开启功能有Mysql会把查询时间大于你设置时间的SQL记录下来,并且保存到一个专门的文件中,你只需要查看这个文件内容就可以找到对应查询慢的SQL了,配置了慢查询日志后,它会记录在设定时间范围内的数据查询和数据修改语句。慢查询日志的配置在mysql 配置文件中 (不出意外应该在/etc/my.conf),进行下面配置,修改配置后重启mysql生效原创 2021-11-04 18:22:09 · 486 阅读 · 0 评论 -
PL/SQL两种case语句写法
--case表达式中的简单caseDECLARE v_num NUMBER :=#v_result VARCHAR2(30);BEGINv_result := MOD(v_num,2);dbms_output.put_line(CASE v_result WHEN 0 THEN 'the number you input is :even' ELSE 'the number you input is :odd'END );--作为原创 2021-05-26 22:57:39 · 438 阅读 · 0 评论 -
【PL/SQL的优点】
PL/SQL语句处理模块是Oracle独有的一种语句处理模式将过程构造与SQL集成:SQL是一种非过程语言。 当你发出一个SQL命令时,你的命令告诉数据库服务器要做什么。 但是,您无法指定如何操作或执行操作的频率。PL / SQL将控制语句和条件语句与SQL集成在一起。 这使您可以更好地控制SQL语句及其执行。模块化程序开发:PL / SQL程序中的基本单元是一个块。 所有PL / SQL程序都由块组成。 您可以将这些块视为模块,并且可以按顺序“模块化”这些块,也可以将它们嵌套在其他块中。改进的性能:原创 2021-05-07 11:02:21 · 492 阅读 · 0 评论 -
Oracle-PL/SQL语法基础
set serveroutput on;--条件控制(if-then-else) 属性类型(%type) 输出declare stu_name students.s_name%type;begin select s_name into stu_name from students where s_no='1830090115'; if stu_name='LiXiang' then dbms_output.put_line('NAME:'||stu_name); else dbms原创 2021-04-15 20:38:30 · 278 阅读 · 0 评论 -
Oracle-SQL语法基础【以一个完整项目为例】
--log inconn / as sysdba;show user;conn /as sysdba 无需密码直接可以连接SYS用数据库的超级用户,数据库内很多重要的东西(数据字典表、内置包、静态数据字典视图等)都属于这个用户,SYS用户必须以SYSDBA身份登录。SYSTEM是数据库内置的一个普通管理员,你手工创建的任何用户在被授予DBA角色后都跟这个用户差不多(赋予DBA角色相当于给予了一组数据操作的权限)。相当于sys是qq群主,system是qq群管理员sysoper身份主要用来启原创 2021-04-14 19:59:17 · 884 阅读 · 2 评论 -
关系数据库概念辨析❤️
文章目录1 主码2 范式3 关系4 关系代数运算1 主码2 范式第一范式:简单说 列不能再分第二范式:简单说 建立在第一范式基础上,消除部分依赖第三范式:简单说 建立在第二范式基础上,消除传递依赖。BCNF:主属性包含码3 关系做表时,1方主键要加入到多方。4 关系代数运算e.g S: A B R:B C 1 2 2 1 3 3原创 2021-03-04 11:39:49 · 366 阅读 · 2 评论 -
Mac os解决zsh: command not found: mysql
alias mysql=/usr/local/mysql/bin/mysql原创 2020-08-01 11:49:46 · 1028 阅读 · 1 评论 -
JDBC连接oracle连接池问题解决
1.确认端口号相对应。2.确保连接池的最大连接数量。3.连接成功进行查询时,确保在表中插入的数据已经commit。原创 2019-12-29 10:29:16 · 917 阅读 · 0 评论 -
oracle查看控件文件 tns
二. 查看控件文件SQL> select name from v$controlfile;原创 2019-12-27 21:14:43 · 1297 阅读 · 0 评论 -
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
原因之一是服务名错误,解决方法:查看tns文件,确定服务名;在相应的连接右键点击编辑连接,修改服务名;原创 2019-12-27 21:13:45 · 1009 阅读 · 0 评论 -
jdbc oracle thin@localhost 1521 XE
一、jdbc:oracle:thin:@localhost:1521:XEjdbc:表示采用jdbc方式连接数据库oracle:表示连接的是oracle数据库thin:表示连接时采用thin模式(oracle中有两种模式)jdbc:oralce:thin:是一个jni方式的命名@表示地址1521和XE表示端口和数据库名@localhost:1521:orcl整个是一块也就是说是这...原创 2019-12-21 18:37:02 · 695 阅读 · 0 评论 -
ecilpse连接oracle ojdbc驱动
package keshe;import java.sql.*;public class GetConn {public Connection getConnection() {Connection conn = null;try {Class.forName("oracle.jdbc.driver.OracleDriver"); //加载数据库驱动System.out.printl...原创 2019-12-21 18:36:17 · 350 阅读 · 0 评论 -
ORACLE 11g 数据库 java jdk版本匹配
Oracle版本是11G这个要取决于你的jdk,如果你的jdk是 JDK 1.4 、1.5用ojdbc5.jar,如果jdk是1.6、1.7、1.8用ojdbc6.jar 。原创 2019-12-21 18:15:58 · 3474 阅读 · 0 评论 -
Oracle版本对应得使用的jar包
—oracle10g ojdbc14.jar—oracle11g ojdbc6.jar原创 2019-12-21 18:13:07 · 1836 阅读 · 0 评论 -
Oracle11g与Oracle11gxe有什么区别
XE版的是免费版,有限制的,如数据库大小限制在11G以内,不能多CUP等等。但个人学习用没问题的。原创 2019-12-21 16:57:03 · 4076 阅读 · 0 评论 -
commit与rollback命令
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 11月 12 19:16:15 2019Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> connect system/system;已连接。SQL> create table student( 2 ...原创 2019-11-12 19:24:48 · 934 阅读 · 0 评论 -
MySQL-数据库和表的基本操作
USE Company;#请在此处添加实现代码########## Begin #################### modify the table name ##########ALTER TABLE tb_emp RENAME jd_emp;########## show tables in this database ##########SHOW TABLES;#####...原创 2019-11-08 15:41:08 · 671 阅读 · 0 评论 -
绘制E—R图(详细)
ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张三、李四等,实体成员(entity member)/实体实例(entity instance) 不需要出现在ER图中。ER图的属性(attribute)即数据对象...原创 2019-10-29 19:23:27 · 8170 阅读 · 0 评论 -
SQL UNIQUE 约束
SQL UNIQUE 约束UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。CREATE TABLE 时的 SQL UNIQUE 约束下面的 SQL...原创 2019-10-29 18:38:30 · 1301 阅读 · 0 评论 -
登录MySQL非默认3306端口号的语句
登录Mysql一直找不报localhost(10061),经过我一天又一天的挣扎,发现我修改了默认端口号。解决办法加上-p端口号,很是优秀了。!原创 2019-10-19 15:28:32 · 719 阅读 · 0 评论 -
Windows环境下配置环境变量
安装好MySQL后,在Windows环境下配置环境变量1)新建MYSQL_HOME系统变量配置MySQL的安装路径:C:\Program Files\MySQL\MySQL Server 8.0 2)编辑path系统变量变量:%MYSQL_HOME%\bin ...原创 2019-10-02 10:51:58 · 464 阅读 · 1 评论 -
oracle SQL 命令行(四.安全性自主控制)
with admin option 用于系统权限授权,with grant option 用于对象授权。但给一个用户授予系统权限带上with admin option 时,此用户可把此系统权限授予其他用户或角色,但收回这个用户的系统权限时,这个用户已经授予其他用户或角色的此系统权限不会因传播无效,如授予A系统权限create session with admin option,然后A又把crea...原创 2019-09-29 18:46:05 · 300 阅读 · 0 评论 -
oracle SQL 命令行(三.增删改查)
SQL> select * from stu;SON SNAME SAGE-------- -------------------- ----------1001 张三 181003 李四 221002 王五 ...原创 2019-09-28 09:47:00 · 444 阅读 · 0 评论 -
oracle SQL 命令行(二.视图(2))
创建视图的时候使用 with check option 语句 保证插入和修改操作时视图只有年龄为22的学生。SQL> connect system/lixiang666;已连接。SQL> select * from stu;SON SNAME SAGE-------- -------------------- ------...原创 2019-09-28 09:42:16 · 353 阅读 · 0 评论 -
oracle SQL 命令行(二.视图)
一、模式(Schema)定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。理解:① 一个数据库只有一个模式;② 是数据库数据在逻辑级上的视图;③ 数据库模式以某一种数据模型为基础;④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。...原创 2019-09-26 21:26:00 · 456 阅读 · 0 评论 -
win10解决Mysql net start mysql启动,提示发生系统错误 5 拒绝访问
出现这样的问题主要是是因为当前用户的操作权限太低了,出了问题出错问题截屏如下:解决问题方法如下:在dos下运行net start mysql 不能启动mysql!提示发生系统错误 5;拒绝访问!切换到管理员模式就可以启动了。所以我们要以管理员身份来运行cmd程序来启动mysql。那么如何用管理员身份来运行cmd程序呢?如果每天都要启动mysql服务,这样不很麻烦?所以: ...原创 2019-10-02 10:54:35 · 571 阅读 · 0 评论 -
MySQL_Workbench使用
只看原理不要看细节只看原理不要看细节只看原理不要看细节首先打开MySQL_Workbench软件点击图中的加号,得到下图,先输入数据库的账号密码,帐号默认为root,填好密码后 点击“OK”,连接就建立好了,建立完成后,会出现一个长方形的框框,双击它但是我在弄到这里的时候一直连接报错failed to connect to mysql at with user root。我是把数据...原创 2019-10-02 11:20:17 · 1075 阅读 · 0 评论 -
如何查看mysql的用户名和密码
如果登录成功,会显示如下信息进入以后我们可以执行select * from mysql.user;查询mysql的用户信息,可以看到密码是加密的所以说,如果设置过密码但是忘记了,那不好意思了,是不能进行查看密码的,只能查看用户名,因为mysql密码是动态md5加密,是不可逆向查询的...原创 2019-10-02 11:21:44 · 59916 阅读 · 2 评论 -
数据库 主码 外码
主码 ,外码也可以称为主键,外键。什么是主码,主码是一个能唯一标识一个元组的属性。在一个关系(表)中,主码不一定只有一个,但是一定要有的。因为元组,是对世界中某种事物的数据描述,而世界中各种事物,都具有唯一性,都是可以区分的。在计算机中为了描述事物的唯一性,引入了主码的概念。在一个关系中,不同元组的主码一定不能为空,且值一定要不同。因为如果为空说明这个事物是不可标识的,而这个世界的任何事物都是可...原创 2019-10-03 09:34:33 · 6503 阅读 · 0 评论 -
ORA-02291: 违反完整约束条件 - 未找到父项关键字 解决方法
使用oracle数据库时,出现**ORA-02291: 违反完整约束条件 **错误,自己通过百度找到一些做法。以下这个方法居多:表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。可能原因:1.在往A表插入时,外键关联的字段在B表中必须有数据,如果B表中没有数据则又这种情况。2.产生了外键环,就是B表中被外键关联的字段又关联了C表中的字段,而C中相应字段却没有数...原创 2019-10-03 10:20:22 · 11117 阅读 · 0 评论 -
交互式SQL(数据定义部分)
在Oracle Database XE 的SQL命令窗口中,使用SQL语言定义Student表,该表的结构描述如下:表3.1 Student表结构列名 数据类型 是否为空 约束Sno CHAR(9) 否 该列为主码Sname VARCHAR2(10) 否 Ssex CHAR(4) 否 要求性别只能为男或女Sage NUMBER(2) 否 年龄限制在16到25之间(包含)Sdept...原创 2019-10-03 10:41:00 · 1728 阅读 · 0 评论 -
数据库常用对象概念讲解
数据库对象是数据库的组成部分,常见的对象有:表、索引、视图、图表、默认值、规则、触发器、存储过程、用户、序列等。表(Table)数据库中的表与日常生活中使用的表格类似,由行(Row)和列(Column)组成。其中列由同类的信息组成,每一列又称为一个字段,每列的标题称为字段名。行包括了若干列的信息项。一行数据称为一个或一条数据,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记...转载 2019-10-08 19:48:23 · 2463 阅读 · 0 评论 -
oracle SQL 命令行(一.基础)
关系数据库标准语言SQL(结构化查询语言),其功能不仅仅是查询——增删改查;1SQL> connect system/lixiang666已连接。SQL> create user lixiang identified by pass123;用户已创建。SQL> grant connect,resource to lixiang;授权成功。2SQL> c...原创 2019-09-22 15:08:53 · 737 阅读 · 0 评论