Rumah >pangkalan data >tutorial mysql >检查数据库数据字段命名规范与合法性的脚本
-- 检查 不符合 数据库 命名 规范 的字段名 Select TABLE_NAME,COLUMN_NAME,DATA_TYPE From user_tab_columns Where column_name In --(Select keyword From v$reserved_words) (ACCESS,ADD,ALL,ALTER,AND,ANY,AS,ASC,AUDIT, BETWEEN,BY,CHAR,CHECK,CLUSTER,
--检查不符合数据库命名规范的字段名
Select TABLE_NAME,COLUMN_NAME,DATA_TYPE<br> From user_tab_columns<br> Where column_name In --(Select keyword From v$reserved_words)<br> ('ACCESS','ADD','ALL','ALTER','AND','ANY','AS','ASC','AUDIT',<br> 'BETWEEN','BY','CHAR','CHECK','CLUSTER',<br> 'COLUMN','COMMENT','COMPRESS','CONNECT','CREATE','CURRENT',<br> 'DATE','DECIMAL','DEFAULT','DELETE',<br> 'DESC','DISTINCT','DROP','ELSE','EXCLUSIVE','EXISTS','FILE',<br> 'FLOAT','FOR','FROM','GRANT','GROUP',<br> 'HAVING','IDENTIFIED','IMMEDIATE','IN','INCREMENT','INDEX',<br> 'INITIAL','INSERT','INTEGER','INTERSECT',<br> 'INTO','IS','LEVEL','LIKE','LOCK','LONG','MAXEXTENTS','MINUS',<br> 'MLSLABEL','MODE','MODIFY','NOAUDIT',<br> 'NOCOMPRESS','NOT','NOWAIT','NULL','NUMBER','OF','OFFLINE','ON',<br> 'ONLINE','OPTION','OR','ORDER',<br> 'PCTFREE','PRIOR','PRIVILEGES','PUBLIC','RAW','RENAME','RESOURCE',<br> 'REVOKE','ROW','ROWID','ROWNUM',<br> 'ROWS','SELECT','SESSION','SET','SHARE','SIZE','SMALLINT','START',<br> 'SUCCESSFUL','SYNONYM','SYSDATE',<br> 'TABLE','THEN','TO','TRIGGER','UID','UNION','UNIQUE','UPDATE',<br> 'USER','VALIDATE','valueS','VARCHAR',<br> 'VARCHAR2','VIEW','WHENEVER','WHERE','WITH')<br> Or column_name Like '% %'
--检查数据库中相同名字不同类型的字段名
select a.column_name,a.data_type,b.data_type From<br> (select distinct column_name,data_type from<br> all_tab_columns Where TABLE_NAME Like 'T%') a,<br> (select distinct column_name,data_type from<br> all_tab_columns Where TABLE_NAME Like 'T%') b<br> where a.column_name=b.column_name and a.data_typeb.data_type
--检查数据库中相同名字相同类型不同长度的字段名
select a.column_name,a.data_type,b.data_type,<br> a.data_length,b.data_length From<br> (select distinct column_name,data_type,<br> data_length from all_tab_columns Where TABLE_NAME Like 'T%') a,<br> (select distinct column_name,data_type,<br> data_length from all_tab_columns Where TABLE_NAME Like 'T%') b<br> where a.column_name=b.column_name and a.data_type=b.data_type And A.DATA_LENGTHB.DATA_LENGTH