MySQLのalter table


mysqlの文字セットを変更するには:
mysql 5をインストールします.0でmysqlの文字セットを設定できます.一般的にutf 8の文字セットを使用します.
1テーブル「tablename」を作成するsql文の表示
Show create table tablename;//確立テーブル「tablename」のsql文の表示
| maos_mail_batch | CREATE TABLE `maos_mail_batch` (
`ID` varchar(32) character set latin1 NOT NULL,
`BATCH_TIME` varchar(30) character set latin1 NOT NULL,
`BATCH_INTRODUCE` varchar(2000) character set latin1 default NULL,
`BATCH_SUM` int(11) default NULL,
`BATCH_STATE` varchar(1) character set latin1 default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
2データベースとテーブルの文字セットの変更
alter database maildb default character set utf8;//データベースの文字セットの変更
alter table mailtable default character set utf8;//表の文字セットの変更
テーブルのデフォルトの文字セットとすべての文字列(CHAR,VARCHR,TEXT)を新しい文字セットに変更する場合は、次の文を使用します.
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
警告:前の操作では、文字セット間のカラムタイプが変換されます.列に1つの文字セット(latin 1など)を使用しているが、格納された値がutf 8などの他の文字セットを使用している場合は、望ましくありません.この場合、このようなカラムに対して次の操作を行う必要があります.
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;

この方法でこの機能を実現できるのは、BLOB列に変換したり、BLOB列から変換したりしたときに変換されなかったためです.
3 mysqlのプライマリ・キーの問題:
Mysqlの2つのプライマリ・キー.Primary keyとnot null auto_incriment
mysqlテーブルを作成するときに、フィールドにプライマリ・キーprimary keyを追加します.
Insertデータではinsertプライマリ・キーを使用せずにmysqlが自動的に0を追加しますが、2回目のinsertで値mysqlデータベースを記入していないかデフォルトで0を追加しているかで、重複するプライマリ・キーが発生することはできません.primary keyが定義されている場合、insertデータの場合、プライマリ・キーに値を記入します.
mysqlテーブルを作成すると、フィールドにプライマリ・キーnot null auto_が追加されます.increment=1;
これもプライマリ・キーです.時自己成長は1から始まる.このフィールドは値を記入しなくてもいいです.mysqlデータベースは自動的に値を記入し、primary keyの状況は現れません.
Alter table tb add primary key(id);
Alter table tb change id id int(10) not null auto_increment=1;
4自己成長のプライマリ・キーidの削除
まず自己成長を削除主キーを削除
Alter table tb change id id int(10);//自己成長の削除
Alter table tb drop primary key;//マスターの削除