
数据库篇
文章平均质量分 73
数据库相关
五彩世界
世人皆苦,所以不要执着于痛苦。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于MYSQL5.7: Access denied for user root@localhost (using password:YES)解决
这一类解决要提供远程服务,需要进入mysql的my.ini文件中进行修改,但是在win10系统中,my.ini不再放在MYSQL安装目录的根目录中了,需要到一类应用缓存目录中寻找MYSQL的详细配置文件,my.ini也正在其中,早期的win10是需要找一个叫做%ProgramData%的文件夹(提醒:%%包裹代表这个目录是隐藏目录,你也可以打开隐藏目录视图来查看此文件夹),较新的win10叫做%P...原创 2018-08-03 13:55:44 · 1084 阅读 · 2 评论 -
关于PLSQL中的一些问题总结:在PLSQL中书写DDL等
关于问题前导,使用的数据表中涉及到的字段和类型:在PLSQL中create、drop、truncate等DDL是没有办法直接执行的。必须要使用:Execute immediate ‘DDL语句’但是我发现这样并不能执行!后面查阅发现,oracle中执行DDL语句需要使用变量的形式:即 所谓的动态SQL语句首先在declare中声明变量( 例如:sql varchar2(200):= ‘creat...原创 2018-05-21 23:24:53 · 2606 阅读 · 0 评论 -
plsql developer中各个window的作用【转】
转载自,原文链接:-程序窗口(program window) :可以执行 sql,sqlplus 相关的语句,例如存储过程,方法,一般用来开发程序用的. -测试窗口(test window):一般是用来测试存储过程等的debug。 -SQL窗口(sql window):执行的是dml,ddl语句,主要用户语句的查询和显示(应用最多的一个窗口)。 -报告窗口(report window):就是可以方...转载 2018-05-07 10:53:16 · 3101 阅读 · 0 评论 -
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
大家可以自行网上找资源(网上资源比较多,不建议下载我的),也可以在我这里下载:1.取得每个部门最高薪水的人员名称:正确 一共有4个单位,要进行左外连接 其中一个单位没得员工SELECT dept.dname, emp.ename, emp.salFROM empRIGHT JOIN dept ON emp.deptno = dept.deptnoRIGHT JOIN ( SELECT ...原创 2018-05-03 10:11:19 · 1328 阅读 · 0 评论 -
基于mysql的sakila数据库脚本分析
本例是基于mysql的sakila数据库脚本的复杂查询分析,大家可以去mysql官网上下载此脚本;也可以进入我的资源页进行下载:关系图如下:下面是查询的案例:1.查询某部电影的所属类别,语言SELECT film.title AS '电影名称', category.name AS '种类名称', language.name AS '语言' FROM film...原创 2018-05-03 10:11:06 · 1803 阅读 · 3 评论 -
mysql复制内容到一张新表
-- 1.复制表结构及数据到新表CREATE TABLE 新表SELECT * FROM 旧表 -- 2.只复制表结构到新表CREATE TABLE 新表SELECT * FROM 旧表 WHERE 1=2-- 即:让WHERE条件不成立.-- 方法二:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)CREATE TABLE 新表LIKE 旧表 -- 3...转载 2018-05-03 10:12:23 · 733 阅读 · 0 评论 -
我对数据库事务的理解(MYSQL中)
-- 设置数据库事务为手动的提交SET @@AUTOCOMMIT = 0;SELECT @@autocommit;SELECT @@character_set_results;-- 账户表CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), balance INT);INSERT INTO accoun...原创 2018-05-04 09:11:36 · 595 阅读 · 0 评论 -
对于Oracle、mysql和sql server中的部分不同理解
1.在mysql中事务默认是自动提交的,只有设置autocommit为0的时候,才用自己commit;(提到commit不要忘了rollback哦,回滚)2.但是在oracle中必须自己commit;不然就只能结束这次事务之后才会提交。3.在sql server中go命名在我的理解和commit命令相同,就是为了完成一个事务提交的;4.对于分页,mysql使用limit、sql server使用t...原创 2018-05-04 09:11:40 · 235 阅读 · 0 评论 -
常用数据库JDBC
JDBC的URL=协议名+子协议名+数据源名。1. 协议名总是“jdbc”。2.子协议名由JDBC驱动程序的编写者决定。3. 数据源名也可能包含用户与口令等信息;这些信息也可单独提供。几种常见的数据库连接-------------------------------oracle------------------驱动:oracle.jdbc.driver.OracleDriverURL:jdbc:...转载 2018-05-02 12:57:10 · 150 阅读 · 0 评论 -
关于在mysql和oracle中编码对varchar等类型的影响
今天在测试oracle的时候发现,我用varchar2(10),的字段,居然存不下“凯尔特人”四个字符;和我在学习mysql中显然是不一样的,查阅资料发现:mysql 5.0 之后 varchar(1)是可以存一个字符,不管是数字、英文字母还是汉字都可以(UTF8,三个字节也可以)!而在oracle中不管是varchar还是varchar2,都要严格遵照编码:GBK的话,一个汉字两个字节UTF-8...原创 2018-05-02 09:48:24 · 401 阅读 · 0 评论 -
简陋的Excel到MYSQL的数据传输JAVA实现
实现从excel读取数据,使用的是jxl.jar(到处都有,请大家随意下载),其中封装好了通过excel提供的接口,对excel中的数据库进行读取的实现;先为了熟悉其中的方法使用,做了以下的测试:package test;import java.io.File;import java.io.IOException;import java.util.ArrayList;impor...原创 2018-06-25 19:28:46 · 503 阅读 · 0 评论 -
JDBC中的元数据——3.结果集元数据
package metadata;import java.sql.Connection;import java.sql.ParameterMetaData;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.util.List...原创 2018-05-12 11:54:21 · 197 阅读 · 0 评论 -
JDBC中的元数据——2.参数元数据
package metadata;import java.sql.Connection;import java.sql.ParameterMetaData;import java.sql.PreparedStatement;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;i...原创 2018-05-12 11:54:14 · 264 阅读 · 0 评论 -
使用元数据设计的update、query封装
package util;import java.lang.reflect.InvocationTargetException;import java.sql.Connection;import java.sql.ParameterMetaData;import java.sql.PreparedStatement;import java.sql.ResultSet;import j...原创 2018-05-12 11:54:09 · 325 阅读 · 0 评论 -
JDBC中的元数据——1.数据库元数据
package metadata;import java.sql.Connection;import java.sql.DatabaseMetaData;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;/** * 数据库元数据: * @author mzy * */...原创 2018-05-12 11:54:00 · 226 阅读 · 0 评论 -
初始C3P0连接池
C3P0连接池只需要一个jar包:其中我们可以看到有三个jar包;属于C3P0的jar包只有一个,另外两个是测试时使用的JDBC驱动:一个是mysql的,一个是oracle的;可以看到在src下我们有一个xml文件,在C3P0中我们可以通过xml配置参数,同样也可以像DBCP中使用properties文件,但是properties文件中只能写一个数据库连接,xml配置就更为灵活了,可以写多个连接(...原创 2018-05-11 08:19:39 · 217 阅读 · 0 评论 -
初识apache DBCP连接池
连接案例:首先:我们使用的是mysql数据库,所以要有一个mysql和java的JDBCjar包;然后是DBCP中的两个jar包,DBCP使用的话,需要两个包:dbcp.jar和pool.jar。普通连接:package dbcp;import java.sql.Connection;import java.sql.SQLException;import org.apache.commo...原创 2018-05-11 08:19:34 · 438 阅读 · 0 评论 -
连接池初涉——自定义连接池
关于自定义连接池引入: 使用JDBC进行数据库连接的时候,我们每次一个insert操作等等之后,就会把Connection关闭掉;但是这样是很低效的,我们的Connection在一次使用之后,就面临被关闭,加载和关闭太浪费资源了,而且这样放任外部自由的修改,不加限制的创建Connection对象,有可以会超过数据库能够承受的最大连接数,数据库容易崩溃! 我们的解决此...原创 2018-05-11 08:19:25 · 168 阅读 · 0 评论 -
JDBC高级篇(MYSQL)—— JDBC中初涉数据库事务
package d_transaction;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import util.JdbcUtil;/** * 数据库事务: * 比如银行转账:首先从一个账户扣除,再往另一个账户增加(update) * 假如...原创 2018-05-11 08:19:19 · 151 阅读 · 0 评论 -
JDBC中级篇(MYSQL)——在JDBC中如何获得表中的,自增长的字段值
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:package c_increment;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement...原创 2018-05-11 08:19:12 · 662 阅读 · 0 评论 -
JDBC中级篇(MYSQL)——模拟从数据库中上传下载附件
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:原创 2018-05-11 08:18:56 · 249 阅读 · 0 评论 -
JDBC中级篇(MYSQL)——处理文件(BLOB)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:package b_blob_clob;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.sql.Blob;import java.sql.Connection;im...原创 2018-05-10 16:45:14 · 246 阅读 · 0 评论 -
JDBC中级篇(MYSQL)——处理大文本(CLOB)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:package b_blob_clob;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;im...原创 2018-05-10 16:43:57 · 1589 阅读 · 0 评论 -
JDBC中级篇——批处理和PreparedStatement对有sql缓冲区的数据库的友好,测试
package a_batch;import util.JdbcUtil;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Statement;/** * 同时插入2000条数据 * * 对于JDBC中的批处理的测试! * * 结论: * 1) mysql数据库不支...原创 2018-05-10 16:39:34 · 560 阅读 · 0 评论 -
JDBC基础篇(MYSQL)——使用CallabeStatement调用存储过程
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:package day04_callable;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import util.JdbcUtil;...原创 2018-05-10 16:32:51 · 870 阅读 · 0 评论 -
JDBC基础篇(MYSQL)——PreparedStatement执行DML、DQL等
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:package day03.prepare;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import util.JdbcUtil;...原创 2018-05-10 16:31:16 · 470 阅读 · 0 评论 -
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:package day02_statement;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import util.JdbcUtil;/** ...原创 2018-05-10 16:29:08 · 998 阅读 · 0 评论 -
JDBC基础篇(MYSQL)——使用statement执行DML语句(insert/update/delete)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接:package day02_statement;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import util.JdbcUtil;/** * 使用Statement对象执行DML语句(inser...原创 2018-05-10 16:23:59 · 2193 阅读 · 0 评论 -
JDBC基础篇(MYSQL)——自定义JDBCUtil工具类
package util;import java.io.File;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Stat...原创 2018-05-10 16:19:14 · 6819 阅读 · 0 评论 -
JDBC基础篇(MYSQL)——通过JDBC连接数据库的三种方式
package day01_jdbc;import java.sql.Connection;import java.sql.Driver;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties;public class Demo01 { // mysql ...原创 2018-05-10 16:13:16 · 292 阅读 · 1 评论 -
JDBC中的元数据
在我编写JDBC代码的时候:出现很多的重复的代码,有没有什么办法让我们能够编写出更加通用的JDBC代码呢?使用元数据,元数据能够让我们编写出更加通用的JDBC代码。什么是元数据呢?(三种元数据)1)连接数据库怎么知道我们连接的是什么数据库(mysql/sql server/oracle)必须使用数据库元数据对象(DatabaseMetaData){例如:使用的是mysql 5.7 使用的...原创 2018-05-05 23:01:30 · 327 阅读 · 0 评论 -
关于mysql的备份和恢复
备份:在登录之前(cmd中)mysqldump -u root -p [数据库名称] > c:/back.sql备份的话,肯定是DBA才能做,所以只能用root;恢复mysql -u root -p [数据库名称] < d:/back.sql注意: 1.不需要登录; 2.注意其中的箭头的方向!输入完成之后回车,出现 Enter password:[输入密码即可]*****退出数据库:e...原创 2018-05-04 09:11:28 · 167 阅读 · 0 评论 -
mysql触发器学习
USE test;CREATE TABLE student( id PRIMARY KEY AUTO_INCREMENT, NAME CHAR(10), age INT);CREATE TABLE student_log( id INT PRIMARY KEY AUTO_INCREMENT, content VARCHAR(20));-- 1.创建添加触发器:C...原创 2018-05-04 09:11:23 · 180 阅读 · 0 评论 -
mysql存储过程学习
-- 存储过程-- 1.存储过程,其实就是带逻辑的(多个)sql语句。-- 也就是sql编程。-- 2.存储过程的特点。-- 1)存储过程保存到数据库服务器端,通过数据库客户端工具调用存储。-- 2)存储过程的效率会非常高,因为存储过程是在服务器端执行的。-- 3)缺点:存储过程的移植性是非常差的。-- ...原创 2018-05-04 09:11:15 · 141 阅读 · 0 评论 -
我对外键的回忆
添加外键:(注意:constraint前面没得add,add是alter的时候才会有的)CONSTRAINT stu_class_fkFOREIGN KEY(stu_id)REFERENCES stu_class(id)ON UPDATE CASCADEON DELETE CASCADE在添加外键的时候,必须保证外键到的主表的字段为unique的,或者是primary key。CREATE TAB...原创 2018-05-04 09:09:16 · 147 阅读 · 0 评论 -
三大范式我的理解
第一范式:每一列原子性不可再分;每一列只表达一个意思!第二范式:非主键列都和主键有依赖关系,不能是部分依赖,必须是全部依赖; 不能有多余意思,和这张表表达的意思不同的列!第三范式:非主键列之间不能传递依赖,即非主键的字段之间不能有依赖关系,如果有依赖的关系,就要通过建立外键和其它表进行传递。表内除主键的字段不能有依赖关系!在关系数据库中 一对多和一对一我们可以直接两张表相连但是在多对多的关系的时候...原创 2018-05-03 10:12:31 · 551 阅读 · 0 评论 -
我对数据库关系代数中减法sql实现的思考:mysql脚本
一、创建数据库,创建表结构CREATE DATABASE Test_sub DEFAULT CHARACTER SET utf8;USE Test_sub;CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, -- 学号 id NAME VARCHAR(10) -- 姓名 name);CREATE TABLE cours...原创 2018-05-03 10:12:18 · 964 阅读 · 0 评论 -
mysql基础操作(四):简单多表查询
-- 创建部门 (主表)create table dept( id int primary key auto_increment, name varchar(20));-- 创建员工 (副表)create table employee( id int primary key auto_increment, name varchar(20), deptId int, ...原创 2018-05-03 10:12:10 · 375 阅读 · 0 评论 -
mysql基础操作(三):数据约束
首先创建一个数据库create database homework default character set utf8;use homework;1.1 默认值约束(default)-- 数据约束问题create table test( name varchar(20), gender varchar(2));insert into test(name) values('张三');s...原创 2018-05-03 10:12:04 · 227 阅读 · 0 评论 -
mysql基础操作(二):简单查询DQL
-- 1.查询所有字段select * from student;-- 2.查询指定的字段select id from student;select id, name from student;-- 3.查询时指定别名select id as '编号', name as '姓名' from student; -- as关键字可以省略select id '编号', name '姓名' from ...原创 2018-05-03 10:11:56 · 354 阅读 · 0 评论