最近用到的SQL语句
16lz
2021-01-22
最近在导数据,包括使用kettle将sqlserver、mysql的数据导入oracle中(使用多表导入向导),添加主键、注释,为后续导入hbase打好基础。
--oracle --找出最大的id select max(id) from table_name --导数据之前备份表 create table table_name_bak as select * from table_name --对于已经建好的表可以这样备份(需要commit) insert into table_name_bak select * from table_name --计算表的行数(比count(*)快)但不能有null值 select count(1) from table_name --清空表数据(导入出错需要重导时使用) truncate table table_name --为表添加注释 comment on table table_name is '要添加的表注释'; --为列添加注释 comment on column table_name.column_name is '要添加的列注释'; --重命名表(plsql中通过界面重命名好像会重建一张表) alter table old_table_name rename to new_table_name --找出所有带CLOB字段的用户表(应尽量少的使用CLOB字段) select distinct(t.TABLE_NAME) from all_tab_columns t where t.TABLE_NAME in (select t2.TABLE_NAME from user_tables t2) and t.DATA_TYPE = 'CLOB' order by t.TABLE_NAME; --查询某一列有无重复的值,如果有则输出该列 select column_name, count(*) from table_name group by column_name having count(*)>1 --sqlserver --找出某一列最长的长度 SELECT max(len(column_name)) FROM table_name --重命名某一列(遇到过因为sqlserver表列名过长而无法导入oracle的情况) exec sp_rename 'table_name.old_column_name', 'new_column_name', 'column' --因为使用kettle导表没有将注释导过去,所以手动拿到注释拼成sql语句进行导入 --获取所有表的注释 select tables.name, cast(ep.[value] as varchar(500)) from sys.tables tables left join sys.extended_properties ep on (tables.object_id = ep.major_id and ep.minor_id = 0) order by tables.name --获取所有的表名、列名及相应的注释 select tables.name,columns.name,cast(ep.value as varchar(500)) from sys.tables tables inner join sys.columns columns on columns.object_id = tables.object_id left join sys.extended_properties ep on ep.major_id = columns.object_id and ep.minor_id = columns.column_id --查看数据库中所有表的数据量,为确保显示一致按照名称排序 select a.name, b.rows from sysobjects as a inner join sysindexes as b on a.id = b.id where (a.type = 'u') and (b.indid in (0,1)) order by a.name --mysql --赋予某用户读表的权限 grant select on database_name.table_name to user_name; --撤销某用户读表的权限 revoke select on database_name.table_name from user_name; --修复某张表 repair table table_name --检查某个库中的所有表并自动修复(cmd执行) --mysqlcheck -c --databases db_name -uroot -p --auto-repair
更多相关文章
- 如何使用来自其他模型的信息来注释查询集,或者在Django Rest Fram
- PowerDesigner 生成SQL Server 2005 注释脚本
- 使用sqoop从mysql往hive中增量导数据shell脚本
- sqlserver各种注释语句的写法
- EJB 3.1 @LocalBean vs no注释
- VC6.0添加注释快捷键,类似Eclispe如此方便