MySQL学习笔记之一
2011-1-6 10:34:06 - tanlixiao
我买asp.net空间,公司没送MSSQL数据库,反而送了个MySQL数据库,我再选赠品时又选了一MySQL,现在有两的MySQL数据库,不能换,让我很纳闷,我网站的数据库是Access,我本来想换成SQLite的,但是有了MySQL数据库,我索性用得了,对MySQL不熟,在项目改变中慢慢学习吧
我已经有了Access数据库,就从Access数据库中导出表到MySQL中,用到了Navicat for MySQL工具,这工具管理MySQL还是不错的,导入数据表后发现在表中设置的默认值都无效,在MySQL中从设了一下,设置默认值为整型数字0的还好,直接设置,但设置默认值为datetime的时候就不行了;
mssql默认当前时间:gettime()对于ACCESS数据库为:now();MySQL只能修改表中字段类型了
alter table table_name change file_name file_name timestamp default now();
修改字段为timestamp类型;默认为now();
我再贴出MySQL修改的SQL命令语句:
mysql alter 语句用法,添加、修改、删除字段等
mysql修改字段长度(sql命令)
alter table 表名 modify column 字段名 类型;
例如
数据库中user表 name字段是varchar(30)
可以用
alter table user modify column name varchar(50) ;
//主键
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 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;
查看索引信息
show index from tablename;
加索引
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;