四种数据库:MySQL、SQL server、Oracle、PostgreSQL
mysql: jdbc:mysql://172.18.16.200:3306/databaseName
sqlserver: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=databaseName
oracle: jdbc:oracle:thin:@localhost:1521:databaseName
postgresql: jdbc:postgresql://172.18.16.203:5432/databaseName
mysql: com.mysql.jdbc.Driver
sqlserver: com.microsoft.sqlserver.jdbc.SQLServerDriver
oracle: oracle.jdbc.driver.OracleDriver(不通用)
postgresql: org.postgresql.Driver
mysql: show databases
sqlserver: SELECT Name FROM Master..SysDatabases where Name<>'master' and Name<>'model' and Name<>'msdb' and Name<>'tempdb' ORDER BY Name
oracle: select name from v$database
postgresql: SELECT * FROM pg_database where datname<>'template0' and datname<>'template1' ORDER BY datname(除模板数据库以为)
mysql: select TABLE_NAME from information_schema.tables where table_schema='databaseName' order by TABLE_NAME
sqlserver: SELECT * FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME
oracle: select TABLE_NAME from all_tables WHERE owner='databaseName' order by TABLE_NAME
postgresql: SELECT * FROM pg_tables WHERE tablename NOT LIKE 'pg%' AND tablename NOT LIKE 'sql_%' ORDER BY tablename
mysql: select TABLE_NAME from information_schema.VIEWS where table_schema='databaseName' order by TABLE_NAME
sqlserver: select name from sys.objects where type = 'V'
oracle: select TABLE_NAME from all_views where table_schema='databaseName' order by TABLE_NAME
postgresql: SELECT * FROM pg_views WHERE schemaname='public'
mysql、sqlserver、oracle: create database databaseName
postgresql: create database databaseName template templateDatabaseName
删除数据库: drop database databaseName
postgresql 断开数据库链接会话语句:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='"+databaseName+"' AND pid<>pg_backend_pid()
mysql: select COLUMN_NAME AS columnName, DATA_TYPE AS dataType, CHARACTER_OCTET_LENGTH colLength, IS_NULLABLE AS isNull, COLUMN_DEFAULT AS defaultValue, COLUMN_KEY AS isPrimarykey from information_schema.columns where table_name = 'tableName' and table_schema = (select database())
sqlserver: SELECT a.name columnName, b.name datatype, ( CASE WHEN ( SELECT COUNT (*) FROM sysobjects WHERE ( name IN ( SELECT name FROM sysindexes WHERE (id = a.id) AND ( indid IN ( SELECT indid FROM sysindexkeys WHERE (id = a.id) AND ( colid IN ( SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name))))))) AND (xtype = 'PK')) > 0 THEN 1 ELSE 0 END ) isPrimaryKey, CASE WHEN (charindex('int', b.name) > 0) OR (charindex('time', b.name) > 0) THEN NULL ELSE COLUMNPROPERTY(a.id, a.name, 'PRECISION') END AS colLength, ( CASE WHEN a.isnullable = 1 THEN 1 ELSE 0 END ) isNull, Replace( Replace(IsNull(e. TEXT, ''), '(', ''), ')', '' ) defaultValue FROM syscolumns a LEFT JOIN systypes b ON a.xtype = b.xusertype INNER JOIN sysobjects d ON a.id = d.id AND d.xtype = 'U' AND d.name <> 'dtproperties' LEFT JOIN syscomments e ON a.cdefault = e.id LEFT JOIN sys.extended_properties g ON a.id = g.major_id AND a.colid = g.minor_id LEFT JOIN sys.extended_properties f ON d.id = f.class AND f.minor_id = 0 WHERE b.name IS NOT NULL AND d.name = N'tableName'
oracle: 待定
postgresql: select column_name as columnName,data_type as dataType, coalesce(character_maximum_length,numeric_precision,-1) as colLength, case is_nullable when 'NO' then 0 else 1 end as canNUll,column_default as defaultValue, case when position('nextval' in column_default)>0 then 1 else 0 end as IsIdentity, case when b.pk_name is null then 0 else 1 end as isPrimaryKey from information_schema.columns left join ( select pg_attr.attname as colname,pg_constraint.conname as pk_name from pg_constraint inner join pg_class on pg_constraint.conrelid = pg_class.oid inner join pg_attribute pg_attr on pg_attr.attrelid = pg_class.oid and pg_attr.attnum = pg_constraint.conkey[1] inner join pg_type on pg_type.oid = pg_attr.atttypid where pg_class.relname = 'tableName' and pg_constraint.contype='p' ) b on b.colname = information_schema.columns.column_name where table_schema='public' and table_name='tableName'
alter table 表名 alter column UnitPrice decimal(18, 4) not null
mysql: ALTER TABLE `test2` DROP PRIMARY KEY ,ADD PRIMARY KEY (主键)
持续更新中…