数据库
文章平均质量分 52
小熊来了
这个作者很懒,什么都没留下…
展开
-
DB2常用命令
一:数据库启停1: 启动数据库实例 #db2start 2: 停止数据库实例 #db2stop 如果提示:SQL1025N 未停止数据库,因为数据库仍是活动的 则运行命令: #db2stop force application all3: 打开命令行窗口,不打开会提示"未打开命名行环境" #db2cmd4: 连接到数据库 #db2 connect to [dbna...原创 2018-02-11 11:39:19 · 6482 阅读 · 0 评论 -
DB2表约束
DB2支持的表约束包括非空约束[NOT NULL],主键约束[PRIMARY KEY],唯一性约束[UNIQUE],外键约束[FOREIGN KEY]和检查性约束[CHECK] 1:非空约束[NOT NULL]空值[NULL]是不存在的值,不是0也不是空字符串。默认情况下表中的是允许为NULL的,在建表时如 NAME VARCHAR(20) NOT NULL,即标记该字段不能为空。 2...原创 2018-05-22 21:00:10 · 2974 阅读 · 0 评论 -
DB2删除表数据的4种方式
1:DELETE FROM table_name; 可用性非常差,会消耗大量时间和日志空间2:ALTER TABLE table_name activate NOT logged initilly; DELETE FROM table_name; 不记录日志删除数据,可用,但比较麻烦,两条sql必须在同一个事务中执行;3:ALTER TABLE table_name act...原创 2018-05-22 17:14:02 · 37328 阅读 · 0 评论 -
DB2 存储过程返回结果集
存储过程返回结果集,但是并未明确定义out参数的情况下,要正确获取到结果集,则必须明确设置返回结果集个数:result set 结果集个数如果没有声明返回结果集个数,那么存储过程中定义的游标是获取不到其值的1:创建存储过程create procedure proName(in tabName varchar(20)) result set 1 language sqlp1:begin de...原创 2018-05-14 21:26:21 · 5515 阅读 · 0 评论 -
DB2存储过程
存储过程可以提高程序性能,存储过程创建及运行在数据库服务器上,可以减少数据库存取流量。并且可以帮助集中处理业务逻辑,如果对存储过程进行更改,则使用该存储过程的所有客户机应用都立即可以应用这些更改。存储过程分为外部存储过程和SQL存储过程,SQL存储过程由SQL语句和控制SQL语句组成。SQL存储过程必须用CREATE PROCEDURE语句进行注册。一旦存储过程注册后,在系统索引表中的信息就会独立...原创 2018-05-12 16:21:59 · 9042 阅读 · 0 评论 -
SQL语句CASE与IF
Case:根据一个条件的状态实现逻辑的分支,可用于查询语句中1:简单case语句用于根据一个字面值进入某个逻辑2:搜索型case语句用于根据一个表达式的值进入某个逻辑简单case语句Case 字段When 表达式B/值 then 结果BWhen 表达式C/值 then 结果CElse 结果DEnd说明:计算表达式A的值,与每一个when后面的表达式的值比较,若相等,则返回对应的结果,否则返回els...原创 2018-05-12 12:00:25 · 9215 阅读 · 0 评论 -
命令行启动Mysql
1:启动mysql: net start mysql如果报错如下:则以管理员模式就可以启动了 输入cmd,然后右键单击,并选择以管理员身份运行2:停止数据库 net stop mysql3:连接数据库 mysql -u用户名 -p密码4:exit退出...原创 2018-04-20 21:59:19 · 1143 阅读 · 0 评论 -
Oracle SQL性能优化
原文的出处忘了,感谢原作者(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table...转载 2018-04-20 20:28:51 · 101 阅读 · 0 评论 -
DB2查询主键、索引、表约束
查询主键:SELECT K.COLNAME AS 主键名 FROM SYSCAT.KEYCOLUES K WHERE TABSCHEMA='SCHEMA' AND TABNAME='TABNAME'; 查询索引SELECT I.INDNAME AS 索引名,I.COLNAMES AS 索引字段 FROM SYSCAT.INDEXS I WHERE TABSCHEMA='SCHEMA'...原创 2018-04-19 21:30:42 · 17894 阅读 · 3 评论 -
DB2数据库查询
好记性不如写一遍,复习用1:普通查询SELECT THIRDSYSTIME AS 交易时间,AMOUNT AS 交易金额,AUTHORCODE AS 交易码, FEE AS 手续费,SYSSERNO AS 系统跟踪号FROM T_CPS_CUPSICACINFO;2:筛选查询SELECT THIRDSYSTIME AS 交易时间,AMOUNT AS 交易金额,AUTHOR...原创 2018-04-22 21:03:28 · 6302 阅读 · 1 评论 -
DB2分页查询
DB2的分页和Oracle类似,需要借助行数来分页SELECT THIRDSYSTIME AS 交易时间, AMOUNT AS 交易金额,FEE AS 手续费,SYSSERNO AS 系统跟踪号FROM (SELECT T_CPS.*,ROWNUMBER() OVER() AS RNUM FROM (SELECT * FROM T_CPS_CUPSICACINF...原创 2018-04-22 20:41:25 · 1538 阅读 · 0 评论 -
DB2错误码
操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQL State相关,现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明,一来可以自己参考,对DB2错误自行找出原因 sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 ...转载 2018-04-15 14:03:24 · 835 阅读 · 0 评论 -
数据表的匹配性插入
数据库的匹配插入字段值。 在系统交互时,业务表进行登记交易流水是最基础也是极其重要的步骤,流水登记的质量直接影响着后续的业务。一般我们在数据库登记时,常用的操作是写一个sql,例如INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) 我们将要登记的列逐个罗列出来,后面赋上对应的值。这种方式在数据库字段少的时候或者需要登...原创 2018-04-09 22:18:39 · 1622 阅读 · 0 评论 -
Excel表导入Mysql数据库
1:建数据库2:右键数据库→导入→导入外部数据库3:直接下一步4:选择数据源类型为EXCEL,选择文件路径,下一步5:设置数据库信息,下一步6:选择数据表,Destination中设置数据表名称,Map中设置Excel表列数据的数据表字段名,指定数据类型和长度7:Advanced中设置表的创建方式8:下一步直到结束9:结果备注:初次导入Excel表需要安装一个小工具,在导入的过程中按提示下载安装即...原创 2017-12-22 17:22:24 · 6940 阅读 · 0 评论 -
Mybatis调用存储过程
1:实体类为USERpublic class User { private Integer id; private String name; private String sex; private Integer age; }2:在mysql数据库中建t_user表CREATE TABLE `t_user` ( `id` int(10) NOT NULL,原创 2018-02-06 14:22:15 · 6400 阅读 · 0 评论 -
数据库批量插入
1:使用addBatch()加入一条要执行的sql命令以及executeBatch()执行全部命令两个方法完成 /** * 插入1万条约耗时30s(不使用事务) * 1W条数据700ms * 10W条数据5S * @param pstm * @throws SQLException */ public static void insert1(Conne...原创 2018-08-12 08:04:53 · 752 阅读 · 0 评论