MySQL 腔俋瑩迵統桽俇淕俶: Part 1
潠賡ㄩ1. 妦繫岆統桽俇淕俶?〞〞〞〞〞〞每統桽俇淕俶岆杅擂踱扢數笢腔珨跺笭猁衙癩ㄛ絞杅擂踱笢腔珨跺桶迵珨跺麼嗣跺桶輛俴壽薊奀飲頗扡摯善統桽俇淕俶﹝掀?狟醱涴跺瞰赽ㄩ恅梒煦濬桶 -categoriescat ...
壽瑩趼ㄩ
1. 妦繫岆統桽俇淕俶?
〞〞〞〞〞〞每
統桽俇淕俶岆杅擂踱扢數笢腔珨跺笭猁衙癩ㄛ絞杅擂踱笢腔珨跺桶迵珨跺麼嗣跺桶輛俴壽薊奀飲頗扡摯善統桽俇淕俶﹝掀?狟醱涴跺瞰赽ㄩ
恅梒煦濬桶 - categories
category_id name
1 SQL Server
2 Oracle
3 PostgreSQL
5 SQLite
恅梒桶 - articles
article_id category_id title
1 1 aa
2 2 bb
3 4 cc
褫獗眕奻謗跺桶眳潔岆籵徹category_idㄛ?笢categories桶衄4沭暮翹ㄛarticles桶衄3沭暮翹﹝
?奧褫夔秪峈議笱埻秪扂蠅刉裁賸categories 桶笢category_id=4腔暮翹ㄛ奧articles桶?遜岆衄珨沭category_id=4腔暮翹ㄛ竭隴珆ㄛcategory_id=4腔涴沭暮翹祥茼蜆湔婓婓articles桶笢ㄛ涴欴頗竭?眢婖傖杅擂渣觴﹝
眈毀ㄛ俋瑩壽炵枒蹦腔岆虜桶迵赽桶腔壽炵ㄛ籵徹竘?俋瑩涴跺衙癩懂悵痐統桽俇淕俶ㄛ蔚妏頗杅擂踱曹腔準都潠等﹝掀?ㄛ猁猁酕善刉壺categories桶笢category_id=4暮翹腔肮奀刉壺 articles 桶笢category_id=4腔垀衄暮翹ㄛ?彆羶衄竘?俋瑩腔趕ㄛ扂蠅憩斛剕硒俴2沭SQL逄曆符俴˙?彆衄俋瑩腔趕ㄛ褫眕竭?眢腔蚚珨沭SQL逄曆憩褫眕湛善猁?﹝
2. 妏蚚俋瑩腔沭璃
〞〞〞〞〞每
MySQL硐婓v3.23.34唳掛眕綴符竘?俋瑩腔ㄛ垀眕婓涴眳?腔唳掛憩梗砑賸:)ㄛ壺森眳俋ㄛ遜斛剕撿掘眕狟撓跺沭璃ㄩ
1) 婓my.cnf饜离恅璃笢湖羲InnoDB竘?盓厥﹝
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/db/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql/
innodb_log_arch_dir = /var/db/mysql/
2) 眈壽薊腔桶飲斛剕粒蚚InnoDB竘?﹝
3) 眈壽薊腔趼僇飲斛剕膘蕾垀眕﹝
MySQL v4.0唳掛眕綴ㄛ隅砱俋瑩奀頗赻雄膘蕾垀眕ㄛ垀眕婓 v4.0 唳掛眕?ㄗ漪v4.0唳掛ㄘ斛剕忒馱隅砱坰竘﹝
4) 眈壽薊腔趼僇斛剕粒蚚濬侔腔杅擂濬倰ㄛ麼氪佽褫蛌遙腔杅擂濬倰ㄛ絞?眈肮濬倰岆郔疑祥徹賸﹝
掀?虜桶腔趼僇岆TINYINT濬倰ㄛ寀赽桶硐夔粒蚚TINYINT﹜SMALLINT﹜INT﹜BIGINT脹撓笱濬倰﹝
3. 俋瑩逄楊統蕉
〞〞〞〞〞
褫眕籵徹 CREATE TABLE 麼氪 ALTER TABLE 懂隅砱俋瑩﹝
CREATE TABLE 逄楊ㄩ
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
create_definition:
column_definition
[CONSTRAINT [symbol]] FOREIGN KEY [index_name] [reference_definition]
column_definition:
col_name type [NOT NULL NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] [PRIMARY] KEY]
[COMMENT string] [reference_definition]
index_col_name:
col_name [ASC DESC]
reference_definition:
REFERENCES tbl_name
[MATCH FULL MATCH PARTIAL MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT CASCADE SET NULL NO ACTION
ALTER TABLE 逄楊ㄩ
ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification]
alter_specification:
ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type]
ADD [CONSTRAINT [symbol]] UNIQUE [INDEX] [index_name] [index_type]
ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [reference_definition]
DROP FOREIGN KEY fk_symbol
4. 隅砱俋瑩
〞〞〞每
mysql CREATE TABLE categories unsigned NOT NULL AUTO_INCREMENT,
- name varchar NOT NULL,
- PRIMARY KEY
- ) ENGINE=INNODB;
Query OK, 0 rows affected
mysql INSERT INTO categories VALUES , , , , ;
Query OK, 5 rows affected
Records: 5 Duplicates: 0 Warnings: 0
mysql CREATE TABLE members UNSIGNED NOT NULL,
- name VARCHAR NOT NULL,
- PRIMARY KEY
- ) ENGINE=INNODB;
Query OK, 0 rows affected
mysql INSERT INTO members VALUES , ;
Query OK, 2 rows affected
Records: 2 Duplicates: 0 Warnings: 0
mysql CREATE TABLE articles unsigned NOT NULL AUTO_INCREMENT,
- title varchar NOT NULL,
- category_id tinyint unsigned NOT NULL,
- member_id int unsigned NOT NULL,
- INDEX ,
- FOREIGN KEY REFERENCES categories ,
- CONSTRAINT fk_member FOREIGN KEY REFERENCES members ,
- PRIMARY KEY
- ) ENGINE=INNODB;
Query OK, 0 rows affected
蛁砩ㄩ勤衾準InnoDB桶ㄛFOREIGN KEY赽曆頗掩綺謹裁﹝
?彆郣善?狟渣昫ㄩ
ERROR 1005: Cant create table &./test/articles.frm
?豝牉潰脤眕狟隅砱逄曆ㄛ都獗腔渣昫珨啜飲岆桶濬倰祥岆INNODB﹜眈壽薊腔趼僇迡渣賸﹜?屾坰竘脹脹﹝
祫森categories.category_id睿articles.category_id﹜members.member_id睿articles.member_id眒冪膘蕾俋瑩壽炵ㄛ硐衄 articles.category_id 腔硉湔婓迵 categories.category_id 桶笢甜?articles.member_id腔硉湔婓迵members.member_id桶笢符頗埰勍掩脣?麼党蜊﹝瞰?ㄩ
mysql INSERT INTO articles VALUES ;
ERROR 1452 : Cannot add or update a child row: a foreign key constraint fails REFERENCES `categories` )
mysql INSERT INTO articles VALUES ;
ERROR 1452 : Cannot add or update a child row: a foreign key constraint fails REFERENCES `members` )
褫獗奻醱謗沭逄曆飲頗堤珋渣昫ㄛ秪峈婓categories桶笢甜羶衄category_id=6﹜members桶笢珩羶衄member_id=3腔暮翹ㄛ垀眕祥夔脣?﹝奧狟醱涴沭SQL逄曆憩褫眕﹝
mysql INSERT INTO articles VALUES ;
Query OK, 1 row affected
5. 刉壺俋瑩隅砱
〞〞〞〞〞
祥眭耋湮模衄羶衄楷珋ㄛ婓?醱隅砱俋瑩腔奀緊articles.member_id俋瑩掀articles.category_id赽曆嗣賸珨跺CONSTRAINT fk_member ˋ
涴跺fk_member憩岆蚚懂刉壺俋瑩隅砱蚚腔ㄛ?狟垀尨ㄩ
mysql ALTER TABLE articles DROP FOREIGN KEY fk_member;
Query OK, 1 row affected
Records: 1 Duplicates: 0 Warnings: 0
涴欴articles.member_id俋瑩隅砱憩掩刉壺賸ㄛ筍岆?彆隅砱奀羶衄硌隅CONSTRAINT fk_symbol ㄗ撈俋瑩睫瘍ㄘ奀蜆崋繫刉壺儸ˋ梗摹ㄛ羶衄硌隅奀ㄛMySQL頗赻撩斐膘珨跺ㄛ褫眕籵徹眕狟韜鍔脤艘ㄩ
mysql SHOW CREATE TABLE articles;
+〞〞〞-+〞〞〞〞〞〞〞〞〞〞〞〞+
Table Create Table
+〞〞〞-+〞〞〞〞〞〞〞〞〞〞〞〞+
articles CREATE TABLE `articles` unsigned NOT NULL auto_increment,
`category_id` tinyint unsigned NOT NULL,
`member_id` int unsigned NOT NULL,
`title` varchar NOT NULL,
PRIMARY KEY ,
KEY `category_id` ,
KEY `member_id` ,
CONSTRAINT `articles_ibfk_1` FOREIGN KEY REFERENCES `categories`
) ENGINE=InnoDB DEFAULT CHARSET=latin1
+〞〞〞-+〞〞〞〞〞〞〞〞〞〞〞〞+
1 row in set
褫眕艘堤articles.category_id腔俋瑩睫瘍峈articles_ibfk_1ㄛ秪峈憩褫眕硒俴眕狟韜鍔刉壺俋瑩隅砱ㄩ
mysql ALTER TABLE articles DROP FOREIGN KEY articles_ibfk_1;
Query OK, 1 row affected
Records: 1 Duplicates: 0 Warnings: 0
6. 軞賦
〞〞-
竘?俋瑩腔?萸岆頗妏厒僅睿俶夔狟蔥ㄛ絞?俋瑩垀湍懂腔蚥萸遜衄竭嗣ㄛ掛恅躺枒蹦?睡隅砱﹜刉壺俋瑩﹝祫衾俋瑩腔妗暱茼蚚蔚頗婓眕綴腔恅梒笢賡庄﹝
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|