The converter looks at the fingerprint of the input: backtick-quoted identifiers plus AUTO_INCREMENT or an ENGINE clause means MySQL; square brackets plus IDENTITY means SQL Server; SERIAL, ::casts or double-quoted identifiers point to PostgreSQL; VARCHAR2 or NUMBER(p,s) means Oracle; anything with plain unquoted names and no fingerprint defaults to generic SQL treated as SQLite. You can always override the choice with the Source dialect selector.
CREATE TABLE converts fully — types, quoting, keys, constraints, defaults. ALTER TABLE actions (add, drop, rename, retype), CREATE INDEX, CREATE SEQUENCE, INSERT, UPDATE, DELETE, simple SELECT, TRUNCATE, DROP and CREATE VIEW are converted with re-quoting, type mapping, function-name mapping (NOW, GETDATE, SYSDATE, IFNULL, NVL, ISNULL, COALESCE) and LIMIT rewriting. Stored procedures, functions and triggers are kept as clearly-marked TODO comments for a manual port — nothing is silently dropped.
Each target gets the idiomatic form: PostgreSQL gets SERIAL (or GENERATED ALWAYS AS IDENTITY for modern syntax), SQL Server gets IDENTITY(1,1) on an INT or BIGINT, SQLite keeps INTEGER PRIMARY KEY AUTOINCREMENT, Oracle gets GENERATED BY DEFAULT AS IDENTITY, and MySQL keeps AUTO_INCREMENT plus the AUTO_INCREMENT= table option where present.
PostgreSQL, SQL Server and Oracle have no unsigned integer types. The converter widens the type one step (INT UNSIGNED becomes BIGINT) and adds a CHECK (col >= 0) constraint so the range stays protected — and it tells you in the warnings so the choice is never silent.