\d <表名>#查看表的结构CREATETABLE[IFNOTEXISTS]<表名>(
id INTEGERPRIMARYKEY,//主键(即非空唯一)
name VARCHAR(5)NOTNULLUNIQUE,//非空唯一
age INTEGERCHECK(age >0AND age <150),//检查约束
math_score NUMERICDEFAULT0.0,//默认值
total_score NUMERIC,
CHECK(total_score >= math_score)//表约束);DROPTABLE[IFEXISTS]<表名>;
增删改查
/********************插入*******************/INSERTINTO<表名>VALUES('AcTarjan',22);//必须知道表的结构INSERTINTO<表名>(name,age)VALUES('AcTarjan',22);INSERTINTO<表名>(name,age)VALUES('AcTarjan',22),('Bob',DEFAULT);/********************不存在则插入,存在则更新*******************/INSERTINTO<表名>(name,age)VALUES($1,$2)ON CONFLICT(name)DOUPDATESET age = $2;#name必须唯一 /********************删除*******************/DELETEFROM<表名>WHERE name ='AcTarjan';DELETEFROM<表名>;#表内的所有行将会被删除/********************修改*******************/UPDATE<表名>SET age = age +1WHERE name ='AcTarjan';/********************查询*******************/SELECT*FROM<表名>WHERE id =1;SELECTCOALESCE(age,-1)AS age FROM<表名>WHERE id =1;#如果age为空则查询结果为-1SELECT score FROM<表名>ORDERBY<列名>[ASC|DESC];#asc升序,desc降序SELECT*FROM<表名>LIMIT4OFFSET2;#从第3行开始选取不超过4行SELECT class FROM<表名>GROUPBY class;#按班级分组SELECT class,SUM(score)FROM<表名>GROUPBY class HAVINGSUM(score)>1000;#班级总分数超过1000的班级