1 /* å¯å¨MySQL */
2 net start mysql
3
4 /* è¿æ¥ä¸æå¼æå¡å¨ */
5 mysql -h å°å -P ç«¯å£ -u ç¨æ·å -p å¯ç
6
7 /* è·³è¿æééªè¯ç»å½MySQL */
8 mysqld --skip-grant-tables
9 -- ä¿®æ¹rootå¯ç
10 å¯ç å å¯å½æ°password()
11 update mysql.user set password=password(\'root\');
12
13 SHOW PROCESSLIST -- æ¾ç¤ºåªäºçº¿ç¨æ£å¨è¿è¡
14 SHOW VARIABLES --
15
16 /* æ°æ®åºæä½ */ ------------------
17 -- æ¥çå½åæ°æ®åº
18 select database();
19 -- æ¾ç¤ºå½åæ¶é´ãç¨æ·åãæ°æ®åºçæ¬
20 select now(), user(), version();
21 -- å建åº
22 create database[ if not exists] æ°æ®åºå æ°æ®åºé项
23 æ°æ®åºé项ï¼
24 CHARACTER SET charset_name
25 COLLATE collation_name
26 -- æ¥çå·²æåº
27 show databases[ like \'pattern\']
28 -- æ¥çå½ååºä¿¡æ¯
29 show create database æ°æ®åºå
30 -- ä¿®æ¹åºçé项信æ¯
31 alter database åºå é项信æ¯
32 -- å é¤åº
33 drop database[ if exists] æ°æ®åºå
34 åæ¶å é¤è¯¥æ°æ®åºç¸å
³çç®å½åå
¶ç®å½å
容
35
36 /* 表çæä½ */ ------------------
37 -- å建表
38 create [temporary] table[ if not exists] [åºå.]表å ( 表çç»æå®ä¹ )[ 表é项]
39 æ¯ä¸ªå段å¿
é¡»ææ°æ®ç±»å
40 æåä¸ä¸ªå段åä¸è½æéå·
41 temporary 临æ¶è¡¨ï¼ä¼è¯ç»ææ¶è¡¨èªå¨æ¶å¤±
42 对äºå段çå®ä¹ï¼
43 åæ®µå æ°æ®ç±»å [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT \'string\']
44 -- 表é项
45 -- å符é
46 CHARSET = charset_name
47 å¦æè¡¨æ²¡æè®¾å®ï¼åä½¿ç¨æ°æ®åºå符é
48 -- åå¨å¼æ
49 ENGINE = engine_name
50 表å¨ç®¡çæ°æ®æ¶éç¨çä¸åçæ°æ®ç»æï¼ç»æä¸åä¼å¯¼è´å¤çæ¹å¼ãæä¾çç¹æ§æä½çä¸å
51 常è§ç弿ï¼InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive
52 ä¸åç弿å¨ä¿å表çç»æåæ°æ®æ¶éç¨ä¸åçæ¹å¼
53 MyISAM表æä»¶å«ä¹ï¼.frm表å®ä¹ï¼.MYDè¡¨æ°æ®ï¼.MYI表索å¼
54 InnoDB表æä»¶å«ä¹ï¼.frm表å®ä¹ï¼è¡¨ç©ºé´æ°æ®åæ¥å¿æä»¶
55 SHOW ENGINES -- æ¾ç¤ºåå¨å¼æçç¶æä¿¡æ¯
56 SHOW ENGINE 弿å {LOGS|STATUS} -- æ¾ç¤ºåå¨å¼æçæ¥å¿æç¶æä¿¡æ¯
57 -- æ°æ®æä»¶ç®å½
58 DATA DIRECTORY = \'ç®å½\'
59 -- ç´¢å¼æä»¶ç®å½
60 INDEX DIRECTORY = \'ç®å½\'
61 -- 表注é
62 COMMENT = \'string\'
63 -- ååºé项
64 PARTITION BY ... (详ç»è§æå)
65 -- æ¥çææè¡¨
66 SHOW TABLES[ LIKE \'pattern\']
67 SHOW TABLES FROM 表å
68 -- æ¥çè¡¨æºæ
69 SHOW CREATE TABLE 表å ï¼ä¿¡æ¯æ´è¯¦ç»ï¼
70 DESC 表å / DESCRIBE 表å / EXPLAIN 表å / SHOW COLUMNS FROM 表å [LIKE \'PATTERN\']
71 SHOW TABLE STATUS [FROM db_name] [LIKE \'pattern\']
72 -- ä¿®æ¹è¡¨
73 -- ä¿®æ¹è¡¨æ¬èº«çé项
74 ALTER TABLE 表å 表çé项
75 EG: ALTER TABLE 表å ENGINE=MYISAM;
76 -- 对表è¿è¡éå½å
77 RENAME TABLE å表å TO æ°è¡¨å
78 RENAME TABLE å表å TO åºå.表å ï¼å¯å°è¡¨ç§»å¨å°å¦ä¸ä¸ªæ°æ®åºï¼
79 -- RENAMEå¯ä»¥äº¤æ¢ä¸¤ä¸ªè¡¨å
80 -- ä¿®æ¹è¡¨çåæ®µæºæ
81 ALTER TABLE è¡¨å æä½å
82 -- æä½å
83 ADD[ COLUMN] åæ®µå -- å¢å åæ®µ
84 AFTER åæ®µå -- 表示å¢å å¨è¯¥å段ååé¢
85 FIRST -- 表示å¢å å¨ç¬¬ä¸ä¸ª
86 ADD PRIMARY KEY(åæ®µå) -- å建主é®
87 ADD UNIQUE [ç´¢å¼å] (åæ®µå)-- å建å¯ä¸ç´¢å¼
88 ADD INDEX [ç´¢å¼å] (åæ®µå) -- å建æ®éç´¢å¼
89 ADD
90 DROP[ COLUMN] åæ®µå -- å é¤å段
91 MODIFY[ COLUMN] åæ®µå åæ®µå±æ§ -- æ¯æå¯¹åæ®µå±æ§è¿è¡ä¿®æ¹ï¼ä¸è½ä¿®æ¹å段å(ææåæå±æ§ä¹éåä¸)
92 CHANGE[ COLUMN] ååæ®µå æ°å段å åæ®µå±æ§ -- æ¯æå¯¹åæ®µåä¿®æ¹
93 DROP PRIMARY KEY -- å é¤ä¸»é®(å é¤ä¸»é®åéå é¤å
¶AUTO_INCREMENT屿§)
94 DROP INDEX ç´¢å¼å -- å é¤ç´¢å¼
95 DROP FOREIGN KEY å¤é® -- å é¤å¤é®
96
97 -- å é¤è¡¨
98 DROP TABLE[ IF EXISTS] 表å ...
99 -- æ¸
ç©ºè¡¨æ°æ®
100 TRUNCATE [TABLE] 表å
101 -- å¤å¶è¡¨ç»æ
102 CREATE TABLE 表å LIKE è¦å¤å¶ç表å
103 -- å¤å¶è¡¨ç»æåæ°æ®
104 CREATE TABLE 表å [AS] SELECT * FROM è¦å¤å¶ç表å
105 -- æ£æ¥è¡¨æ¯å¦æé误
106 CHECK TABLE tbl_name [, tbl_name] ... [option] ...
107 -- ä¼å表
108 OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
109 -- ä¿®å¤è¡¨
110 REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]
111 -- åæè¡¨
112 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
113
114
115
116 /* æ°æ®æä½ */ ------------------
117 -- å¢
118 INSERT [INTO] 表å [(åæ®µå表)] VALUES (å¼å表)[, (å¼å表), ...]
119 -- å¦æè¦æå
¥çå¼å表å
嫿æå段并ä¸é¡ºåºä¸è´ï¼åå¯ä»¥çç¥å段å表ã
120 -- å¯åæ¶æå
¥å¤æ¡æ°æ®è®°å½ï¼
121 REPLACE ä¸ INSERT å®å
¨ä¸æ ·ï¼å¯äºæ¢ã
122 INSERT [INTO] 表å SET åæ®µå=å¼[, åæ®µå=å¼, ...]
123 -- æ¥
124 SELECT åæ®µå表 FROM 表å[ å
¶ä»åå¥]
125 -- 坿¥èªå¤ä¸ªè¡¨çå¤ä¸ªå段
126 -- å
¶ä»åå¥å¯ä»¥ä¸ä½¿ç¨
127 -- åæ®µå表å¯ä»¥ç¨*代æ¿ï¼è¡¨ç¤ºææå段
128 -- å
129 DELETE FROM 表å[ å 餿¡ä»¶åå¥]
130 æ²¡ææ¡ä»¶åå¥ï¼åä¼å é¤å
¨é¨
131 -- æ¹
132 UPDATE 表å SET åæ®µå=æ°å¼[, åæ®µå=æ°å¼] [æ´æ°æ¡ä»¶]
133
134 /* å符éç¼ç */ ------------------
135 -- MySQLãæ°æ®åºã表ãåæ®µåå¯è®¾ç½®ç¼ç
136 -- æ°æ®ç¼ç ä¸å®¢æ·ç«¯ç¼ç ä¸éä¸è´
137 SHOW VARIABLES LIKE \'character_set_%\' -- æ¥çææå符éç¼ç 项
138 character_set_client 客æ·ç«¯åæå¡å¨åéæ°æ®æ¶ä½¿ç¨çç¼ç
139 character_set_results æå¡å¨ç«¯å°ç»æè¿åç»å®¢æ·ç«¯æä½¿ç¨çç¼ç
140 character_set_connection è¿æ¥å±ç¼ç
141 SET åéå = åéå¼
142 set character_set_client = gbk;
143 set character_set_results = gbk;
144 set character_set_connection = gbk;
145 SET NAMES GBK; -- ç¸å½äºå®æä»¥ä¸ä¸ä¸ªè®¾ç½®
146 -- æ ¡å¯¹é
147 æ ¡å¯¹éç¨ä»¥æåº
148 SHOW CHARACTER SET [LIKE \'pattern\']/SHOW CHARSET [LIKE \'pattern\'] æ¥çææå符é
149 SHOW COLLATION [LIKE \'pattern\'] æ¥çæææ ¡å¯¹é
150 charset å符éç¼ç 设置å符éç¼ç
151 collate æ ¡å¯¹éç¼ç è®¾ç½®æ ¡å¯¹éç¼ç
152
153 /* æ°æ®ç±»åï¼åç±»åï¼ */ ------------------
154 1. æ°å¼ç±»å
155 -- a. æ´å ----------
156 ç±»å åè èå´ï¼æç¬¦å·ä½ï¼
157 tinyint 1åè -128 ~ 127 æ 符å·ä½ï¼0 ~ 255
158 smallint 2åè -32768 ~ 32767
159 mediumint 3åè -8388608 ~ 8388607
160 int 4åè
161 bigint 8åè
162
163 int(M) M表示æ»ä½æ°
164 - é»è®¤åå¨ç¬¦å·ä½ï¼unsigned 屿§ä¿®æ¹
165 - æ¾ç¤ºå®½åº¦ï¼å¦ææä¸ªæ°ä¸å¤å®ä¹å段æ¶è®¾ç½®ç使°ï¼ååé¢ä»¥0补填ï¼zerofill 屿§ä¿®æ¹
166 ä¾ï¼int(5) æå
¥ä¸ä¸ªæ°\'123\'ï¼è¡¥å¡«å为\'00123\'
167 - 卿»¡è¶³è¦æ±çæ
åµä¸ï¼è¶å°è¶å¥½ã
168 - 1表示boolå¼çï¼0表示boolå¼åãMySQL没æå¸å°ç±»åï¼éè¿æ´å0å1表示ã常ç¨tinyint(1)表示å¸å°åã
169
170 -- b. æµ®ç¹å ----------
171 ç±»å åè èå´
172 float(å精度) 4åè
173 double(å精度) 8åè
174 æµ®ç¹åæ¢æ¯æç¬¦å·ä½ unsigned 屿§ï¼ä¹æ¯ææ¾ç¤ºå®½åº¦ zerofill 屿§ã
175 ä¸åäºæ´åï¼åååä¼è¡¥å¡«0.
176 å®ä¹æµ®ç¹åæ¶ï¼éæå®æ»ä½æ°åå°æ°ä½æ°ã
177 float(M, D) double(M, D)
178 M表示æ»ä½æ°ï¼Dè¡¨ç¤ºå°æ°ä½æ°ã
179 MåDç大å°ä¼å³å®æµ®ç¹æ°çèå´ãä¸åäºæ´åçåºå®èå´ã
180 Mæ¢è¡¨ç¤ºæ»ä½æ°ï¼ä¸å
æ¬å°æ°ç¹åæ£è´å·ï¼ï¼ä¹è¡¨ç¤ºæ¾ç¤ºå®½åº¦ï¼æææ¾ç¤ºç¬¦å·åå
æ¬ï¼ã
181 æ¯æç§å¦è®¡æ°æ³è¡¨ç¤ºã
182 æµ®ç¹æ°è¡¨ç¤ºè¿ä¼¼å¼ã
183
184 -- c. å®ç¹æ° ----------
185 decimal -- å¯åé¿åº¦
186 decimal(M, D) Mä¹è¡¨ç¤ºæ»ä½æ°ï¼Dè¡¨ç¤ºå°æ°ä½æ°ã
187 ä¿åä¸ä¸ªç²¾ç¡®çæ°å¼ï¼ä¸ä¼åçæ°æ®çæ¹åï¼ä¸åäºæµ®ç¹æ°çåèäºå
¥ã
188 å°æµ®ç¹æ°è½¬æ¢ä¸ºå符串æ¥ä¿åï¼æ¯9使°åä¿å为4个åèã
189
190 2. å符串类å
191 -- a. char, varchar ----------
192 char å®é¿å符串ï¼é度快ï¼ä½æµªè´¹ç©ºé´
193 varchar åé¿å符串ï¼é度æ
¢ï¼ä½èç空é´
194 M表示è½åå¨çæå¤§é¿åº¦ï¼æ¤é¿åº¦æ¯å符æ°ï¼éåèæ°ã
195 ä¸åçç¼ç ï¼æå ç¨ç空é´ä¸åã
196 char,æå¤255个å符ï¼ä¸ç¼ç æ å
³ã
197 varchar,æå¤65535å符ï¼ä¸ç¼ç æå
³ã
198 䏿¡ææè®°å½æå¤§ä¸è½è¶
è¿65535个åèã
199 utf8 æå¤§ä¸º21844个å符ï¼gbk æå¤§ä¸º32766个å符ï¼latin1 æå¤§ä¸º65532个å符
200 varchar æ¯åé¿çï¼éè¦å©ç¨åå¨ç©ºé´ä¿å varchar çé¿åº¦ï¼å¦ææ°æ®å°äº255个åèï¼åéç¨ä¸ä¸ªåèæ¥ä¿åé¿åº¦ï¼åä¹éè¦ä¸¤ä¸ªåèæ¥ä¿åã
201 varchar çæå¤§ææé¿åº¦ç±æå¤§è¡å¤§å°å使ç¨çå符éç¡®å®ã
202 æå¤§ææé¿åº¦æ¯65532åèï¼å 为å¨varcharåå符串æ¶ï¼ç¬¬ä¸ä¸ªåèæ¯ç©ºçï¼ä¸åå¨ä»»ä½æ°æ®ï¼ç¶åè¿é两个åèæ¥åæ¾å符串çé¿åº¦ï¼æä»¥ææé¿åº¦æ¯64432-1-2=65532åèã
203 ä¾ï¼è¥ä¸ä¸ªè¡¨å®ä¹ä¸º CREATE TABLE tb(c1 int, c2 char(30), c3 varchar(N)) charset=utf8; é®Nçæå¤§å¼æ¯å¤å°ï¼ çï¼(65535-1-2-4-30*3)/3
204
205 -- b. blob, text ----------
206 blob äºè¿å¶å符串ï¼åèå符串ï¼
207 tinyblob, blob, mediumblob, longblob
208 text éäºè¿å¶å符串ï¼å符å符串ï¼
209 tinytext, text, mediumtext, longtext
210 text å¨å®ä¹æ¶ï¼ä¸éè¦å®ä¹é¿åº¦ï¼ä¹ä¸ä¼è®¡ç®æ»é¿åº¦ã
211 text ç±»åå¨å®ä¹æ¶ï¼ä¸å¯ç»defaultå¼
212
213 -- c. binary, varbinary ----------
214 类似äºcharåvarcharï¼ç¨äºä¿åäºè¿å¶å符串ï¼ä¹å°±æ¯ä¿ååèå符串èéå符å符串ã
215 char, varchar, text å¯¹åº binary, varbinary, blob.
216
217 3. æ¥ææ¶é´ç±»å
218 ä¸è¬ç¨æ´åä¿åæ¶é´æ³ï¼å 为PHPå¯ä»¥å¾æ¹ä¾¿çå°æ¶é´æ³è¿è¡æ ¼å¼åã
219 datetime 8åè æ¥æåæ¶é´ 1000-01-01 00:00:00 å° 9999-12-31 23:59:59
220 date 3åè æ¥æ 1000-01-01 å° 9999-12-31
221 timestamp 4åè æ¶é´æ³ 19700101000000 å° 2038-01-19 03:14:07
222 time 3åè æ¶é´ -838:59:59 å° 838:59:59
223 year 1åè 年份 1901 - 2155
224
225 datetime âYYYY-MM-DD hh:mm:ssâ
226 timestamp âYY-MM-DD hh:mm:ssâ
227 âYYYYMMDDhhmmssâ
228 âYYMMDDhhmmssâ
229 YYYYMMDDhhmmss
230 YYMMDDhhmmss
231 date âYYYY-MM-DDâ
232 âYY-MM-DDâ
233 âYYYYMMDDâ
234 âYYMMDDâ
235 YYYYMMDD
236 YYMMDD
237 time âhh:mm:ssâ
238 âhhmmssâ
239 hhmmss
240 year âYYYYâ
241 âYYâ
242 YYYY
243 YY
244
245 4. æä¸¾åéå
246 -- æä¸¾(enum) ----------
247 enum(val1, val2, val3...)
248 å¨å·²ç¥çå¼ä¸è¿è¡åéãæå¤§æ°é为65535.
249 æä¸¾å¼å¨ä¿åæ¶ï¼ä»¥2个åèçæ´å(smallint)ä¿åãæ¯ä¸ªæä¸¾å¼ï¼æä¿åçä½ç½®é¡ºåºï¼ä»1å¼å§éä¸éå¢ã
250 表ç°ä¸ºå符串类åï¼åå¨å´æ¯æ´åã
251 NULLå¼çç´¢å¼æ¯NULLã
252 空å符串é误å¼çç´¢å¼å¼æ¯0ã
253
254 -- éåï¼setï¼ ----------
255 set(val1, val2, val3...)
256 create table tab ( gender set(\'ç·\', \'女\', \'æ \') );
257 insert into tab values (\'ç·, 女\');
258 æå¤å¯ä»¥æ64个ä¸åçæåã以bigintåå¨ï¼å
±8个åèãéåä½è¿ç®çå½¢å¼ã
259 å½å建表æ¶ï¼SETæåå¼çå°¾é¨ç©ºæ ¼å°èªå¨è¢«å é¤ã
260
261 /* éæ©ç±»å */
262 -- PHPè§åº¦
263 1. åè½æ»¡è¶³
264 2. åå¨ç©ºé´å°½éå°ï¼å¤çæçæ´é«
265 3. èèå
¼å®¹é®é¢
266
267 -- IPåå¨ ----------
268 1. åªéåå¨ï¼å¯ç¨å符串
269 2. 妿é计ç®ï¼æ¥æ¾çï¼å¯åå¨ä¸º4个åèçæ ç¬¦å·intï¼å³unsigned
270 1) PHP彿°è½¬æ¢
271 ip2longå¯è½¬æ¢ä¸ºæ´åï¼ä½ä¼åºç°æºå¸¦ç¬¦å·é®é¢ãéæ ¼å¼å为æ 符å·çæ´åã
272 å©ç¨sprintf彿°æ ¼å¼åå符串
273 sprintf("%u", ip2long(\'192.168.3.134\'));
274 ç¶åç¨long2ipå°æ´å转åIPå符串
275 2) MySQL彿°è½¬æ¢(æ ç¬¦å·æ´åï¼UNSIGNED)
276 INET_ATON(\'127.0.0.1\') å°IP转为æ´å
277 INET_NTOA(2130706433) å°æ´å转为IP
278
279
280
281
282 /* å屿§ï¼å约æï¼ */ ------------------
283 1. 主é®
284 - è½å¯ä¸æ è¯è®°å½çåæ®µï¼å¯ä»¥ä½ä¸ºä¸»é®ã
285 - ä¸ä¸ªè¡¨åªè½æä¸ä¸ªä¸»é®ã
286 - 主é®å
·æå¯ä¸æ§ã
287 - 声æå段æ¶ï¼ç¨ primary key æ è¯ã
288 ä¹å¯ä»¥å¨å段å表ä¹å声æ
289 ä¾ï¼create table tab ( id int, stu varchar(10), primary key (id));
290 - 主é®å段çå¼ä¸è½ä¸ºnullã
291 - 主é®å¯ä»¥ç±å¤ä¸ªå段å
±åç»æãæ¤æ¶éè¦å¨å段å表å声æçæ¹æ³ã
292 ä¾ï¼create table tab ( id int, stu varchar(10), age int, primary key (stu, age));
293
294 2. unique å¯ä¸ç´¢å¼ï¼å¯ä¸çº¦æï¼
295 ä½¿å¾æåæ®µçå¼ä¹ä¸è½éå¤ã
296
297 3. null 约æ
298 null䏿¯æ°æ®ç±»åï¼æ¯åçä¸ä¸ªå±æ§ã
299 表示å½å忝å¦å¯ä»¥ä¸ºnullï¼è¡¨ç¤ºä»ä¹é½æ²¡æã
300 null, å
许为空ãé»è®¤ã
301 not null, ä¸å
许为空ã
302 insert into tab values (null, \'val\');
303 -- æ¤æ¶è¡¨ç¤ºå°ç¬¬ä¸ä¸ªå段çå¼è®¾ä¸ºnull, åå³äºè¯¥å段æ¯å¦å
许为null
304
305 4. default é»è®¤å¼å±æ§
306 å½ååæ®µçé»è®¤å¼ã
307 insert into tab values (default, \'val\'); -- æ¤æ¶è¡¨ç¤ºå¼ºå¶ä½¿ç¨é»è®¤å¼ã
308 create table tab ( add_time timestamp default current_timestamp );
309 -- 表示å°å½åæ¶é´çæ¶é´æ³è®¾ä¸ºé»è®¤å¼ã
310 current_date, current_time
311
312 5. auto_increment èªå¨å¢é¿çº¦æ
313 èªå¨å¢é¿å¿
须为索å¼ï¼ä¸»é®æuniqueï¼
314 åªè½åå¨ä¸ä¸ªå段为èªå¨å¢é¿ã
315 é»è®¤ä¸º1å¼å§èªå¨å¢é¿ãå¯ä»¥éè¿è¡¨å±æ§ auto_increment = xè¿è¡è®¾ç½®ï¼æ alter table tbl auto_increment = x;
316
317 6. comment 注é
318 ä¾ï¼create table tab ( id int ) comment \'注éå
容\';
319
320 7. foreign key å¤é®çº¦æ
321 ç¨äºéå¶ä¸»è¡¨ä¸ä»è¡¨æ°æ®å®æ´æ§ã
322 alter table t1 add constraint `t1_t2_fk` foreign key (t1_id) references t2(id);
323 -- å°è¡¨t1çt1_idå¤é®å
³èå°è¡¨t2çidåæ®µã
324 -- æ¯ä¸ªå¤é®é½æä¸ä¸ªååï¼å¯ä»¥éè¿ constraint æå®
325
326 åå¨å¤é®ç表ï¼ç§°ä¹ä¸ºä»è¡¨ï¼å表ï¼ï¼å¤é®æåç表ï¼ç§°ä¹ä¸ºä¸»è¡¨ï¼ç¶è¡¨ï¼ã
327
328 ä½ç¨ï¼ä¿ææ°æ®ä¸è´æ§ï¼å®æ´æ§ï¼ä¸»è¦ç®çæ¯æ§å¶åå¨å¨å¤é®è¡¨ï¼ä»è¡¨ï¼ä¸çæ°æ®ã
329
330 MySQLä¸ï¼å¯ä»¥å¯¹InnoDBå¼æä½¿ç¨å¤é®çº¦æï¼
331 è¯æ³ï¼
332 foreign key (å¤é®åæ®µï¼ references 主表å (å
³èåæ®µ) [主表记å½å 餿¶çå¨ä½] [ä¸»è¡¨è®°å½æ´æ°æ¶çå¨ä½]
333 æ¤æ¶éè¦æ£æµä¸ä¸ªä»è¡¨çå¤é®éè¦çº¦æä¸ºä¸»è¡¨çå·²åå¨çå¼ãå¤é®å¨æ²¡æå
³èçæ
åµä¸ï¼å¯ä»¥è®¾ç½®ä¸ºnull.åææ¯è¯¥å¤é®åï¼æ²¡ænot nullã
334
335 å¯ä»¥ä¸æå®ä¸»è¡¨è®°å½æ´æ¹ææ´æ°æ¶çå¨ä½ï¼é£ä¹æ¤æ¶ä¸»è¡¨çæä½è¢«æç»ã
336 妿æå®äº on update æ on deleteï¼å¨å é¤ææ´æ°æ¶ï¼æå¦ä¸å 个æä½å¯ä»¥éæ©ï¼
337 1. cascadeï¼çº§èæä½ãä¸»è¡¨æ°æ®è¢«æ´æ°ï¼ä¸»é®å¼æ´æ°ï¼ï¼ä»è¡¨ä¹è¢«æ´æ°ï¼å¤é®å¼æ´æ°ï¼ã主表记å½è¢«å é¤ï¼ä»è¡¨ç¸å
³è®°å½ä¹è¢«å é¤ã
338 2. set nullï¼è®¾ç½®ä¸ºnullãä¸»è¡¨æ°æ®è¢«æ´æ°ï¼ä¸»é®å¼æ´æ°ï¼ï¼ä»è¡¨çå¤é®è¢«è®¾ç½®ä¸ºnullã主表记å½è¢«å é¤ï¼ä»è¡¨ç¸å
³è®°å½å¤é®è¢«è®¾ç½®ænullã使³¨æï¼è¦æ±è¯¥å¤é®åï¼æ²¡ænot null屿§çº¦æã
339 3. restrictï¼æç»ç¶è¡¨å é¤åæ´æ°ã
340
341 注æï¼å¤é®åªè¢«InnoDBåå¨å¼æææ¯æãå
¶ä»å¼ææ¯ä¸æ¯æçã
342
343
344 /* 建表è§è */ ------------------
345 -- Normal Format, NF
346 - æ¯ä¸ªè¡¨ä¿åä¸ä¸ªå®ä½ä¿¡æ¯
347 - æ¯ä¸ªå
·æä¸ä¸ªIDåæ®µä½ä¸ºä¸»é®
348 - IDä¸»é® + åå表
349 -- 1NF, 第ä¸èå¼
350 åæ®µä¸è½ååï¼å°±æ»¡è¶³ç¬¬ä¸èå¼ã
351 -- 2NF, 第äºèå¼
352 满足第ä¸èå¼çåæä¸ï¼ä¸è½åºç°é¨åä¾èµã
353 æ¶é¤ç¬¦å主é®å°±å¯ä»¥é¿å
é¨åä¾èµãå¢å ååå
³é®åã
354 -- 3NF, 第ä¸èå¼
355 满足第äºèå¼çåæä¸ï¼ä¸è½åºç°ä¼ éä¾èµã
356 æä¸ªå段ä¾èµäºä¸»é®ï¼èæå
¶ä»å段ä¾èµäºè¯¥å段ãè¿å°±æ¯ä¼ éä¾èµã
357 å°ä¸ä¸ªå®ä½ä¿¡æ¯çæ°æ®æ¾å¨ä¸ä¸ªè¡¨å
å®ç°ã
358
359
360 /* select */ ------------------
361
362 select [all|distinct] select_expr from -> where -> group by [åè®¡å½æ°] -> having -> order by -> limit
363
364 a. select_expr
365 -- å¯ä»¥ç¨ * 表示ææå段ã
366 select * from tb;
367 -- å¯ä»¥ä½¿ç¨è¡¨è¾¾å¼ï¼è®¡ç®å
¬å¼ã彿°è°ç¨ãåæ®µä¹æ¯ä¸ªè¡¨è¾¾å¼ï¼
368 select stu, 29+25, now() from tb;
369 -- å¯ä»¥ä¸ºæ¯ä¸ªå使ç¨å«åãéç¨äºç®ååæ è¯ï¼é¿å
å¤ä¸ªåæ è¯ç¬¦éå¤ã
370 - ä½¿ç¨ as å
³é®åï¼ä¹å¯çç¥ as.
371 select stu+10 as add10 from tb;
372
373 b. from åå¥
374 ç¨äºæ è¯æ¥è¯¢æ¥æºã
375 -- å¯ä»¥ä¸ºè¡¨èµ·å«åã使ç¨aså
³é®åã
376 select * from tb1 as tt, tb2 as bb;
377 -- fromåå¥åï¼å¯ä»¥åæ¶åºç°å¤ä¸ªè¡¨ã
378 -- å¤ä¸ªè¡¨ä¼æ¨ªåå å å°ä¸èµ·ï¼èæ°æ®ä¼å½¢æä¸ä¸ªç¬å¡å°ç§¯ã
379 select * from tb1, tb2;
380
381 c. where åå¥
382 -- ä»fromè·å¾çæ°æ®æºä¸è¿è¡çéã
383 -- æ´å1表示çï¼0表示åã
384 -- 表达å¼ç±è¿ç®ç¬¦åè¿ç®æ°ç»æã
385 -- è¿ç®æ°ï¼åéï¼å段ï¼ãå¼ã彿°è¿åå¼
386 -- è¿ç®ç¬¦ï¼
387 =, <=>, <>, !=, <=, <, >=, >, !, &&, ||,
388 in (not) null, (not) like, (not) in, (not) between and, is (not), and, or, not, xor
389 is/is not å ä¸ture/false/unknownï¼æ£éªæä¸ªå¼ççå
390 <=>ä¸<>åè½ç¸åï¼<=>å¯ç¨äºnullæ¯è¾
391
392 d. group by åå¥, åç»åå¥
393 group by åæ®µ/å«å [æåºæ¹å¼]
394 åç»åä¼è¿è¡æåºãååºï¼ASCï¼éåºï¼DESC
395
396 以ä¸[åè®¡å½æ°]éé
å group by 使ç¨ï¼
397 count è¿åä¸åçéNULL弿°ç® count(*)ãcount(åæ®µ)
398 sum æ±å
399 max æ±æå¤§å¼
400 min æ±æå°å¼
401 avg æ±å¹³åå¼
402 group_concat è¿åå¸¦ææ¥èªä¸ä¸ªç»çè¿æ¥çéNULLå¼çåç¬¦ä¸²ç»æãç»å
åç¬¦ä¸²è¿æ¥ã
403
404 e. having åå¥ï¼æ¡ä»¶åå¥
405 ä¸ where åè½ãç¨æ³ç¸åï¼æ§è¡æ¶æºä¸åã
406 where å¨å¼å§æ¶æ§è¡æ£æµæ°æ®ï¼å¯¹åæ°æ®è¿è¡è¿æ»¤ã
407 having 对çéåºçç»æåæ¬¡è¿è¡è¿æ»¤ã
408 having åæ®µå¿
é¡»æ¯æ¥è¯¢åºæ¥çï¼where åæ®µå¿
é¡»æ¯æ°æ®è¡¨åå¨çã
409 where ä¸å¯ä»¥ä½¿ç¨å段çå«åï¼having å¯ä»¥ãå 为æ§è¡WHEREä»£ç æ¶ï¼å¯è½å°æªç¡®å®åå¼ã
410 where ä¸å¯ä»¥ä½¿ç¨åè®¡å½æ°ãä¸è¬éç¨åè®¡å½æ°æä¼ç¨ having
411 SQLæ åè¦æ±HAVINGå¿
é¡»å¼ç¨GROUP BYåå¥ä¸çåæç¨äºåè®¡å½æ°ä¸çåã
412
413 f. order by åå¥ï¼æåºåå¥
414 order by æåºå段/å«å æåºæ¹å¼ [,æåºå段/å«å æåºæ¹å¼]...
415 ååºï¼ASCï¼éåºï¼DESC
416 æ¯æå¤ä¸ªå段çæåºã
417
418 g. limit åå¥ï¼éå¶ç»ææ°éåå¥
419 ä»
对å¤ç好çç»æè¿è¡æ°ééå¶ãå°å¤ç好çç»æçç使¯ä¸ä¸ªéåï¼æç
§è®°å½åºç°ç顺åºï¼ç´¢å¼ä»0å¼å§ã
420 limit èµ·å§ä½ç½®, è·åæ¡æ°
421 çç¥ç¬¬ä¸ä¸ªåæ°ï¼è¡¨ç¤ºä»ç´¢å¼0å¼å§ãlimit è·åæ¡æ°
422
423 h. distinct, all é项
424 distinct å»é¤éå¤è®°å½
425 é»è®¤ä¸º all, å
¨é¨è®°å½
426
427
428 /* UNION */ ------------------
429 å°å¤ä¸ªselectæ¥è¯¢çç»æç»åæä¸ä¸ªç»æéåã
430 SELECT ... UNION [ALL|DISTINCT] SELECT ...
431 é»è®¤ DISTINCT æ¹å¼ï¼å³ææè¿åçè¡é½æ¯å¯ä¸ç
432 建议ï¼å¯¹æ¯ä¸ªSELECTæ¥è¯¢å ä¸å°æ¬å·å
裹ã
433 ORDER BY æåºæ¶ï¼éå ä¸ LIMIT è¿è¡ç»åã
434 éè¦åselectæ¥è¯¢çåæ®µæ°é䏿 ·ã
435 æ¯ä¸ªselectæ¥è¯¢çåæ®µå表(æ°éãç±»å)åºä¸è´ï¼å ä¸ºç»æä¸çåæ®µåä»¥ç¬¬ä¸æ¡selectè¯å¥ä¸ºåã
436
437
438 /* åæ¥è¯¢ */ ------------------
439 - åæ¥è¯¢éç¨æ¬å·å
裹ã
440 -- fromå
441 fromåè¦æ±æ¯ä¸ä¸ªè¡¨ï¼å¿
é¡»ç»åæ¥è¯¢ç»æå个å«åã
442 - ç®åæ¯ä¸ªæ¥è¯¢å
çæ¡ä»¶ã
443 - fromåéå°ç»æçæä¸ä¸ªä¸´æ¶è¡¨æ ¼ï¼å¯ç¨ä»¥å表çéå®çéæ¾ã
444 - åæ¥è¯¢è¿åä¸ä¸ªè¡¨ï¼è¡¨ååæ¥è¯¢ã
445 select * from (select * from tb where id>0) as subfrom where id>1;
446 -- whereå
447 - åæ¥è¯¢è¿åä¸ä¸ªå¼ï¼æ éåæ¥è¯¢ã
448 - ä¸éè¦ç»åæ¥è¯¢åå«åã
449 - whereåæ¥è¯¢å
ç表ï¼ä¸è½ç´æ¥ç¨ä»¥æ´æ°ã
450 select * from tb where money = (select max(money) from tb);
451 -- ååæ¥è¯¢
452 å¦æåæ¥è¯¢ç»æè¿åçæ¯ä¸åã
453 ä½¿ç¨ in æ not in 宿æ¥è¯¢
454 exists å not exists æ¡ä»¶
455 å¦æåæ¥è¯¢è¿åæ°æ®ï¼åè¿å1æ0ã常ç¨äºå¤ææ¡ä»¶ã
456 select column1 from t1 where exists (select * from t2);
457 -- è¡åæ¥è¯¢
458 æ¥è¯¢æ¡ä»¶æ¯ä¸ä¸ªè¡ã
459 select * from t1 where (id, gender) in (select id, gender from t2);
460 è¡æé 符ï¼(col1, col2, ...) æ ROW(col1, col2, ...)
461 è¡æé 符é常ç¨äºä¸å¯¹è½è¿å两个æä¸¤ä¸ªä»¥ä¸åçåæ¥è¯¢è¿è¡æ¯è¾ã
462
463 -- ç¹æ®è¿ç®ç¬¦
464 != all() ç¸å½äº not in
465 = some() ç¸å½äº inãany æ¯ some çå«å
466 != some() ä¸çåäº not inï¼ä¸çäºå
¶ä¸æä¸ä¸ªã
467 all, some å¯ä»¥é
åå
¶ä»è¿ç®ç¬¦ä¸èµ·ä½¿ç¨ã
468
469
470 /* è¿æ¥æ¥è¯¢(join) */ ------------------
471 å°å¤ä¸ªè¡¨çåæ®µè¿è¡è¿æ¥ï¼å¯ä»¥æå®è¿æ¥æ¡ä»¶ã
472 -- å
è¿æ¥(inner join)
473 - é»è®¤å°±æ¯å
è¿æ¥ï¼å¯çç¥innerã
474 - åªææ°æ®å卿¶æè½åéè¿æ¥ãå³è¿æ¥ç»æä¸è½åºç°ç©ºè¡ã
475 on è¡¨ç¤ºè¿æ¥æ¡ä»¶ãå
¶æ¡ä»¶è¡¨è¾¾å¼ä¸where类似ãä¹å¯ä»¥çç¥æ¡ä»¶ï¼è¡¨ç¤ºæ¡ä»¶æ°¸è¿ä¸ºçï¼
476 ä¹å¯ç¨whereè¡¨ç¤ºè¿æ¥æ¡ä»¶ã
477 è¿æ using, ä½éåæ®µåç¸åã using(åæ®µå)
478
479 -- 交åè¿æ¥ cross join
480 å³ï¼æ²¡ææ¡ä»¶çå
è¿æ¥ã
481 select * from tb1 cross join tb2;
482 -- å¤è¿æ¥(outer join)
483 - å¦ææ°æ®ä¸åå¨ï¼ä¹ä¼åºç°å¨è¿æ¥ç»æä¸ã
484 -- å·¦å¤è¿æ¥ left join
485 å¦ææ°æ®ä¸åå¨ï¼å·¦è¡¨è®°å½ä¼åºç°ï¼èå³è¡¨ä¸ºnullå¡«å
486 -- å³å¤è¿æ¥ right join
487 å¦ææ°æ®ä¸åå¨ï¼å³è¡¨è®°å½ä¼åºç°ï¼è左表为nullå¡«å
488 -- èªç¶è¿æ¥(natural join)
489 èªå¨å¤æè¿æ¥æ¡ä»¶å®æè¿æ¥ã
490 ç¸å½äºçç¥äºusingï¼ä¼èªå¨æ¥æ¾ç¸ååæ®µåã
491 natural join
492 natural left join
493 natural right join
494
495 select info.id, info.name, info.stu_num, extra_info.hobby, extra_info.sex from info, extra_info where info.stu_num = extra_info.stu_id;
496
497 /* 导å
¥å¯¼åº */ ------------------
498 select * into outfile æä»¶å°å [æ§å¶æ ¼å¼] from 表å; -- 导åºè¡¨æ°æ®
499 load data [local] infile æä»¶å°å [replace|ignore] into table 表å [æ§å¶æ ¼å¼]; -- 导å
¥æ°æ®
500 çæçæ°æ®é»è®¤çåé符æ¯å¶è¡¨ç¬¦
501 localæªæå®ï¼åæ°æ®æä»¶å¿
须卿å¡å¨ä¸
502 replace å ignore å
³é®è¯æ§å¶å¯¹ç°æçå¯ä¸é®è®°å½çéå¤çå¤ç
503 -- æ§å¶æ ¼å¼
504 fields æ§å¶åæ®µæ ¼å¼
505 é»è®¤ï¼fields terminated by \'\t\' enclosed by \'\' escaped by \'\\\'
506 terminated by \'string\' -- ç»æ¢
507 enclosed by \'char\' -- å
裹
508 escaped by \'char\' -- 转ä¹
509 -- 示ä¾ï¼
510 SELECT a,b,a+b INTO OUTFILE \'/tmp/result.text\'
511 FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\'
512 LINES TERMINATED BY \'\n\'
513 FROM test_table;
514 lines æ§å¶è¡æ ¼å¼
515 é»è®¤ï¼lines terminated by \'\n\'
516 terminated by \'string\' -- ç»æ¢
517
518 /* insert */ ------------------
519 selectè¯å¥è·å¾çæ°æ®å¯ä»¥ç¨insertæå
¥ã
520
521 å¯ä»¥çç¥å¯¹åçæå®ï¼è¦æ± values () æ¬å·å
ï¼æä¾ç»äºæç
§å顺åºåºç°çææå段çå¼ã
522 æè
使ç¨setè¯æ³ã
523 insert into tbl_name set field=value,...ï¼
524
525 å¯ä»¥ä¸æ¬¡æ§ä½¿ç¨å¤ä¸ªå¼ï¼éç¨(), (), ();çå½¢å¼ã
526 insert into tbl_name values (), (), ();
527
528 å¯ä»¥å¨å弿宿¶ï¼ä½¿ç¨è¡¨è¾¾å¼ã
529 insert into tbl_name values (field_value, 10+10, now());
530 å¯ä»¥ä½¿ç¨ä¸ä¸ªç¹æ®å¼ defaultï¼è¡¨ç¤ºè¯¥å使ç¨é»è®¤å¼ã
531 insert into tbl_name values (field_value, default);
532
533 å¯ä»¥éè¿ä¸ä¸ªæ¥è¯¢çç»æï¼ä½ä¸ºéè¦æå
¥çå¼ã
534 insert into tbl_name select ...;
535
536 å¯ä»¥æå®å¨æå
¥çå¼åºç°ä¸»é®ï¼æå¯ä¸ç´¢å¼ï¼å²çªæ¶ï¼æ´æ°å
¶ä»é主é®åçä¿¡æ¯ã
537 insert into tbl_name values/set/select on duplicate key update åæ®µ=å¼, â¦;
538
539 /* delete */ ------------------
540 DELETE FROM tbl_name [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
541
542 æç
§æ¡ä»¶å é¤
543
544 æå®å é¤çæå¤è®°å½æ°ãLimit
545
546 å¯ä»¥éè¿æåºæ¡ä»¶å é¤ãorder by + limit
547
548 æ¯æå¤è¡¨å é¤ï¼ä½¿ç¨ç±»ä¼¼è¿æ¥è¯æ³ã
549 delete from éè¦å 餿°æ®å¤è¡¨1ï¼è¡¨2 using è¡¨è¿æ¥æä½ æ¡ä»¶ã
550
551 /* truncate */ ------------------
552 TRUNCATE [TABLE] tbl_name
553 æ¸
ç©ºæ°æ®
554 å é¤é建表
555
556 åºå«ï¼
557 1ï¼truncate æ¯å é¤è¡¨åå建ï¼delete æ¯éæ¡å é¤
558 2ï¼truncate éç½®auto_incrementçå¼ãèdeleteä¸ä¼
559 3ï¼truncate ä¸ç¥éå é¤äºå æ¡ï¼èdeleteç¥éã
560 4ï¼å½è¢«ç¨äºå¸¦ååºç表æ¶ï¼truncate ä¼ä¿çååº
561
562
563 /* å¤ä»½ä¸è¿å */ ------------------
564 å¤ä»½ï¼å°æ°æ®çç»æä¸è¡¨å
æ°æ®ä¿åèµ·æ¥ã
565 å©ç¨ mysqldump æä»¤å®æã
566
567 -- 导åº
568 1. 导åºä¸å¼ 表
569 ããmysqldump -uç¨æ·å -på¯ç åºå 表å > æä»¶å(D:/a.sql)
570 2. 导åºå¤å¼ 表
571 ããmysqldump -uç¨æ·å -på¯ç åºå 表1 表2 表3 > æä»¶å(D:/a.sql)
572 3. å¯¼åºææè¡¨
573 ããmysqldump -uç¨æ·å -på¯ç åºå > æä»¶å(D:/a.sql)
574 4. 导åºä¸ä¸ªåº
575 ããmysqldump -uç¨æ·å -på¯ç -B åºå > æä»¶å(D:/a.sql)
576
577 å¯ä»¥-wæºå¸¦å¤ä»½æ¡ä»¶
578
579 -- 导å
¥
580 1. å¨ç»å½mysqlçæ
åµä¸ï¼
581 ããsource å¤ä»½æä»¶
582 2. å¨ä¸ç»å½çæ
åµä¸
583 ããmysql -uç¨æ·å -på¯ç åºå < å¤ä»½æä»¶
584
585
586 /* è§å¾ */ ------------------
587 ä»ä¹æ¯è§å¾ï¼
588 è§å¾æ¯ä¸ä¸ªèæè¡¨ï¼å
¶å
å®¹ç±æ¥è¯¢å®ä¹ãåçå®çè¡¨ä¸æ ·ï¼è§å¾å
å«ä¸ç³»å带æåç§°çååè¡æ°æ®ã使¯ï¼è§å¾å¹¶ä¸å¨æ°æ®åºä¸ä»¥åå¨çæ°æ®å¼éå½¢å¼åå¨ãè¡ååæ°æ®æ¥èªç±å®ä¹è§å¾çæ¥è¯¢æå¼ç¨ç表ï¼å¹¶ä¸å¨å¼ç¨è§å¾æ¶å¨æçæã
589 è§å¾å
·æè¡¨ç»ææä»¶ï¼ä½ä¸å卿°æ®æä»¶ã
590 对å
¶ä¸æå¼ç¨çåºç¡è¡¨æ¥è¯´ï¼è§å¾çä½ç¨ç±»ä¼¼äºçéãå®ä¹è§å¾ççéå¯ä»¥æ¥èªå½åæå
¶å®æ°æ®åºçä¸ä¸ªæå¤ä¸ªè¡¨ï¼æè
å
¶å®è§å¾ãéè¿è§å¾è¿è¡æ¥è¯¢æ²¡æä»»ä½éå¶ï¼éè¿å®ä»¬è¿è¡æ°æ®ä¿®æ¹æ¶çéå¶ä¹å¾å°ã
591 è§å¾æ¯åå¨å¨æ°æ®åºä¸çæ¥è¯¢çsqlè¯å¥ï¼å®ä¸»è¦åºäºä¸¤ç§åå ï¼å®å
¨åå ï¼è§å¾å¯ä»¥éèä¸äºæ°æ®ï¼å¦ï¼ç¤¾ä¼ä¿é©åºé表ï¼å¯ä»¥ç¨è§å¾åªæ¾ç¤ºå§åï¼å°åï¼è䏿¾ç¤ºç¤¾ä¼ä¿é©å·åå·¥èµæ°çï¼å¦ä¸åå æ¯å¯ä½¿å¤æçæ¥è¯¢æäºçè§£å使ç¨ã
592
593 -- å建è§å¾
594 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement
595 - è§å¾åå¿
é¡»å¯ä¸ï¼åæ¶ä¸è½ä¸è¡¨éåã
596 - è§å¾å¯ä»¥ä½¿ç¨selectè¯å¥æ¥è¯¢å°çååï¼ä¹å¯ä»¥èªå·±æå®ç¸åºçååã
597 - å¯ä»¥æå®è§å¾æ§è¡çç®æ³ï¼éè¿ALGORITHMæå®ã
598 - column_list妿åå¨ï¼åæ°ç®å¿
é¡»çäºSELECTè¯å¥æ£ç´¢çåæ°
599
600 -- æ¥çç»æ
601 SHOW CREATE VIEW view_name
602
603 -- å é¤è§å¾
604 - å é¤è§å¾åï¼æ°æ®ä¾ç¶åå¨ã
605 - å¯åæ¶å é¤å¤ä¸ªè§å¾ã
606 DROP VIEW [IF EXISTS] view_name ...
607
608 -- ä¿®æ¹è§å¾ç»æ
609 - ä¸è¬ä¸ä¿®æ¹è§å¾ï¼å ä¸ºä¸æ¯ææçæ´æ°è§å¾é½ä¼æ å°å°è¡¨ä¸ã
610 ALTER VIEW view_name [(column_list)] AS select_statement
611
612 -- è§å¾ä½ç¨
613 1. ç®åä¸å¡é»è¾
614 2. 对客æ·ç«¯éèçå®çè¡¨ç»æ
615
616 -- è§å¾ç®æ³(ALGORITHM)
617 MERGE åå¹¶
618 å°è§å¾çæ¥è¯¢è¯å¥ï¼ä¸å¤é¨æ¥è¯¢éè¦å
åå¹¶åæ§è¡ï¼
619 TEMPTABLE 临æ¶è¡¨
620 å°è§å¾æ§è¡å®æ¯åï¼å½¢æä¸´æ¶è¡¨ï¼ååå¤å±æ¥è¯¢ï¼
621 UNDEFINED æªå®ä¹(é»è®¤)ï¼æçæ¯MySQLèªä¸»å»éæ©ç¸åºçç®æ³ã
622
623
624
625 /* äºå¡(transaction) */ ------------------
626 äºå¡æ¯æé»è¾ä¸çä¸ç»æä½ï¼ç»æè¿ç»æä½çå个åå
ï¼è¦ä¸å
¨æåè¦ä¸å
¨å¤±è´¥ã
627 - æ¯æè¿ç»SQLçé使åæé使¤éã
628 - äºå¡æ¯æ°æ®åºå¨æ°æ®æèªä¹ æ¹é¢çä¸ä¸ªåè½ã
629 - éè¦å©ç¨ InnoDB æ BDB åå¨å¼æï¼å¯¹èªå¨æäº¤çç¹æ§æ¯æå®æã
630 - InnoDB被称为äºå¡å®å
¨å弿ã
631
632 -- äºå¡å¼å¯
633 START TRANSACTION; æè
BEGIN;
634 å¼å¯äºå¡åï¼ææè¢«æ§è¡çSQLè¯å¥å被认ä½å½åäºå¡å
çSQLè¯å¥ã
635 -- äºå¡æäº¤
636 COMMIT;
637 -- äºå¡åæ»
638 ROLLBACK;
639 妿é¨åæä½åçé®é¢ï¼æ å°å°äºå¡å¼å¯åã
640
641 -- äºå¡çç¹æ§
642 1. ååæ§ï¼Atomicityï¼
643 äºå¡æ¯ä¸ä¸ªä¸å¯åå²çå·¥ä½åä½ï¼äºå¡ä¸çæä½è¦ä¹é½åçï¼è¦ä¹é½ä¸åçã
644 2. ä¸è´æ§ï¼Consistencyï¼
645 äºå¡ååæ°æ®ç宿´æ§å¿
é¡»ä¿æä¸è´ã
646 - äºå¡å¼å§åç»ææ¶ï¼å¤é¨æ°æ®ä¸è´
647 - 卿´ä¸ªäºå¡è¿ç¨ä¸ï¼æä½æ¯è¿ç»ç
648 3. é离æ§ï¼Isolationï¼
649 å¤ä¸ªç¨æ·å¹¶åè®¿é®æ°æ®åºæ¶ï¼ä¸ä¸ªç¨æ·çäºå¡ä¸è½è¢«å
¶å®ç¨æ·çäºç©æå¹²æ°ï¼å¤ä¸ªå¹¶åäºå¡ä¹é´çæ°æ®è¦ç¸äºé离ã
650 4. æä¹
æ§ï¼Durabilityï¼
651 ä¸ä¸ªäºå¡ä¸æ¦è¢«æäº¤ï¼å®å¯¹æ°æ®åºä¸çæ°æ®æ¹åå°±æ¯æ°¸ä¹
æ§çã
652
653 -- äºå¡çå®ç°
654 1. è¦æ±æ¯äºå¡æ¯æç表类å
655 2. æ§è¡ä¸ç»ç¸å
³çæä½åå¼å¯äºå¡
656 3. æ´ç»æä½å®æåï¼é½æåï¼åæäº¤ï¼å¦æåå¨å¤±è´¥ï¼éæ©åæ»ï¼åä¼åå°äºå¡å¼å§çå¤ä»½ç¹ã
657
658 -- äºå¡çåç
659 å©ç¨InnoDBçèªå¨æäº¤(autocommit)ç¹æ§å®æã
660 æ®éçMySQLæ§è¡è¯å¥åï¼å½åçæ°æ®æäº¤æä½åå¯è¢«å
¶ä»å®¢æ·ç«¯å¯è§ã
661 èäºå¡æ¯ææ¶å
³éâèªå¨æäº¤âæºå¶ï¼éè¦commitæäº¤æä¹
åæ°æ®æä½ã
662
663 -- 注æ
664 1. æ°æ®å®ä¹è¯è¨ï¼DDLï¼è¯å¥ä¸è½è¢«åæ»ï¼æ¯å¦å建æåæ¶æ°æ®åºçè¯å¥ï¼åå建ãåæ¶ææ´æ¹è¡¨æåå¨çåç¨åºçè¯å¥ã
665 2. äºå¡ä¸è½è¢«åµå¥
666
667 -- ä¿åç¹
668 SAVEPOINT ä¿åç¹åç§° -- 设置ä¸ä¸ªäºå¡ä¿åç¹
669 ROLLBACK TO SAVEPOINT ä¿åç¹åç§° -- åæ»å°ä¿åç¹
670 RELEASE SAVEPOINT ä¿åç¹åç§° -- å é¤ä¿åç¹
671
672 -- InnoDBèªå¨æäº¤ç¹æ§è®¾ç½®
673 SET autocommit = 0|1; 0表示å
³éèªå¨æäº¤ï¼1表示å¼å¯èªå¨æäº¤ã
674 - 妿å
³éäºï¼é£æ®éæä½çç»æå¯¹å
¶ä»å®¢æ·ç«¯ä¹ä¸å¯è§ï¼éè¦commitæäº¤åæè½æä¹
åæ°æ®æä½ã
675 - ä¹å¯ä»¥å
³éèªå¨æäº¤æ¥å¼å¯äºå¡ãä½ä¸START TRANSACTIONä¸åçæ¯ï¼
676 SET autocommitæ¯æ°¸ä¹
æ¹åæå¡å¨ç设置ï¼ç´å°ä¸æ¬¡å次修æ¹è¯¥è®¾ç½®ã(é对å½åè¿æ¥)
677 èSTART TRANSACTIONè®°å½å¼å¯åçç¶æï¼è䏿¦äºå¡æäº¤æåæ»åå°±éè¦å次å¼å¯äºå¡ã(é对å½åäºå¡)
678
679
680 /* é表 */
681 表éå®åªç¨äºé²æ¢å
¶å®å®¢æ·ç«¯è¿è¡ä¸æ£å½å°è¯»åååå
¥
682 MyISAM æ¯æè¡¨éï¼InnoDB æ¯æè¡é
683 -- éå®
684 LOCK TABLES tbl_name [AS alias]
685 -- è§£é
686 UNLOCK TABLES
687
688
689 /* 触åå¨ */ ------------------
690 触åç¨åºæ¯ä¸è¡¨æå
³çå½åæ°æ®åºå¯¹è±¡ï¼å½è¯¥è¡¨åºç°ç¹å®äºä»¶æ¶ï¼å°æ¿æ´»è¯¥å¯¹è±¡
691 çå¬ï¼è®°å½çå¢å ãä¿®æ¹ãå é¤ã
692
693 -- å建触åå¨
694 CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt
695 åæ°ï¼
696 trigger_timeæ¯è§¦åç¨åºçå¨ä½æ¶é´ãå®å¯ä»¥æ¯ before æ afterï¼ä»¥ææè§¦åç¨åºæ¯å¨æ¿æ´»å®çè¯å¥ä¹åæä¹å触åã
697 trigger_eventææäºæ¿æ´»è§¦åç¨åºçè¯å¥çç±»å
698 INSERTï¼å°æ°è¡æå
¥è¡¨æ¶æ¿æ´»è§¦åç¨åº
699 UPDATEï¼æ´æ¹æä¸è¡æ¶æ¿æ´»è§¦åç¨åº
700 DELETEï¼ä»è¡¨ä¸å 餿ä¸è¡æ¶æ¿æ´»è§¦åç¨åº
701 tbl_nameï¼çå¬ç表ï¼å¿
é¡»æ¯æ°¸ä¹
æ§ç表ï¼ä¸è½å°è§¦åç¨åºä¸TEMPORARY表æè§å¾å
³èèµ·æ¥ã
702 trigger_stmtï¼å½è§¦åç¨åºæ¿æ´»æ¶æ§è¡çè¯å¥ãæ§è¡å¤ä¸ªè¯å¥ï¼å¯ä½¿ç¨BEGIN...ENDå¤åè¯å¥ç»æ
703
704 -- å é¤
705 DROP TRIGGER [schema_name.]trigger_name
706
707 å¯ä»¥ä½¿ç¨oldånewä»£æ¿æ§çåæ°çæ°æ®
708 æ´æ°æä½ï¼æ´æ°åæ¯oldï¼æ´æ°åæ¯new.
709 å 餿ä½ï¼åªæold.
710 å¢å æä½ï¼åªænew.
711
712 -- 注æ
713 1. 对äºå
·æç¸å触åç¨åºå¨ä½æ¶é´åäºä»¶çç»å®è¡¨ï¼ä¸è½æä¸¤ä¸ªè§¦åç¨åºã
714
715
716 -- åç¬¦è¿æ¥å½æ°
717 concat(str1[, str2,...])
718
719 -- 忝è¯å¥
720 if æ¡ä»¶ then
721 æ§è¡è¯å¥
722 elseif æ¡ä»¶ then
723 æ§è¡è¯å¥
724 else
725 æ§è¡è¯å¥
726 end if;
727
728 -- ä¿®æ¹æå¤å±è¯å¥ç»æç¬¦
729 delimiter èªå®ä¹ç»æç¬¦å·
730 SQLè¯å¥
731 èªå®ä¹ç»æç¬¦å·
732
733 delimiter ; -- ä¿®æ¹å忥çåå·
734
735 -- è¯å¥åå
裹
736 begin
737 è¯å¥å
738 end
739
740 -- ç¹æ®çæ§è¡
741 1. åªè¦æ·»å è®°å½ï¼å°±ä¼è§¦åç¨åºã
742 2. Insert into on duplicate key update è¯æ³ä¼è§¦åï¼
743 å¦ææ²¡æéå¤è®°å½ï¼ä¼è§¦å before insert, after insert;
744 妿æéå¤è®°å½å¹¶æ´æ°ï¼ä¼è§¦å before insert, before update, after update;
745 妿æéå¤è®°å½ä½æ¯æ²¡æåçæ´æ°ï¼å触å before insert, before update
746 3. Replace è¯æ³ 妿æè®°å½ï¼åæ§è¡ before insert, before delete, after delete, after insert
747
748
749 /* SQLç¼ç¨ */ ------------------
750
751 --// å±é¨åé ----------
752 -- åé声æ
753 declare var_name[,...] type [default value]
754 è¿ä¸ªè¯å¥è¢«ç¨æ¥å£°æå±é¨åéãè¦ç»åéæä¾ä¸ä¸ªé»è®¤å¼ï¼è¯·å
å«ä¸ä¸ªdefaultåå¥ãå¼å¯ä»¥è¢«æå®ä¸ºä¸ä¸ªè¡¨è¾¾å¼ï¼ä¸éè¦ä¸ºä¸ä¸ªå¸¸æ°ãå¦ææ²¡ædefaultåå¥ï¼åå§å¼ä¸ºnullã
755
756 -- èµå¼
757 ä½¿ç¨ set å select into è¯å¥ä¸ºåéèµå¼ã
758
759 - 注æï¼å¨å½æ°å
æ¯å¯ä»¥ä½¿ç¨å
¨å±åéï¼ç¨æ·èªå®ä¹çåéï¼
760
761
762 --// å
¨å±åé ----------
763 -- å®ä¹ãèµå¼
764 set è¯å¥å¯ä»¥å®ä¹å¹¶ä¸ºåéèµå¼ã
765 set @var = value;
766 ä¹å¯ä»¥ä½¿ç¨select intoè¯å¥ä¸ºåéåå§åå¹¶èµå¼ãè¿æ ·è¦æ±selectè¯å¥åªè½è¿åä¸è¡ï¼ä½æ¯å¯ä»¥æ¯å¤ä¸ªå段ï¼å°±æå³çåæ¶ä¸ºå¤ä¸ªåéè¿è¡èµå¼ï¼åéçæ°ééè¦ä¸æ¥è¯¢çåæ°ä¸è´ã
767 è¿å¯ä»¥æèµå¼è¯å¥çä½ä¸ä¸ªè¡¨è¾¾å¼ï¼éè¿selectæ§è¡å®æãæ¤æ¶ä¸ºäºé¿å
=被å½ä½å
³ç³»è¿ç®ç¬¦çå¾
ï¼ä½¿ç¨:=代æ¿ãï¼setè¯å¥å¯ä»¥ä½¿ç¨= å :=ï¼ã
768 select @var:=20;
769 select @v1:=id, @v2=name from t1 limit 1;
770 select * from tbl_name where @var:=30;
771
772 select into å¯ä»¥å°è¡¨ä¸æ¥è¯¢è·å¾çæ°æ®èµç»åéã
773 -| select max(height) into @max_height from tb;
774
775 -- èªå®ä¹åéå
776 为äºé¿å
selectè¯å¥ä¸ï¼ç¨æ·èªå®ä¹çåéä¸ç³»ç»æ è¯ç¬¦ï¼é常æ¯å段åï¼å²çªï¼ç¨æ·èªå®ä¹åéå¨åéåå使ç¨@ä½ä¸ºå¼å§ç¬¦å·ã
777 @var=10;
778
779 - åé被å®ä¹åï¼å¨æ´ä¸ªä¼è¯å¨æé½ææï¼ç»å½å°éåºï¼
780
781
782 --// æ§å¶ç»æ ----------
783 -- ifè¯å¥
784 if search_condition then
785 statement_list
786 [elseif search_condition then
787 statement_list]
788 ...
789 [else
790 statement_list]
791 end if;
792
793 -- caseè¯å¥
794 CASE value WHEN [compare-value] THEN result
795 [WHEN [compare-value] THEN result ...]
796 [ELSE result]
797 END
798
799
800 -- while循ç¯
801 [begin_label:] while search_condition do
802 statement_list
803 end while [end_label];
804
805 - 妿éè¦å¨å¾ªç¯å
æåç»æ¢ while循ç¯ï¼åéè¦ä½¿ç¨æ ç¾ï¼æ ç¾éè¦æå¯¹åºç°ã
806
807 -- éåºå¾ªç¯
808 éåºæ´ä¸ªå¾ªç¯ leave
809 éåºå½åå¾ªç¯ iterate
810 éè¿éåºçæ ç¾å³å®éåºåªä¸ªå¾ªç¯
811
812
813 --// å
ç½®å½æ° ----------
814 -- æ°å¼å½æ°
815 abs(x) -- ç»å¯¹å¼ abs(-10.9) = 10
816 format(x, d) -- æ ¼å¼ååå使°å¼ format(1234567.456, 2) = 1,234,567.46
817 ceil(x) -- åä¸åæ´ ceil(10.1) = 11
818 floor(x) -- åä¸åæ´ floor (10.1) = 10
819 round(x) -- åèäºå
¥å»æ´
820 mod(m, n) -- m%n m mod n æ±ä½ 10%3=1
821 pi() -- è·å¾åå¨ç
822 pow(m, n) -- m^n
823 sqrt(x) -- ç®æ¯å¹³æ¹æ ¹
824 rand() -- éæºæ°
825 truncate(x, d) -- æªådä½å°æ°
826
827 -- æ¶é´æ¥æå½æ°
828 now(), current_timestamp(); -- å½åæ¥ææ¶é´
829 current_date(); -- å½åæ¥æ
830 current_time(); -- å½åæ¶é´
831 date(\'yyyy-mm-dd hh:ii:ss\'); -- è·åæ¥æé¨å
832 time(\'yyyy-mm-dd hh:ii:ss\'); -- è·åæ¶é´é¨å
833 date_format(\'yyyy-mm-dd hh:ii:ss\', \'%d %y %a %d %m %b %j\'); -- æ ¼å¼åæ¶é´
834 unix_timestamp(); -- è·å¾unixæ¶é´æ³
835 from_unixtime(); -- 仿¶é´æ³è·å¾æ¶é´
836
837 -- åç¬¦ä¸²å½æ°
838 length(string) -- stringé¿åº¦ï¼åè
839 char_length(string) -- stringçå符个æ°
840 substring(str, position [,length]) -- ä»strçpositionå¼å§,ålength个å符
841 replace(str ,search_str ,replace_str) -- å¨strä¸ç¨replace_stræ¿æ¢search_str
842 instr(string ,substring) -- è¿åsubstring馿¬¡å¨stringä¸åºç°çä½ç½®
843 concat(string [,...]) -- è¿æ¥å串
844 charset(str) -- è¿åå串å符é
845 lcase(string) -- è½¬æ¢æå°å
846 left(string, length) -- ä»string2ä¸ç左边起ålength个å符
847 load_file(file_name) -- ä»æä»¶è¯»åå
容
848 locate(substring, string [,start_position]) -- åinstr,ä½å¯æå®å¼å§ä½ç½®
849 lpad(string, length, pad) -- éå¤ç¨padå å¨stringå¼å¤´,ç´å°å串é¿åº¦ä¸ºlength
850 ltrim(string) -- å»é¤åç«¯ç©ºæ ¼
851 repeat(string, count) -- éå¤count次
852 rpad(string, length, pad) --å¨stråç¨padè¡¥å
,ç´å°é¿åº¦ä¸ºlength
853 rtrim(string) -- å»é¤åç«¯ç©ºæ ¼
854 strcmp(string1 ,string2) -- éå符æ¯è¾ä¸¤å串大å°
855
856 -- æµç¨å½æ°
857 case when [condition] then result [when [condition] then result ...] [else result] end å¤åæ¯
858 if(expr1,expr2,expr3) å忝ã
859
860 -- èå彿°
861 count()
862 sum();
863 max();
864 min();
865 avg();
866 group_concat()
867
868 -- å
¶ä»å¸¸ç¨å½æ°
869 md5();
870 default();
871
872
873 --// åå¨å½æ°ï¼èªå®ä¹å½æ° ----------
874 -- æ°å»º
875 CREATE FUNCTION function_name (åæ°å表) RETURNS è¿åå¼ç±»å
876 彿°ä½
877
878 - 彿°åï¼åºè¯¥åæ³çæ è¯ç¬¦ï¼å¹¶ä¸ä¸åºè¯¥ä¸å·²æçå
³é®åå²çªã
879 - ä¸ä¸ªå½æ°åºè¯¥å±äºæä¸ªæ°æ®åºï¼å¯ä»¥ä½¿ç¨db_name.funciton_nameç形弿§è¡å½å彿°æå±æ°æ®åºï¼å¦å为å½åæ°æ®åºã
880 - åæ°é¨åï¼ç±"åæ°å"å"åæ°ç±»å"ç»æãå¤ä¸ªåæ°ç¨éå·éå¼ã
881 - 彿°ä½ç±å¤æ¡å¯ç¨çmysqlè¯å¥ï¼æµç¨æ§å¶ï¼åé声æçè¯å¥ææã
882 - 夿¡è¯å¥åºè¯¥ä½¿ç¨ begin...end è¯å¥åå
å«ã
883 - ä¸å®è¦æ return è¿åå¼è¯å¥ã
884
885 -- å é¤
886 DROP FUNCTION [IF EXISTS] function_name;
887
888 -- æ¥ç
889 SHOW FUNCTION STATUS LIKE \'partten\'
890 SHOW CREATE FUNCTION function_name;
891
892 -- ä¿®æ¹
893 ALTER FUNCTION function_name 彿°é项
894
895
896 --// åå¨è¿ç¨ï¼èªå®ä¹åè½ ----------
897 -- å®ä¹
898 åå¨åå¨è¿ç¨ æ¯ä¸æ®µä»£ç ï¼è¿ç¨ï¼ï¼åå¨å¨æ°æ®åºä¸çsqlç»æã
899 ä¸ä¸ªåå¨è¿ç¨é常ç¨äºå®æä¸æ®µä¸å¡é»è¾ï¼ä¾å¦æ¥åï¼äº¤çè´¹ï¼è®¢åå
¥åºçã
900 èä¸ä¸ªå½æ°é叏䏿³¨ä¸æä¸ªåè½ï¼è§ä¸ºå
¶ä»ç¨åºæå¡çï¼éè¦å¨å
¶ä»è¯å¥ä¸è°ç¨å½æ°æå¯ä»¥ï¼èåå¨è¿ç¨ä¸è½è¢«å
¶ä»è°ç¨ï¼æ¯èªå·±æ§è¡ éè¿callæ§è¡ã
901
902 -- å建
903 CREATE PROCEDURE sp_name (åæ°å表)
904 è¿ç¨ä½
905
906 åæ°å表ï¼ä¸åäºå½æ°çåæ°å表ï¼éè¦ææåæ°ç±»å
907 INï¼è¡¨ç¤ºè¾å
¥å
908 OUTï¼è¡¨ç¤ºè¾åºå
909 INOUTï¼è¡¨ç¤ºæ··åå
910
911 注æï¼æ²¡æè¿åå¼ã
912
913
914 /* åå¨è¿ç¨ */ ------------------
915 åå¨è¿ç¨æ¯ä¸æ®µå¯æ§è¡æ§ä»£ç çéåãç¸æ¯å½æ°ï¼æ´ååäºä¸å¡é»è¾ã
916 è°ç¨ï¼CALL è¿ç¨å
917 -- 注æ
918 - 没æè¿åå¼ã
919 - åªè½åç¬è°ç¨ï¼ä¸å¯å¤¹æå¨å
¶ä»è¯å¥ä¸
920
921 -- åæ°
922 IN|OUT|INOUT åæ°å æ°æ®ç±»å
923 IN è¾å
¥ï¼å¨è°ç¨è¿ç¨ä¸ï¼å°æ°æ®è¾å
¥å°è¿ç¨ä½å
é¨çåæ°
924 OUT è¾åºï¼å¨è°ç¨è¿ç¨ä¸ï¼å°è¿ç¨ä½å¤çå®çç»æè¿åå°å®¢æ·ç«¯
925 INOUT è¾å
¥è¾åºï¼æ¢å¯è¾å
¥ï¼ä¹å¯è¾åº
926
927 -- è¯æ³
928 CREATE PROCEDURE è¿ç¨å (åæ°å表)
929 BEGIN
930 è¿ç¨ä½
931 END
932
933
934 /* ç¨æ·åæé管ç */ ------------------
935 ç¨æ·ä¿¡æ¯è¡¨ï¼mysql.user
936 -- å·æ°æé
937 FLUSH PRIVILEGES
938 -- å¢å ç¨æ·
939 CREATE USER ç¨æ·å IDENTIFIED BY [PASSWORD] å¯ç (å符串)
940 - å¿
é¡»æ¥æmysqlæ°æ®åºçå
¨å±CREATE USERæéï¼ææ¥æINSERTæéã
941 - åªè½åå»ºç¨æ·ï¼ä¸è½èµäºæéã
942 - ç¨æ·åï¼æ³¨æå¼å·ï¼å¦ \'user_name\'@\'192.168.1.1\'
943 - å¯ç ä¹éå¼å·ï¼çº¯æ°åå¯ç ä¹è¦å å¼å·
944 - è¦å¨çº¯ææ¬ä¸æå®å¯ç ï¼é忽ç¥PASSWORDå
³é®è¯ãè¦æå¯ç æå®ä¸ºç±PASSWORD()彿°è¿åçæ··ç¼å¼ï¼éå
å«å
³é®åPASSWORD
945 -- éå½åç¨æ·
946 RENAME USER old_user TO new_user
947 -- 设置å¯ç
948 SET PASSWORD = PASSWORD(\'å¯ç \') -- 为å½åç¨æ·è®¾ç½®å¯ç
949 SET PASSWORD FOR ç¨æ·å = PASSWORD(\'å¯ç \') -- 为æå®ç¨æ·è®¾ç½®å¯ç
950 -- å é¤ç¨æ·
951 DROP USER ç¨æ·å
952 -- åé
æé/æ·»å ç¨æ·
953 GRANT æéå表 ON 表å TO ç¨æ·å [IDENTIFIED BY [PASSWORD] \'password\']
954 - all privileges è¡¨ç¤ºæææé
955 - *.* 表示ææåºçææè¡¨
956 - åºå.表å 表示æåºä¸é¢çæè¡¨
957 -- æ¥çæé
958 SHOW GRANTS FOR ç¨æ·å
959 -- æ¥çå½åç¨æ·æé
960 SHOW GRANTS; æ SHOW GRANTS FOR CURRENT_USER; æ SHOW GRANTS FOR CURRENT_USER();
961 -- æ¤æ¶æé
962 REVOKE æéå表 ON 表å FROM ç¨æ·å
963 REVOKE ALL PRIVILEGES, GRANT OPTION FROM ç¨æ·å -- æ¤éæææé
964 -- æéå±çº§
965 -- è¦ä½¿ç¨GRANTæREVOKEï¼æ¨å¿
é¡»æ¥æGRANT OPTIONæéï¼å¹¶ä¸æ¨å¿
é¡»ç¨äºæ¨æ£å¨æäºææ¤éçæéã
966 å
¨å±å±çº§ï¼å
¨å±æééç¨äºä¸ä¸ªç»å®æå¡å¨ä¸çæææ°æ®åºï¼mysql.user
967 GRANT ALL ON *.*å REVOKE ALL ON *.*åªæäºåæ¤éå
¨å±æéã
968 æ°æ®åºå±çº§ï¼æ°æ®åºæééç¨äºä¸ä¸ªç»å®æ°æ®åºä¸çææç®æ ï¼mysql.db, mysql.host
969 GRANT ALL ON db_name.*åREVOKE ALL ON db_name.*åªæäºåæ¤éæ°æ®åºæéã
970 表å±çº§ï¼è¡¨æééç¨äºä¸ä¸ªç»å®è¡¨ä¸çææåï¼mysql.talbes_priv
971 GRANT ALL ON db_name.tbl_nameåREVOKE ALL ON db_name.tbl_nameåªæäºåæ¤é表æéã
972 åå±çº§ï¼åæééç¨äºä¸ä¸ªç»å®è¡¨ä¸çåä¸åï¼mysql.columns_priv
973 å½ä½¿ç¨REVOKEæ¶ï¼æ¨å¿
é¡»æå®ä¸è¢«ææåç¸åçåã
974 -- æéå表
975 ALL [PRIVILEGES] -- 设置é¤GRANT OPTIONä¹å¤çææç®åæé
976 ALTER -- å
许使ç¨ALTER TABLE
977 ALTER ROUTINE -- æ´æ¹æåæ¶å·²åå¨çåç¨åº
978 CREATE -- å
许使ç¨CREATE TABLE
979 CREATE ROUTINE -- å建已åå¨çåç¨åº
980 CREATE TEMPORARY TABLES -- å
许使ç¨CREATE TEMPORARY TABLE
981 CREATE USER -- å
许使ç¨CREATE USER, DROP USER, RENAME USERåREVOKE ALL PRIVILEGESã
982 CREATE VIEW -- å
许使ç¨CREATE VIEW
983 DELETE -- å
许使ç¨DELETE
984 DROP -- å
许使ç¨DROP TABLE
985 EXECUTE -- å
è®¸ç¨æ·è¿è¡å·²åå¨çåç¨åº
986 FILE -- å
许使ç¨SELECT...INTO OUTFILEåLOAD DATA INFILE
987 INDEX -- å
许使ç¨CREATE INDEXåDROP INDEX
988 INSERT -- å
许使ç¨INSERT
989 LOCK TABLES -- å
è®¸å¯¹æ¨æ¥æSELECTæéç表使ç¨LOCK TABLES
990 PROCESS -- å
许使ç¨SHOW FULL PROCESSLIST
991 REFERENCES -- æªè¢«å®æ½
992 RELOAD -- å
许使ç¨FLUSH
993 REPLICATION CLIENT -- å
è®¸ç¨æ·è¯¢é®ä»å±æå¡å¨æä¸»æå¡å¨çå°å
994 REPLICATION SLAVE -- ç¨äºå¤å¶åä»å±æå¡å¨ï¼ä»ä¸»æå¡å¨ä¸è¯»åäºè¿å¶æ¥å¿äºä»¶ï¼
995 SELECT -- å
许使ç¨SELECT
996 SHOW DATABASES -- æ¾ç¤ºæææ°æ®åº
997 SHOW VIEW -- å
许使ç¨SHOW CREATE VIEW
998 SHUTDOWN -- å
许使ç¨mysqladmin shutdown
999 SUPER -- å
许使ç¨CHANGE MASTER, KILL, PURGE MASTER LOGSåSET GLOBALè¯å¥ï¼mysqladmin debugå½ä»¤ï¼å
许æ¨è¿æ¥ï¼ä¸æ¬¡ï¼ï¼å³ä½¿å·²è¾¾å°max_connectionsã
1000 UPDATE -- å
许使ç¨UPDATE
1001 USAGE -- âæ æéâçåä¹è¯
1002 GRANT OPTION -- å
许æäºæé
1003
1004
1005 /* è¡¨ç»´æ¤ */
1006 -- åæååå¨è¡¨çå
³é®ååå¸
1007 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE 表å ...
1008 -- æ£æ¥ä¸ä¸ªæå¤ä¸ªè¡¨æ¯å¦æé误
1009 CHECK TABLE tbl_name [, tbl_name] ... [option] ...
1010 option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}
1011 -- æ´çæ°æ®æä»¶çç¢ç
1012 OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
1013
1014
1015 /* æé¡¹ */ ------------------
1016 1. å¯ç¨åå¼å·ï¼`ï¼ä¸ºæ è¯ç¬¦ï¼åºåã表åãåæ®µåãç´¢å¼ãå«åï¼å
裹ï¼ä»¥é¿å
ä¸å
³é®åéåï¼ä¸æä¹å¯ä»¥ä½ä¸ºæ è¯ç¬¦ï¼
1017 2. æ¯ä¸ªåºç®å½åå¨ä¸ä¸ªä¿åå½åæ°æ®åºçé项æä»¶db.optã
1018 3. 注éï¼
1019 åè¡æ³¨é # 注éå
容
1020 å¤è¡æ³¨é /* 注éå
容 */
1021 åè¡æ³¨é -- 注éå
容 (æ åSQL注é飿 ¼ï¼è¦æ±åç ´æå·åå ä¸ç©ºæ ¼ç¬¦ï¼ç©ºæ ¼ãTABãæ¢è¡çï¼)
1022 4. 模å¼éé
符ï¼
1023 _ ä»»æå个å符
1024 % ä»»æå¤ä¸ªå符ï¼çè³å
æ¬é¶å符
1025 åå¼å·éè¦è¿è¡è½¬ä¹ \\'
1026 5. CMDå½ä»¤è¡å
çè¯å¥ç»æç¬¦å¯ä»¥ä¸º ";", "\G", "\g"ï¼ä»
å½±åæ¾ç¤ºç»æãå
¶ä»å°æ¹è¿æ¯ç¨åå·ç»æãdelimiter å¯ä¿®æ¹å½å对è¯çè¯å¥ç»æç¬¦ã
1027 6. SQL对大å°å䏿æ
1028 7. æ¸
é¤å·²æè¯å¥ï¼\c
Â