mysql修改表、字段、庫的字符集

修改數據庫字符集:

ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
把表默認的字符集和所有字符列(CHAR,VARCHAR,TEXT)改爲新的字符集:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
只是修改表的默認字符集:

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
修改字段的字符集:

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;
查看數據庫編碼:

SHOW CREATE DATABASE db_name;
查看錶編碼:

SHOW CREATE TABLE tbl_name;
查看字段編碼:

SHOW FULL COLUMNS FROM tbl_name;

======================================================
1. 創建支持中文的database
CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
2. 創建支持中文的table
CREATE TABLE `database_user` (
 `ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
===========================================================
1. mysql 外鍵設定:
 查看table的外鍵狀態: show create table "table_name";
原文鏈接
a 語法
CREATE TABLE parent(id INT NOT NULL,
PRIMARY KEY (id)
) TYPE=INNODB; -- type=innodb 相當於 engine=innodb
CREATE TABLE child(id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE
) TYPE=INNODB;
向parent插入數據後,向child插入數據,插入時,child中的parent_id的值只能是parent中有的數據,否則插入不成功;
刪除parent記錄時,child中的相應記錄也會被刪除;-->因爲: on delete cascade
更新parent記錄時,不給更新;-->因爲沒定義,默認採用restrict.
4.2
若child如下:
mysql>
create table child(id int not null primary key auto_increment,parent_id int,
index par_ind (parent_id),
constraint fk_1 foreign key (parent_id) references
parent(id) on update cascade on delete restrict)
type=innodb;
用上面的:
1).
則可以更新parent記錄時,child中的相應記錄也會被更新;-->因爲: on update cascade
2).
不能是子表操作,影響父表.只能是父表影響子表.
3).
刪除外鍵:
alter table child drop foreign key fk_1;
添加外鍵:
alter table child add constraint fk_1 foreign key (parent_id) references
parent(id) on update restrict on delete set null;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章