创建表 mysql主键自增长
create table table_name (
id Integer not null auto_increment comment '自增主键',
name varchar(32) comment '名称',
PRIMARY KEY (id),
KEY idx_table_name_i1(name)
)comment='表';
创建表 mysql
create table rbc_test.table_name (
id Integer not null comment '自增主键',
name varchar(32) comment '名称'
)comment='表';
alter table rbc_test.table_name add constraint table_name_pkey primary key(id);
create index idx_table_name_i1 on rbc_test.table_name(name);
表结构变更(部分仅mysql使用)
drop table tableName; 删除表
alter table oldName rename to newName; 修改表名
desc tableName; 查看表结构
alter table T drop column sex; 删除列
alter table T add column sex varchar(50) not null default ''; 添加一列
alter table T rename column sex to sexA; 修改列名
alter table T modify column sex char(2); 修改列类型
alter table T change column sex sexA int; 修改列名及类型
alter table tableName add primary key(id); 添加主键
alter table tableName drop primary key; 删除主键
alter table tableName add primary key(column_list); 添加主键
alter table tableName drop primary key; 删除主键
create unique index indexName on tableName(name); 创建索引
drop index indexName; 删除索引
新增表字段
-- pg
alter table table_name add column age Integer;
comment on column table_name.age IS '注释';
-- oracle
alter table table_name add (age Integer);
comment on column table_name.age IS '注释';
-- mysql
alter table table_name add column age varchar(50) not null default '' comment '注释';
-- dm
alter table table_name add column age Integer;
comment on column table_name.age IS '注释';
sql常用函数
sum(col) 所有列值之和
max(col) 列的最大值
min(col) 列的最小值
avg(col) 列的平均值
count(col) 列非NULL值个数
截取字段的值的子串,可越界,如下含义是获取从第2个字符开始的3个字符
select substr('1234', 2, 3) ->> 234
获取字段长度函数
length('1') 获取字段的字符的长度(一个汉字算三个字符,一个数字/字母算一个字符)
char_length('1') 获取字段的字符的长度(不管是一个汉字、数字、字母都算是一个字符)
Lower('aA')--》aa, Upper('aA')--》AA (适合Oracle、mysql、SQL Server)
Lcase('aA')--》aa, Ucase('aA')--》AA: (适合mysql)
创建表 pg主键自增长
create sequence if not exists table_name_id_seq;
create table if not exists table_name
(
id integer default nextval('table_name_id_seq'::regclass),
name varchar(32),
primary key (id)
);
comment on column table_name.id is '自增主键';
comment on column table_name.name is '名称';
comment on table table_name is '表';
创建表 pg、oracle、dm
create table table_name (
id Integer not null,
name varchar(32)
);
comment on column table_name.id is '主键';
comment on column table_name.name is '名称';
comment on table table_name is '表';
alter table table_name add constraint table_name_pkey primary key(id);
create index idx_table_name_i1 on table_name(name);
查询字段截取子串的最大值,适合dm、oracle、pg、mysql、gp等等
select * from
(SELECT substr(code,1,2) as column_value FROM table_name) t
where column_value is not null
and length(column_value)=2
order by column_value desc
标签:comment,name,column,id,sql,table,alter
From: https://www.cnblogs.com/rbcd/p/16945854.html