oracle 、mysql、 sql server使用记录

mysql常用命令:

mysqld --启动mysql数据库
show databases; -- 查看数据库
use database; -- 选择数据库
show tables; -- 查看表
desc tableName; -- 查看表结构
show processlists; --如果查询慢,可以查看是否锁表
exit --退出mysql
service mysqld restart; --重启mysql服务

mysql声明过程

mysql中的procedure:
//声明
declare i int;
//赋值
set i = 1;
//或者使用 @i 直接使用,不用声明 //创建procedure模板
create procedure dbname.myMethod()
begin
declare i int;
set i = 1;
test:while i<3 do
select i;
end while test;
//如果有增删改,不要忘记commit
commit;
end; //调用过程
call myMethod();

数据删除、清空

drop、delete和truncate:

drop:连同表结构和表数据直接删除

truncate:清空表数据,但不删除表结构,而且autoincrement从0开始计数;

delete:可以加where条件,删除特定区域记录,但是主键autoincrement继续之前的数字计数。

语法:

drop table tableName;
truncate table tableName;
delete from tableName where 1=1; 

速度,一般来说: drop> truncate > delete

truncate和 delete只删除数据不删除表的结构(定义)

数据导入导出

mysql导出数据

select * from test_table into outfile "d:/a.txt"; 

mysql导入数据

LOAD DATA INFILE '/tmp/1.txt' INTO TABLE tmpuserid FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; 

sql server

使用bcp导出

oracle

待定

表复制

mysql

1)先创建table1

create table table1(id bigint);

2)插入

insert into table1(id) select id from table2; --要求table1必须存在,字段必须一一对应 

oralce

方法一:复制表结构和数据

create table temp_clientloginuser
as
select distinct userid from tbuserloginlog; 

方法二:仅复制数据

--如果表结构一样
insert into mytable select * from yourtable;
-- 如果表结构不一样
insert into mytable(column1,column2...) select column1,column2 ... from yourtable;

3.ms sqlserver

select ptid into newtable from tmpuserid;
--sqlserver 会自动新建一张表结构和 from表一样的新表 

其他注意问题

1.sql server 查询select的时候要记得加 with(nolock) ,防止锁住;

2. oracle 中查询用户所包含的所有对象信息

select * from user_source

where lower(text) like '%yyyy%'

3.使用mysql和oracle时一定要对DML语言进行显式地commit,不然insert的数据不会生效,切记!

4. 要分清哪些命令是DML,哪些是DDL

DDL是数据定义语言,如drop,alter,truncate等都是DDL;

DML是数据操纵语言,如nsert,update,delete,merge等都是DML,

在oracle里DML需要显式地commit,当然可以rollback的,而DDL是不可以的。

5.面对表数据量很大,成千万上亿的情况,查询的时候不要join,直接查范围大也会很慢,最好的办法是将需要的数据导出到一张临时表,然后在临时表中进行操作,速度会快很对。

6.如何跨库?

在oracle中使用database link方式,如 在database3中使用

> select * from datatable@database2;

查询,但是,最好减少跨库查询,如确实需要,可以将需要的数据导入到一张临时表,然后在临时表中操作。

not exists

例子:

select * from temp_clientloginuser_info a
where not exists(select 1 from tvsumamountmonth b where lower(a.ptid)=b.poptid and b.sumamount>0)

update 2013-7-12 10:07:45

mysql中日期函数:

// 当前时间
select now(); --2008-12-29 16:25:46
CURDATE() -- 2008-12-29
CURTIME() -- 16:25:46
SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL -1 DAY); //日期增减
DATE_FORMAT(@insertDate, '%Y-%m-%d') //日期格式化,相当于oralce中的trunc方法 

sql server 中的日期函数:

-- 获取当前时间
select getdate();
-- 返回 2013-06-20 ,相当于oracle中的trunc方法
select CONVERT(varchar(10), getdate(),120); select getdate();
-- 返回 2013-06-20 ,相当于oracle中的trunc方法字符串转date:
select CONVERT(varchar(10), getdate(),120);
CONVERT(datetime, getdate(),120);
convert(int,sum(NewSingleUser))
--sum()的返回值是根据里面的字段决定的,这里返回int64 long类型,convert函数把long转化为int类型

oracle 日期函数 to_date()

sysdate :  --系统日期
to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') -- 时间格式转化
to_date('2004-05-07 13:23:44','hh24') --13 取小时数
sysdate+1 --加一天
sysdate+1/24 --加1小时
sysdate+1/(24*60) --加1分钟
sysdate+1/(24*60*60) --加1秒钟
select to_date('2003-11-17','yyyy-mm-dd')+1 from dual; --2003-11-18
add_months(sysdate,1) --加一个月
add_months(sysdate,12) --加一年

alter语句

