
数据库
一位程序员小生的奋斗史
我的地盘我做主
展开
-
MySQL事务实现原理
开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理 可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保障数据的操作前后的一致,想要做到这个,我需要知道我修改之前和修改之后的状态,所以就有了u转载 2020-07-20 08:48:33 · 411 阅读 · 0 评论 -
oracle创建序列以及时间戳的使用
CREATE SEQUENCE emp_sequence -- emp_sequence这个就是后面要用到这个序列号时引用的名称INCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXVALUE -- 不设置最大值NOCYCLE -- 一直累加,不循环CACHE 100; -- 缓存值 100原创 2017-05-21 20:50:33 · 1353 阅读 · 0 评论 -
有关Mysql自动生成时间戳
假设表有3个字段:id、name、ts,希望在新增记录时能自动设置ts字段为当前时间设置DEFAULT CURRENT_TIMESTAMP即可CREATE TABLE `test` (`id` int NOT NULL,`name` varchar(255),`ts` timestamp NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY原创 2017-06-28 23:14:10 · 4033 阅读 · 0 评论 -
oracle创建表空间和用户以修改用户密码
create tablespace NNC_DATA01 datafile 'D:\oracle_program\product\11.2.0\oradata\orcl11\nnc_data01.dbf' size 500M autoextend on next 50M extent management local uniform size 512k; create tablespace N原创 2017-05-09 10:43:14 · 1830 阅读 · 0 评论 -
数据库多个触发器的连续执行
---- 1:部门中间表序列触发器create or replace trigger MID_ORG_DEPT_TRIGGERbefore insert on mid_org_deptfor each rowbegin if (:new.mid_id is null) then select MID_ORG_DEPT_ID.nextval into :new.mid原创 2017-07-03 22:10:26 · 1515 阅读 · 0 评论 -
oracle创建数据表之前如果存在数据表就删除,之后创建新数据表
declare i integer; begin select count(*) into i from user_tables where table_name = 'YY_TEST'; if i > 0 then dbms_output.put_line('该表已存在!'); execute immediate 'DROP TABLE YY_TEST';原创 2017-07-07 11:07:38 · 891 阅读 · 0 评论 -
oracel修改数据库表字段值语句
alter table emp modify (emp_pk varchar2(40))原创 2017-09-19 11:44:20 · 1319 阅读 · 0 评论 -
Mysql主从配置
mysql主从配置。鄙人是在如下环境测试的: 主数据库所在的操作系统:win7 主数据库的版本:5.0 主数据库的ip地址:192.168.1.111 从数据库所在的操作系统:linux 从数据的版本:5.0 从数据库的ip地址:192.168.1.112介绍完了环境,就聊聊配置步骤: 1、确保主数据库与从数据库一模一样转载 2017-10-07 13:50:22 · 438 阅读 · 0 评论 -
有关plSQL连接远程服务器的技巧
1:使用Oracle客户端连接oracle服务,一直使用sqldeveloper,感觉使用挺方便的,但是和PlSQL相比较一下,还是PlSQL比较方便一下,2:使用Plsql连接远程服务器,网络上说的千奇百怪,各有各的说法,基本都是配置文件,一大堆的配置文件,有时想想,有什么简单的方法没有,直接连接数据库,思考总结,询问同事,最终还是有简单的方法直接连接,直接上图说明原创 2017-10-18 21:14:34 · 520 阅读 · 0 评论 -
navicat 快捷键使用
navicat 快捷键使用提高开发效率1.ctrl+q 打开查询窗口2.ctrl+/ 注释sql语句3.ctrl+shift +/ 解除注释4.ctrl+r 运行查询窗口的sql语句5.ctrl+shift+r 只运行选中的sql语句6.F6 打开一个mysql命原创 2017-10-13 17:36:40 · 370 阅读 · 0 评论 -
MySQL常用操作语句
1:创建数据库表之后,修改数据表名 RENAME TABLE bd_cust TO bd_customer原创 2018-03-30 15:30:26 · 282 阅读 · 0 评论 -
oracle内连接 外连接
表TESTA,TESTB,TESTC,各有A, B两列AB00110A00220AAB00110B00330BAB001转载 2017-06-02 12:30:28 · 333 阅读 · 0 评论 -
Oracle expdp/impdp工具使用
http://blog.youkuaiyun.com/indexman/article/details/7849401原创 2017-05-09 10:39:52 · 350 阅读 · 0 评论 -
SQL的优化方案
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id f转载 2016-11-19 17:42:57 · 392 阅读 · 0 评论 -
SQL Developer报错:Unable to find a Java Virtual Machine解决办法
第一次启动Oracle SQL Developer的时候会让我们填写java.exe的路径,我在jdk安装目录下的bin中找到了java.exe,但是填写以后报如下错误原因:oracle 11g中安装的Oracle SQL Developer是32位的,而我们现在给他指定的java.exe却是64位的,所以会出现这种错误。解决方法:1)从网上下载Oracle SQL Dev原创 2016-12-06 14:57:41 · 2042 阅读 · 0 评论 -
MySQL的有关存储引擎
如何查看MySQL的当前存储引擎?一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%'; 你要看某个表用了什么引擎(在显示结果里参数eng转载 2016-12-26 19:21:05 · 324 阅读 · 0 评论 -
Mysql创建用户账号
#创建数据库create database ‘数据库名’;#创建新用户 dyd ,密码是 1234CREATE USER 'dyd '@'localhost' IDENTIFIED BY 'dyd ';CREATE USER 'dyd '@'%' IDENTIFIED BY 'dyd ';#为用户授权grant all privileges on ec_db原创 2017-04-28 17:21:24 · 531 阅读 · 0 评论 -
Mysql
一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(原创 2017-04-28 17:31:32 · 264 阅读 · 0 评论 -
SQL的优化操作
第一掌 避免对列的操作任何对列的操作都可能导致全表扫描,这里所谓的操作包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等式的右边,甚至去掉函数。 例1:下列SQL条件语句中的列都建有恰当的索引,但30万行数据情况下执行速度却非常慢: select * from record where substrb(CardNo,1,4)='5378'(13秒) select转载 2017-04-28 17:36:24 · 437 阅读 · 0 评论 -
ubuntu安装Mysql的注意事项
#必须要先安装依赖的libaio才能正常按照mysqlsudo apt-get updatesudo apt-get install libaio-dev#创建用户组sudo groupadd mysql#创建用户sudo useradd -r -g mysql -s /bin/false mysql#尽量把mysql安装到/usr/lo原创 2017-05-05 22:21:20 · 321 阅读 · 0 评论 -
数据相关的驱动和URL
-------------------------------oracle--------------------------------驱动:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin:@:dbname注:machine_name:数据库所在的机器的名称; port:端口号,默认是1521原创 2017-05-05 22:25:31 · 358 阅读 · 0 评论 -
Oracle常用的查询函数
select * from scott.dept;select * from scott.emp;-- dual 是 orcle提供的一个虚表 SELECT LENGTH('hello') FROM dual;--常用函数--lower把大写转小写 upper 把小写转大写select * from scott.emp where ename='s原创 2017-04-25 18:39:06 · 582 阅读 · 0 评论 -
oracle 连接数据库以及安转数据库默认密码
sqlplus有几种登陆方式 比如:1.C: > sqlplus "/as sysdba" --以操作系统权限认证的oracle sys管理员登陆2.C: > sqlplus /nolog --不在cmd或者terminal当中暴露密码的登陆方式SQL> conn /as sysdba&SQL> conn sys/password as sysdba3.转载 2017-05-09 10:31:56 · 489 阅读 · 0 评论 -
怎么处理eclipse向mysql插入数据出现乱码
其实解决这个问题就是要保证整个数据插入过程中字符编码要一致。要有三个方面注意的,第一个是MySQL数据库,就是保证mysql的数据库以及表都要保证编码是一致的比如都是UTF-8,第二个是,eclipse这边也要保证项目,工作空间和java文件的编码格式也是UTF-8,第三个是,就是配置文件里面JDBC的url的(jdbc:mysql://localhost:3306/mybatis?c原创 2016-10-31 00:04:28 · 781 阅读 · 0 评论