日期:2014-05-16  浏览次数:20686 次

【转】 mysql 添加列,修改列,删除列。

ALTER TABLE:添加,修改,删除表的列,约束等表的定义。

  • 查看列:desc 表名;
  • 修改表名:alter table t_book rename to bbb;
  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名MySQL: alter table bbb change nnnnn hh int;
  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
  • 修改列名Oracle:lter table bbb rename column nnnnn to hh int;
  • 修改列属性:alter table t_book modify name varchar(22);

sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

?

?

MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列

?
  • 查看表的字段信息:desc 表名;
  • 查看表的所有信息:show create table 表名;
  • 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
  • 添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
  • 删除主键约束:alter table 表名 drop primary key;
  • 删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);
  • 修改表名:alter table t_book rename to bbb;
  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名MySQL: alter table bbb change nnnnn hh int;
  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
  • 修改列名Oracle:alter table bbb rename column nnnnn to hh int;
  • 修改列属性:alter table t_book modify name varchar(22);

sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

1 楼 fanjf 10 小时前  
查询mysql 的表emp 的约束:

SELECT * FROM information_schema.`TABLE_CONSTRAINTS` a WHERE
a.TABLE_NAME ='emp';

2 楼 fanjf 10 小时前  
创建索引:

CREATE TABLE mm (m1 CHAR(10), m2 VARCHAR(10), n1 VARCHAR(10));

CREATE INDEX my_mm_idx ON mm(m1);

DESC mm;
3 楼 fanjf 10 小时前  
oracle 位图索引:
位图索引: 解决某一表数据很多,但某一个字段枚举值很少。

create bitmap index  bit_emp on emp(sex)