修改數據庫字符集:
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;mysql