-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathch09_02.sql
103 lines (82 loc) · 2.15 KB
/
ch09_02.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
CREATE TABLE addressbook10 (
id INT UNSIGNED PRIMARY KEY,
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(80),
birthdate DATE,
email VARCHAR(36) UNIQUE KEY
)
# UNIQUE KEY:唯一索引,非主索引
# 上下兩個結果相同
CREATE TABLE addressbook11 (
id INT UNSIGNED,
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(80),
birthdate DATE,
email VARCHAR(36),
PRIMARY KEY (id),
UNIQUE KEY (email)
)
CREATE TABLE addressbook12 (
id INT UNSIGNED,
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(80),
birthdate DATE,
email VARCHAR(36),
PRIMARY KEY (id),
UNIQUE KEY (email),
INDEX (name, tel)
)
# INDEX:一般索引
CREATE TABLE addressbook13 (
id INT UNSIGNED,
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(80),
birthdate DATE,
email VARCHAR(36),
INDEX (address (5) DESC)
)
# 索引做排序
CREATE TABLE addressbook14 (
id INT UNSIGNED,
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(80),
birthdate DATE,
email VARCHAR(36)
)
ALTER TABLE addressbook14
ADD PRIMARY KEY (id)
# 修改資料表 增加主索引(id)欄位
ALTER TABLE addressbook14
ADD UNIQUE KEY (email)
# 增加唯一索引
ALTER TABLE addressbook14
ADD INDEX (name, tel)
# 增加一般索引
ALTER TABLE addressbook
ADD INDEX (address (5) DESC)
CREATE TABLE addressbook15 (
id INT UNSIGNED,
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(80),
birthdate DATE,
email VARCHAR(36)
)
ALTER TABLE addressbook15
ADD PRIMARY KEY (id)
# 設定主索引鍵
CREATE UNIQUE INDEX email_index # 設定INDEX的名稱
ON addressbook15 (email)
CREATE INDEX name_tel_index
ON addressbook15 (name, tel)
CREATE INDEX address_index
ON addressbook15 (address (5) DESC)
# CREATE才可以自己建立索引名稱
ALTER TABLE addressbook15 ADD PRIMARY KEY (id)
# 但PRIMARY KEY不能自己設定名稱,也不能用CREATE只能用ALTER
CREATE UNIQUE INDEX email_index ON addressbook15 (email)