首页 > 数据库 >SQL Server & PostgreSQL

SQL Server & PostgreSQL

时间:2023-06-02 22:55:58浏览次数:54  
标签:PostgreSQL name column CE Server value SQL

SQL Server (Compact Edition)

SQL CE 中 sp_rename 仅支持表的修改

sp_rename 'oldTableName','newTableName';

在 SqlServer 2005 Management Studio 中,您必须使用新名称创建一个新列,然后使用旧列中的值更新它,然后删除旧列。如果列是索引的一部分,那么最后一个操作是困难的。

SQL CE 查询表信息

SELECT table_name_, column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name_='stu';

SQL CE 和其他 SQL 的区别

SQL CE 使用 EFCore 连接并持久化对象:

https://entityframework-extensions.net/efcore-sql-server-compact-provider

确定Firebird SQL版本

SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION')  as version from rdb$database;

不同数据库之间的类型映射关系

  • 常用关键字翻译
T-sql postgres
cast(value AS datetime)
convert(datetime, value)
cast(value AS timestamp(3))
datepart(day, value) extract(day FROM value)
dateadd(day, value1, value2) value2 + value1 * INTERVAL '1 day'
dateadd(d,-1,dateadd(mm, datediff(m,0,column_name)+1,0))
当月的最后一天
date_trunc('month', column_name) + INTERVAL '1 month- 1 day'
len(value) char_length(value)
+ ||
IDENTITY (1,1) GENERATED BY DEFAULT AS IDENTITY
ROWVERSION bytea
CREATE TABLE table_name (column_name varbinary(46) NOT NULL DEFAULT ((0))) CREATE TABLE table_name (column_name bytea NOT NULL DEFAULT E'\x00000000')
DECLARE @tablename TABLE(column_name1 nvarchar(500), column_name2 nvarchar(500)) CREATE TEMPORARY TABLE tablename (column_name1 nvarchar(500), column_name2 nvarchar(500))
WITH tablename AS (SELECT …)
NOCHECK CONSTRAINT all
WITH CHECK CHECK CONSTRAINT all
DISABLE TRIGGER ALL
ENABLE TRIGGER ALL
  • 常用类型映射
SQL Server Postgres
smallint smallint, int2
int integer, int, int4
bigint bigint, int8
tinyint 不支持
float(n) 1 <= n <= 24, real float(n) 1 <= n <= 24, real, float4
float(n) 25 <= n <= 53 double precision, float(n) 25 <= n <= 53, float8
numeric, decimal numeric, decimal
money, smallmoney money
In SQL Server, money is (19,4) and smallmoney is (10,4) in , but in Postgres money is (19,2)
varbinary(n) bytea with check
Postgres uses 'check' to simulate n
varbinary(max), image bytea
binary(n) 不支持
date date
datetime timestamp(3) without time zone
datetime2(n) timestamp(n) without time zone
In SQL Server 0 <= n <= 7, but in Postgres 0 <= n <=6
datetimeoffset(n) timestamp(n) with time zone, timestamptz
In SQL Server 0 <= n <= 7, but in Postgres 0 <= n <=6
bit bit, bit(1), boolean, bool
char(n) character(n), char(n)
nchar(n) character(n), char(n)
For UCS-2 encoding, the storage size is two times n bytes
varchar(n) character varying(n), varchar(n)
nvarchar(n) character varying(n), varchar(n)
For UCS-2 encoding, the storage size is two times n bytes
text text
ntext text
  • Postgres pg_stat_statements
Create Extension pg_stat_statements;
Select * from pg_available_extensions where name = 'pg_stat_statements';

ChangeDB

安装ChangeDB

yscorecore/changedb (github.com)
dotnet SDK 6.0
dotnet tool restore
dotnet tool install changedb.consoleapp -g
dotnet tool list -g

运行命令

changedb migration {source-database-type} "{source-connection-string}" {target-database-type} "{target-connection-string}" 

sqlserver -> postgres

changedb migration sqlserver "Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=<DatabaseName>;Integrated Security=SSPI;"
postgres "Server=127.0.0.1;Port=5432;Database=<PostgresDatabaseName>;User Id=<postgres>;Password=<xxxxxx>;"

sqlce -> sqlserver

ChangeDb migration --max-fetch-bytes 10000 sqlce "Data Source=C:\xxxxxx.myox;Max Database Size=2048; Persist Security Info=False;" 
sqlserver "Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=<DatabaseName>;Integrated Security=SSPI;"

