`
huangyongxing310
  • 浏览: 496391 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

SQL常用语句

阅读更多

delete from cacherefresh where 1=1;
COMMIT;

//=====================================================
获取数据库所有表明的SQL

MYSQL
select table_name from information_schema.tables where table_schema='当前数据库';

select table_name  from information_schema.tables where table_schema = (select database()) order by  table_name;

select t.table_name from user_tables t;



ORACLE
SELECT * FROM user_tables
-- 加 ORDER BY TABLE_NAME 是让结果按照表名顺序展示
SELECT * FROM user_tables ORDER BY TABLE_NAME

https://www.cnblogs.com/cnsdhzzl/p/9848493.html


Oracle

获取用户所有表
select table_name from user_tables where TABLESPACE_NAME is not null and  user='UserName'

获取表字段
SELECT table_name, column_name, data_type FROM all_tab_cols WHERE table_name = 'tablename '


//=====================================================
oracle 删除表

declare
    p_table VARCHAR2(4000) := 'supplierdocumentinfo';
    v_count number(10) := 0;
begin
    select count(*)
    into v_count
    from user_tables
    where table_name = upper(p_table);

    if v_count > 0 then
        execute immediate 'drop table ' || p_table ||' purge';
    end if;
end;


mysql
判断表是否存在
select * from information_schema.tables where table_name ='acl';




//=====================================================



//=====================================================
//删除oracle相关表的SQL
create global temporary table delete_table_temp_tb (col1 varchar(200)) on commit delete rows;
create global temporary table delete_table_message_tb (col1 varchar(200)) on commit delete rows;
insert into  delete_table_temp_tb values('test11');
insert into  delete_table_temp_tb values('test22');
insert into  delete_table_temp_tb values('test33');

declare
    p_table VARCHAR2(200) := '';
    v_count number(10) := 0;

begin
    FOR r IN (select * from  delete_table_temp_tb) loop
            v_count := 0;
            p_table := trim(r.col1);
            begin
                select count(*)
                into v_count
                from user_tables
                where table_name = upper(p_table);

                if v_count > 0 then
                    execute immediate 'drop table ' || p_table ||' purge';
                end if;
            end;
        end loop;
end;
select * from  delete_table_temp_tb;
select * from  delete_table_message_tb;
drop table delete_table_temp_tb;
drop table delete_table_message_tb;


MySQL

CREATE TEMPORARY TABLE delete_table_temp_tb (
table_name VARCHAR(100) NOT NULL,
primary key (table_name)
);

insert into  delete_table_temp_tb values('esbtransaction ');
insert into  delete_table_temp_tb values('esbtransactionrelease ');

select * from  delete_table_temp_tb;


create procedure delete_table_procedure()
begin
    declare p_table varchar(100);
    declare v_count int;
    declare delTabl varchar(1000);
    -- 遍历数据结束标志 注意位置顺序
    DECLARE done INT DEFAULT FALSE;

    -- 注意用别名 因为id在上面已经有定义所以需要使用表的别名区别
    declare cur_test CURSOR for select trim(t.table_name) from delete_table_temp_tb t;
    -- 将结束标志绑定到游标
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    open cur_test;
    repeat
        fetch cur_test into p_table;
        set v_count =0;
        select  count(*)  into v_count from information_schema.tables where table_name = upper(p_table);
        if v_count > 0 then
            SET delTabl = CONCAT(' DROP TABLE  ', p_table);
            PREPARE temp FROM delTabl;
            EXECUTE temp;
        end if;
    until done
        end repeat;
    close cur_test;
end;


call delete_table_procedure();

# 删除临时表
drop TEMPORARY TABLE delete_table_temp_tb;
# 删除存储过程
drop procedure delete_table_procedure;




//=====================================================
ORAcle数据库删除字段的SQL语句 :
alter table tableName drop (name)

MySQL

MySQL中添加、删除字段,使用SQL语句操作
1.新增字段

alter table table1
add col1 int(2) not NULL DEFAULT 0 COMMENT '注释1',
add col2 VARCHAR(300) DEFAULT NULL COMMENT '注释2'                       
语法:alter table 表名 add 列名 int(2) 字段数据类型、长度 NOT NULL (是否可为空)DEFAULT 0  默认值


alter table MTClsPanelAttribute add defaultValue varchar2(100);

2.删除字段

alter table id_name drop column age,drop column address;


语法:alter table 表名 drop column 列名

修改字段信息
alter table acl_ext_test modify column column_2 decimal(7,3) default 12.350;


//=====================================================
oracle中判断某个字段是否存在

select count(column_name)
from cols
where table_name = upper('acl')
  and column_name = upper('oid2')


MySQL
SELECT count(*) FROM information_schema.columns WHERE table_name = 'Acl' AND COLUMN_NAME = 'Oid2';


//=====================================================

//=====================================================
//删除oracle相关表的相关字段
create global temporary table delete_table_temp_tb (tb_name varchar(200),column_name varchar(200)) on commit delete rows;
create global temporary table delete_table_message_tb (tb_name varchar(200),column_name varchar(200)) on commit delete rows;
insert into  delete_table_temp_tb (tb_name,column_name) values('test11','test111');
insert into  delete_table_temp_tb (tb_name,column_name) values('test22','test222');

declare
    p_table VARCHAR2(200) := '';
    p_column_name VARCHAR2(200) := '';
    v_count number(10) := 0;

begin
    FOR r IN (select * from  delete_table_temp_tb) loop
            v_count := 0;
            p_table := trim(r.tb_name);
            p_column_name := trim(r.column_name);
            begin
                select count(column_name)
                into v_count
                from cols
                where table_name = upper(p_table)
                  and column_name = upper(p_column_name);

                if v_count > 0 then
                    execute immediate 'alter table ' || p_table ||' drop (' || p_column_name || ')';
                end if;
            end;
        end loop;
end;
select * from  delete_table_temp_tb;
select * from  delete_table_message_tb;
drop table delete_table_temp_tb;
drop table delete_table_message_tb;



MySQL
CREATE TEMPORARY TABLE delete_table_temp_tb
(
    tb_name     VARCHAR(100) NOT NULL,
    column_name VARCHAR(100) NOT NULL,
    primary key (tb_name)
);
insert into  delete_table_temp_tb (tb_name,column_name) values('test11','test111');
insert into  delete_table_temp_tb (tb_name,column_name) values('test22','test222');
insert into  delete_table_temp_tb (tb_name,column_name) values('objecthelpconfig ','name');

select * from delete_table_temp_tb;


create procedure delete_table_column_procedure()
begin
    declare p_table varchar(100);
    declare p_column varchar(100);
    declare v_count int;
    declare delTabl varchar(1000);
    -- 遍历数据结束标志 注意位置顺序
    DECLARE done INT DEFAULT FALSE;

    -- 注意用别名 因为id在上面已经有定义所以需要使用表的别名区别
    declare cur_test CURSOR for select trim(t.tb_name), trim(t.column_name)from delete_table_temp_tb t;
    -- 将结束标志绑定到游标
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    open cur_test;
    repeat
        fetch cur_test into p_table,p_column;
        set v_count = 0;
        SELECT count(*) into v_count FROM information_schema.columns WHERE table_name = upper(p_table) AND COLUMN_NAME = upper(p_column);
        if v_count > 0 then
            SET delTabl = CONCAT(' alter table  ', p_table,' drop column ',p_column);
            PREPARE temp FROM delTabl;
            EXECUTE temp;
        end if;
    until done
        end repeat;
    close cur_test;
end;


call delete_table_column_procedure();

# 删除临时表
drop TEMPORARY TABLE delete_table_temp_tb;
# 删除存储过程
drop procedure delete_table_column_procedure;



//=====================================================数据表备份
create table ts_dictionary_20160715 as select * from ts_dictionary;




//=====================================================
//=====================================================
//=====================================================



oracle
查询死锁
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id


SHOW TABLE STATUS FROM `xinttest_ext` //可列出指定数据库中所有表的信息,包括表类型;
SHOW CREATE TABLE `xinttest_ext` //可列出指定数据表的信息,包括表类型。





//获取所有表中的最大OID或OBJECTIDENTIFIER
create global temporary table delete_table_count_max_tb (count_max number(20)) on commit delete rows;
declare
    p_table_mame VARCHAR2(200) := '';
    v_count number(20) := 0;
    v_count_max number(20) := 0;
begin
    FOR r IN (SELECT TABLE_NAME FROM user_tables ORDER BY TABLE_NAME ) loop
            p_table_mame := trim(r.TABLE_NAME);
            v_count := 0;
            begin
                select count(column_name)
                into v_count
                from cols
                where table_name = upper(p_table_mame)
                  and column_name = upper('OBJECTIDENTIFIER');
                if v_count > 0 then
                    execute immediate 'insert into  delete_table_count_max_tb (count_max) select MAX(OBJECTIDENTIFIER) from ' || p_table_mame;
                end if;
            end;
            v_count := 0;
            begin
                select count(column_name)
                into v_count
                from cols
                where table_name = upper(p_table_mame)
                  and column_name = upper('OID');
                if v_count > 0 then
                    execute immediate 'insert into  delete_table_count_max_tb (count_max) select MAX(OID) from ' || p_table_mame;
                end if;
            end;
        end loop;
end;
select  MAX(count_max)   from delete_table_count_max_tb;
drop table delete_table_count_max_tb;















分享到:
评论

相关推荐

    sql 常用语句 集锦

    SQL常用语句集锦,很好用的哦 SQL常用语句集锦,很好用的哦

    sql常用语句 个人收集的几个常用语句

    ### SQL常用语句详解 #### 一、修改表结构:使用`ALTER TABLE`与`ALTER COLUMN` 在SQL中,我们经常需要对现有的表结构进行修改,例如改变某个字段的数据类型或者增加新的字段等。其中,`ALTER TABLE`与`ALTER ...

    SQL常用语句速查手册

    SQL 常用语句速查手册 本资源摘要信息提供了 SQL 常用语句速查手册,涵盖了创建数据库、删除数据库、备份数据库、创建新表、删除表、增加列、添加主键、创建索引、创建视图、基本的 SQL 语句、 高级查询运算词等...

    sql常用语句-中文手册直接运行

    本资源“sql常用语句-中文手册直接运行”提供了一个详细的SQL学习指南,特别关注Oracle数据库系统中的SQL使用。通过这份中文手册,读者可以轻松掌握SQL的基本语法和实例,提升在Oracle数据库中的SQL编写能力。 1. ...

    SQL常用语句参考

    以下是一些SQL常用语句的详细说明: 1. **SELECT语句**:这是SQL中最基本的查询语句,用于从表中检索数据。例如: ```sql SELECT column1, column2 FROM table_name; ``` 这将返回`table_name`表中`column1`和`...

    T-SQL常用语句大全

    ### T-SQL常用语句详解 #### 创建数据库(Create Database) 在T-SQL中,创建数据库是基础操作之一,用于初始化存储数据的空间。语法结构如下: ```sql CREATE DATABASE 数据库名 ON (NAME = 文件逻辑名称, ...

    SQL常用语句简介

    ### SQL常用语句详解 #### 一、SELECT 语句 **定义与作用:** `SELECT` 是 SQL 语言中最核心也是最常用的语句之一,主要用于从数据库表中选取数据。用户可以根据自己的需求来定制查询结果,从而获取特定的数据...

    mysql sql常用语句大全

    mysql sql常用语句大全

    SQL 常用语句 (带注释)

    ### SQL常用语句详解(附注释) #### 一、查询(Select) 在数据库操作中,查询是最常见的需求之一。SQL提供了丰富的查询功能,通过`SELECT`语句,我们可以从数据库中检索特定的信息。 1. **基本查询**:用于检索...

    SQL常用语句电子书

    《SQL常用语句电子书》是一本全面介绍SQL语言核心概念和常见操作的资源,适合初学者和有一定基础的数据库管理人员。SQL(Structured Query Language,结构化查询语言)是用于管理关系数据库的标准语言,它的应用广泛...

    SQl常用语句大全

    在SQL(Structured Query ...以上就是SQL常用的一些语句,它们涵盖了数据操作的核心功能,包括数据的复制、查询、更新和删除,以及更复杂的联接查询和统计分析。熟练掌握这些语句能帮助我们有效地管理和操作数据库。

    面试常用SQL常用语句

    在SQL面试中,掌握一些常用的查询语句是至关重要的,以下是一些常见的SQL知识点: 1. **ISNULL函数**:这个函数用于判断一个值是否为NULL,如果是,则替换为指定的值。例如,在第一条查询中,如果员工的出生日期为...

    Sql常用语句汇总

    根据给定的文件信息,以下是对SQL常用语句的详细知识点总结: ### SQL常用语句汇总 #### 1. 数据库连接与数据提取 - **跨数据库查询:** 使用`OPENROWSET`函数可以从一个数据库读取数据到另一个数据库中。例如,...

    sql常用语句总结,增删改查等sql语句

    在这个主题中,我们将深入探讨SQL中的常见语句,特别是针对“增删改查”这四个核心操作。 1. **增加数据(INSERT)** 当你需要在数据库表中添加新记录时,会使用INSERT语句。基本格式如下: ``` INSERT INTO ...

    SQL常用语句共7页.pdf.zip

    这个压缩包文件"SQL常用语句共7页.pdf.zip"显然包含了关于SQL常用语句的精华内容,尽管实际的文档内容并未直接提供,但我们可以根据标题和描述推测其可能涵盖的关键知识点。 1. **数据查询**:SQL的核心功能之一...

    sql常用语句示例学习(初学者).rar

    sql常用语句示例学习(初学者).rar sql常用语句示例学习(初学者).rar sql常用语句示例学习(初学者).rar sql常用语句示例学习(初学者).rar sql常用语句示例学习(初学者).rar sql常用语句示例学习(初学者)....

    SQL常用语句大全

    在本文中,我们将深入探讨SQL的一些常用语句,以帮助初学者掌握基本概念。 首先,安装SQL Server Management Studio(SSMS)是开始学习SQL的推荐方式,特别是对于SQL Server 2008版本。SSMS提供了一个图形化界面来...

    sql常用语句.doc

    以下是一些关于SQL常用语句的关键知识点,这些语句涵盖了查询、插入、修改数据等基本操作: 1. **查询数据**: 使用`SELECT`语句可以查询数据库中的数据。例如,`SELECT Last_Name, LENGTH(Last_Name) FROM ...

    SQL常用语句教程全集

    "SQL常用语句教程全集"是针对这一核心技能的综合学习资源,旨在帮助初学者和进阶者掌握SQL的基本用法和高级技巧。以下是对SQL常用语句的详细说明: 1. **数据查询**: - `SELECT`语句:这是SQL中最基础的查询语句...

    SQL常用语句大全(荐)

    以下是一些关于SQL常用语句的详细解释: 1. **DDL (数据定义语言)**:DDL主要用于创建、修改和删除数据库对象,如表、视图、索引等。常见的DDL语句包括: - `CREATE`:用于创建新的数据库、表、视图等。 - `ALTER...

Global site tag (gtag.js) - Google Analytics