2009-10-27 开发日志

1.》数据库操作相关:
 mysql alter 语句用法,添加、修改、删除字段等
//主键
   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 d timestamp;
   alter table infos add ex tinyint not null default '0';

//增加一个新列到指定位置
   alter table t2 add d timestamp after id;

//删除列
   alter table t2 drop column c;

//重命名列
   alter table t1 change a b integer;

//改变列的类型
   alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';

//重命名表

   alter table t1 rename t2;

//加索引

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 CHANGE old_field_name new_field_name field_type;



2》innodb myisam 在mysql数据的区别?

  myisam属于非事务安全型,innodb和bdb属于事务安全型,在使用上,包括建立表,insert,select等等操作

上有没有什么区别。但是myisam引擎速度比较快、比较简单、而InnoDB支持外键、其速度相对就慢了。

  MyISAM 类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务

支持已经外部键等高级数据库功能。这样就可以根据数据表不同的用处是用不同的存储类型。另外,MyISAM类

型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。所

以我一般都是使用myisam,因为这次用的也不是很深入的。

  如果把这类型从MyISAM转成InnoDB会不会有问题、但是全文索引失效.

  使用两种的选择:

  • 如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。
  • 如果执行大量的 SELECT,MyISAM是更好的选择。若需要使用事务处理,但是原来的数据表使用的是myisam

,就需要改为bdb或者innodb,这样基于 myisam的程序,将类型改为innodb后,其程序不用改动……


3》页面编码中文问题相关:
      数据库中文内容如果是gb2312 编码,页面编码是UTF-8 ,则必须把字符从gb2312编码成UTF-8:

你可能感兴趣的:(linux,windows,mysql)