sqlce -> postgres

ChangeDb migration --max-fetch-bytes 10000 sqlce "Data Source=C:\xxxxxx.myox;Max Database Size=2048; Persist Security Info=False;" 
postgres "Server=localhost;port=5432;Database={DBName};User Id=postgres;Password={PASSWORD}"

复制数据库备份

CREATE DATABASE db_backup WITH TEMPLATE "db"

标签:PostgreSQL,name,column,CE,Server,value,SQL
From: https://www.cnblogs.com/Bota5ky/p/17453057.html

相关文章

  • mysql(一):基本原理
    Innodb是如何实现事务的Innodb通过BufferPool,LogBuffer,RedoLog,UndoLog来实现事务,以一个update语句为例:Innodb在收到一个update语句后,会先根据条件找到数据所在的页,并将该页缓存在BufferPool中执行update语句,修改BufferPool中的数据,也就是内存中的数据针对update语句生......
  • Sentinel控制台监控数据持久化到MySQL数据库
    阅读文本大概需要3分钟。    根据官方wiki文档,Sentinel控制台的实时监控数据,默认仅存储5分钟以内的数据。如需持久化,需要定制实现相关接口。https://github.com/alibaba/Sentinel/wiki/在生产环境中使用-Sentinel给出了指导步骤:自行扩展实现MetricsRepository接口;注册成......
  • MySQL复制技术的介绍1
    MySQL是一个非常优秀的开源数据库,也是装机数量最多的数据库之一。少数几台MySQL人工就可以管理了。但当服务器几十、上百台的时候,如果光靠人力维护,这个维护成本就相当高了,如和提高MySQL服务器的可用性这个问题摆在MySQLDBA和系统架构师们面前。你手上这本书讲了一些方法和工具,能够......
  • 最新SQL手工注入语句&SQL注入大全
    最新SQL手工注入语句&SQL注入大全 (转载)看看下面的1.判断是否有注入;and1=1;and1=22.初步判断是否是mssql;anduser>03.判断数据库系统;and(selectcount(*)fromsysobjects)>0mssql;and(selectcount(*)frommsysobjects)>0access4.注入参数是字符'and[查询条件]an......
  • SQLite数据库查看工具
    SQLite的官方网站[url]http://www.sqlite.org/[/url]SQLite的官方网址列了很多查看SQLite数据库的软件:[url]http://www.sqlite.org/cvstrac/wiki?p=ManagementTools[/url]这里推荐我使用过的几个,当然是免费的才行.1.SQLiteDatabaseBrowser[im......
  • FastDfs之TrackerServer的详细配置介绍
    #isthisconfigfiledisabled #falseforenabled #truefordisabled disabled=false  #当前配置是否不可用false可用,true不可用   #bindanaddressofthishost #emptyforbindalladdressesofthishost bind_addr= #是否绑定IP如果一个服务器上......
  • sqlalchemy.orm.exc.DetachedInstanceError: Instanceis not bound to a Session; att
    在使用sqlalchemy的orm时,在一个循环中,如果一开始select时用了session,中间update某条记录后,session被关闭,就会出现对象notboundtoaSession的问题.DBSession=sessionmaker(bind=self.engine,expire_on_commit=False)这时需要 expire_on_commit=False Themostcommo......
  • LINQ to SQL
    @@sqllinqintogroup LINQtoSQL八大子句一、LINQ查询子句概述1.查询(Query)是一组指令,这些指令可以从一个或多个给定的数据源中检索数据,并指定检索结果的数据类型和表现形式。2.查询表达式是一种查询语法表示的表达式,由一组用类似于SQL的声明性语法编写的子句组成。3.每......
  • Docker下安装MySQL
    0x01:Docker安装MySQL下载MySQL镜像dockerpullmysql默认是下载latest标签的mysql,那么版本是多少呢?访问以下链接:https://hub.docker.com/_/mysql/启动MySQL镜像,指定密码为123456,映射目录/home/xxljobwork,指定默认编码为utf-8dockerrun-eMYSQL_ROOT_PASSWORD=123456-p3306......
  • MySQL锁查询与锁释放实操
    1.查询一个数据表中可测试数据SELECT*FROMt_wx_authorizer_infoWHEREservice_id='30127'forupdate;2.实验制造数据库锁,以下语句都先只执行第一条更新语句,然后再执行第二条更新语句的时候就会锁住--第一个事务,只执行第一条更新语句starttransaction;updatet_......