--oracle 删除一列
alter table t_jm_user drop column USR_EmailValidate; --sql server要修改表中列的数据类型
ALTER TABLE [PV_HIS_JifenWall_Report] alter COLUMN [type] nvarchar(10) --删除mysql的一个分区表:
ALTER TABLE WebStat.PV_HIS drop partition p20130620; 查看分区表
SELECT TABLE_NAME, PARTITION_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE Table_name = 'PV_HIS'; 

mysql

null与空’’

mysql中is not null 和 <> ''

-- sql语句以...结尾

delimiter //
查看mysql是否锁住:
mysql > show processlist;

主要看STATE列,

Locked 被其他查询锁住了。

Sending data 正在处理SELECT查询的记录,同时正在把结果发送给客户端。

Sorting for group 正在为GROUP BY做排序。
Sorting for order 正在为ORDER BY做排序。

Sorting result For a SELECT statement, this is
similar to Creating sort index, but for nontemporary
tables.

NULL
This state is used for the SHOW PROCESSLIST state.

oracle 、mysql、 sql server使用记录的更多相关文章

  1. 不同数据库oracle mysql SQL Server DB2 infomix sybase分页查询语句

    在不同数据库中的使用的分页查询语句: 当前页:currentpage 页大小:pagesize 1. Oracle数据库 select * from (select A.*,rownum rn fro ...

  2. Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题

    最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用   mybatis: 1. Oracle 中使 ...

  3. oracle,mysql,sql server三大数据库的事务隔离级别查看方法

    1:mysql的事务隔离级别查看方法 mysql 最简单,执行这条语句就行:select @@tx_isolation  详情: 1.查看当前会话隔离级别 select @@tx_isolation; ...

  4. 如何连接oracle,mysql, SQL Server数据库(Java版)

    先添加上连接oracle,MySQL的驱动路径和数据库连接URL: MySQL: final String DBDRIVER = "org.gjt.mm.mysql.Driver" ...

  5. MySQL、Oracle和SQL Server的分页查询语句

    假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: SELECT * FROM s ...

  6. 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库

    开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...

  7. MySql/Oracle和SQL Server的分页查

    假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: 1 SELECT 2 * 3 ...

  8. 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

    对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...

  9. 基于TreeSoft实现mysql、oracle、sql server的数据同步

    一.为了解决数据同步汇聚,数据分发,数据转换,数据维护需求,TreeSoft推出了数据同步,数据处理等丰富功能 . TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之间架起沟通的桥 ...

随机推荐

  1. 如何大幅优化solr的查询性能(转)

    提升软件性能,通常喜欢去调整各种启动参数,这没有多大意义,小伎俩. 性能优化要从架构和策略入手,才有可能得到较大的收益 Solr的查询是基于Field的,以Field为基本单元,例如一个文章站要索引 ...

  2. 在XP系统中,如何让添加新管理员帐户和原来的管理员帐户同时存在

    一.有新账户后administrator账户会自动隐藏的,如果你要用administrator账户登录的话,就机器启动到选账户那里用ctrl+alt+del软启动,然后就可以输入账户名administ ...

  3. [leetcode]Unique Binary Search Trees @ Python

    原题地址:https://oj.leetcode.com/problems/unique-binary-search-trees/ 题意: Given n, how many structurally ...

  4. 五险一金 社保基数 住房公积金基数以及个税(By FlyElephant)

    作为最近转正的应届毕业生,查了一下卡发现卡上的钱和工资对不上,于是自己回来研究了一下五险一金,整理如下: 什么是五险一金? 五险一金其中主要指的是养老保险,医疗保险,失业保险,工伤保险,生育保险,一金 ...

  5. Packagist 镜像使用方法--composer

    镜像用法 有两种方式启用本镜像服务: 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中.见“方法一” 单个项目配置: 将配置信息添加到某个项目的 com ...

  6. Spark:JavaRDD 转化为 Dataset<Row>的两种方案

    JavaRDD 转化为 Dataset<Row>方案一: 实体类作为schema定义规范,使用反射,实现JavaRDD转化为Dataset<Row> Student.java实 ...

  7. Java归去来第4集:java实战之Eclipse中创建Maven类型的SSM项目

    一.前言 如果还不了解剧情,请返回第3集的剧情          Java归去来第3集:Eclipse中给动态模块升级 二.在Eclipse中创建Maven类型的SSM项目 2.1:SSM简介 SSM ...

  8. Java程序猿的JavaScript学习笔记(1——理念)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  9. 解析Linux操作系统文件目录

    解析Linux操作系统文件目录 随着Linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些“不明不白”的目录了.如果想熟练使用Linux,让Linu ...

  10. ArcMap中条件语句的bug

    ArcGIS作为一个十分强大的GIS工具平台,也有其bug,在以前在听说过关于SQL条件语句的bug,现在用的10.4.1,仍然与数据有关. 这个bug的出现也是非常偶然,与数据有密切的关系:发现省界 ...