1 增删改查
select * from strdents where and
update strdents set score=69 where name ='李四'
insert into strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15')
delete from strdents where name='开心朋朋'
2 修改 表
删除表 drop table strdents;
添加字段 alter table strdents add(score_sum int not null);
移除字段 alter table strdents drop column score_sum;
变更字段 name -> score 并且 score 不为空 alter table strdents change name score int not null;
修改字段
总结一下对mysql表结构的修改操作,包括对字段及索引的修改操作:
添加字段:
alter table user_movement_log
Add column GatewayId int not null default 0 AFTER Regionid
(在哪个字段后面添加)
删除字段:
alter table user_movement_log
drop column Gatewayid
调整字段顺序:
ALTER TABLE user_movement_log
CHANGE GatewayId
GatewayId
int not null default 0 AFTER RegionID
//主键
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列
alter table t2 add newfield timestamp; (简单语法,只指定新添字段newfield 类型为timestamp) alter table infos add newfield tinyint not null default '0'; (同时指定字段null属性、默认值)
//删除列
alter table t2 drop column c; (删除列c)
//重命名列
alter table t1 change a b integer; (把列a改名为b,注意要指定列类型)
//改变列的类型
alter table t1 change b b bigint not null; (把列a改名为b,指定列类型及null属性) alter table infos change list list tinyint not null default '0';
//重命名表
alter table t1 rename t2;
加索引
mysql> alter table tablename change depno depno int(5) not null; mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]); mysql> alter table tablename add index emp_name (name);
加主关键字的索引
mysql> alter table tablename add primary key(id);
加唯一限制条件的索引
mysql> alter table tablename add unique emp_name2(cardnumber);
删除某个索引
mysql>alter table tablename drop index emp_name;
修改表:
增加字段:
mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段:
mysql> ALTER TABLE table_name DROP field_name;
取消 not null
现在,如果我们要删除NOT NULL约束,则可以使用ALTER TABLE语句,
如下所示:mysql> ALTER TABLE test123 MODIFY ID INT NULL;
postgresql
postgresql 去除或添加 not null约束 去除 not null 约束 alter table table_name alter column_name drop not null; 添加not null 约束 alter table table_name alter column_name set not null;
修改字段的字符串长度
alter table user alter column email type character varying(150);
删除不为空的约束
alter table user alter column age drop not null;
设置默认值
alter table user alter column age set default 10;
字段名重命名
alter table user rename name to username; comment on column user.username is ‘用户名’;
添加字段
alter table user add column email character varying(25); comment on column user.email is ‘邮箱’; alter table user add column age integer not null default 10; comment on column user.age is ‘年龄,默认10岁’;
删除字段
alter table user drop column email;
3 提高
1
使用insert select语句将现有表中的数据添加到已有的新表中 例:insert into tongxunlu ('姓名','地址','电子邮件') select name,address,email from Strdents 注意:into不可省略;查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致
2.使用truncate table 删除整个表的数据
语法:truncate table <表名> 例:truncate table tongxunlu 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用语有外建约束引用的表
3 在查询中使用AS更改列名
.使用group by进行分组查询