ANSI SQL(SQL/92) entry+datetime+...
cf. A Guide to THE SQL STANDARD (Date&Darwen)

BNF ([x] is optional; x's is commalist)

grant {{select | insert | update | delete}'s|all} on {v's|all} to {v's|all}

create table v(c's)
 c: v t[(width[,precision])] [default d] cc* | bc
 t:	int | float | varchar | date | time | timestamp | varbinary
 cc:{not null | primary key | references v}
 bc:{primary key(v's)}

create view v[(v's)] as e

drop {table | view} v

alter table v {add c|drop v}

insert into v [(v's)] {e | values(e's) | default values}

update v set {v=e}'s [where e]

delete from v [where e]

select [distinct] {{[e as]v}'s}|*} from {[e as]v}'s 
 [where e] [group by v's] [having e] 
 [order by {[desc]v}'s] [rowcount int]

v:e		# assign
 e	d | f e | d f e | select ... | extract(v from e) | [not]between e and e
 d	literal | v | v.v | (e's) | case.when.then.else.end | niladic
 v	variable
 f	function
  table		union[all]
  condition	and or not
  comparison	< = > = <= <> >= [not]in [not]like is[not]null 
  arithmetic	+ - * /
  aggregate	count sum min max avg
  other		nullif coalesce extract distinct
literal		2 2.3 'don''t' 0x.... null
niladic		current_user current_date current_time current_timestamp

datetime	date'1998-12-31' time'12:34:56' timestamp'2000-01-03 12:34:56'
 translate	extract({second | hour | minute | day | month | year} from date)
 dateadd	date {+ | -} n {months | quarters | halfs | years} e.g. d+3 months
  
type synonyms
 int		integer smallint short
 float		real double decimal numeric money smallmoney currency
 varchar	char
 timestamp	datetime smalldatetime
 varbinary	longvarbinary longvarchar text image
(decimal(p,s) goes to W(p+2)P(s) up to (18,9))

extensions
 assignment	v:(2,3,4)
 arbitrary expressions
 load save show vars key
 meta't'([name]T,W,P,N,D)

exceptions(to sql92/entry)
 no min/max on varchar
 like uses *? instead of %_
 joins to primarykey are outerjoins
 group by columns must be prefix of select columns
 variable names(alpha[alpha_num]*) are case sensitive
 singleton foreign key only: create table t(..., field type references table, ...)