@@ -68,7 +68,7 @@ mysql> SELECT COUNT(*) FROM mytable; # selects from db2.mytable
6868
6969MySQL中 ` SELECT ` 命令类似于其他编程语言里的 ` print ` 或者 ` write ` ,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用 ` MySQL ` 中 ` SELECT ` 命令的特殊功能?
7070
71- ①显示MYSQL的版本
71+ ① 显示MYSQL的版本
7272
7373``` mysql
7474mysql> select version();
@@ -92,7 +92,7 @@ mysql> select now();
92921 row in set (0 .04 sec)
9393```
9494
95- ③显示年月日
95+ ③ 显示年月日
9696
9797``` mysql
9898SELECT DAYOFMONTH(CURRENT_DATE );
@@ -120,7 +120,7 @@ SELECT YEAR(CURRENT_DATE);
1201201 row in set (0 .00 sec)
121121```
122122
123- ④显示字符串
123+ ④ 显示字符串
124124
125125``` mysql
126126mysql> SELECT " welecome to my blog!" ;
@@ -132,7 +132,7 @@ mysql> SELECT "welecome to my blog!";
1321321 row in set (0 .00 sec)
133133```
134134
135- ⑤当计算器用
135+ ⑤ 当计算器用
136136
137137``` mysql
138138select ((4 * 4 ) / 10 ) + 25 ;
@@ -144,7 +144,7 @@ select ((4 * 4) / 10 ) + 25;
1441441 row in set (0 .00 sec)
145145```
146146
147- ⑥串接字符串
147+ ⑥ 串接字符串
148148
149149``` mysql
150150select CONCAT(f_name, " " , l_name)
@@ -180,10 +180,13 @@ CREATE TABLE IF NOT EXISTS `user` (
180180
181181> 使用MySQL数据库desc 表名时,我们看到Key那一栏,可能会有4种值,即 ` ' ' ` , ` 'PRI' ` , ` 'UNI' ` , ` 'MUL' ` 。
182182
183- ①如果 ` Key ` 是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列;
184- ②如果 ` Key ` 是 ` PRI ` , 那么该列是主键的组成部分;
185- ③如果 ` Key ` 是 ` UNI ` , 那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(` NULL ` );
186- ④如果 ` Key ` 是 ` MUL ` , 那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值 ` NULL ` 。
183+ ① 如果 ` Key ` 是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列;
184+
185+ ② 如果 ` Key ` 是 ` PRI ` , 那么该列是主键的组成部分;
186+
187+ ③ 如果 ` Key ` 是 ` UNI ` , 那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(` NULL ` );
188+
189+ ④ 如果 ` Key ` 是 ` MUL ` , 那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值 ` NULL ` 。
187190如果对于一个列的定义,同时满足上述4种情况的多种,比如一个列既是 ` PRI ` ,又是` UNI ` ,那么 ` desc table_name ` 的时候,显示的` Key ` 值按照优先级来显示 ` PRI->UNI->MUL ` 。那么此时,显示 ` PRI ` 。
188191一个唯一性索引列可以显示为 ` PRI ` ,并且该列不能含有空值,同时该表没有主键。
189192一个唯一性索引列可以显示为 ` MUL ` ,如果多列构成了一个唯一性复合索引,因为虽然索引的多列组合是唯一的,比如 ` ID+NAME ` 是唯一的,但是没一个单独的列依然可以有重复的值,只要 ` ID+NAME ` 是唯一的即可。
@@ -201,12 +204,12 @@ INSERT INTO user (`uid`, `user_name`, `user_password`, `user_email`) VALUES (1,
201204
202205### 13. 查询表数据:` select field_1_name [,... field_n_name ] from table_name where sql_expression `
203206
204- ①查询所有行:
207+ ① 查询所有行:
205208
206209查看表 ` user ` 中所有数据
207210` select * from user; `
208211
209- ②查询前几行数据:
212+ ② 查询前几行数据:
210213
211214查看表 user 中前2行数据
212215` select * from user order by id limit 0,2; `
@@ -225,11 +228,11 @@ INSERT INTO user (`uid`, `user_name`, `user_password`, `user_email`) VALUES (1,
225228update user set user_name= ' Mary' where id= 1 ;
226229```
227230
228- ①单表的MySQL UPDATE语句:
231+ ① 单表的MySQL UPDATE语句:
229232
230233` UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count] `
231234
232- ②多表的UPDATE语句:
235+ ② 多表的UPDATE语句:
233236
234237` UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] `
235238
@@ -268,13 +271,16 @@ update user set user_name='Mary' where id=1;
268271
269272### 18.备份数据库:
270273
271- ①导出整个数据库,导出文件默认是存在mysql\bin目录下
274+ ① 导出整个数据库,导出文件默认是存在mysql\bin目录下
272275 ` mysqldump -u user_name -p user_password db_name > new_db_name.sql `
273- ②导出一个表
276+
277+ ② 导出一个表
274278 ` mysqldump -u user_name -p user_password database_name table_name > outfile_name.sql `
275- ③导出一个数据库结构
279+
280+ ③ 导出一个数据库结构
276281 ` mysqldump -u user_name -puser_password -d -add-drop-table database_name > outfile_name.sql `
277282 ` -d ` 没有数据 ` -add-drop-table ` 在每个 ` create ` 语句之前增加一个 ` drop table `
283+
278284④带语言参数导出
279285 ` mysqldump -u user_name -p user_password -default-character-set=latin1 -set-charset=gbk -skip-opt database_name > outfile_name.sql `
280286
@@ -299,9 +305,9 @@ insert into teacher values(”,’jack’,'大连二中’,'1975-12-23′);
299305
300306如果你在 ` mysql ` 提示符键入上面的命令也可以,但不方便调试。
301307
302- ①你可以将以上命令原样写入一个文本文件中,假设为 ` school.sql ` ,然后复制到 ` c:\ ` 下,并在 ` DOS ` 状态进入目录 ` mysql\bin ` ,然后键入以下命令:
308+ ① 你可以将以上命令原样写入一个文本文件中,假设为 ` school.sql ` ,然后复制到 ` c:\ ` 下,并在 ` DOS ` 状态进入目录 ` mysql\bin ` ,然后键入以下命令:
303309` mysql -u user_name -p user_password < c:\school.sql `
304310
305311如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
306312
307- ②或者进入命令行后使用 ` mysql> source c:\school.sql; ` 也可以将 ` school.sql ` 文件导入数据库中。
313+ ② 或者进入命令行后使用 ` mysql> source c:\school.sql; ` 也可以将 ` school.sql ` 文件导入数据库中。
0 commit comments