对照着官网展示的结果,发现我上一篇自己打的Txt文件跟官网不同……所以结果不同,算了,不是很重要。往下看吧。
4.1 SELECT选择语句
SELECT语句用于从表格中获取信息,一般格式为:
SELECT what_to_select --字段名。*符号表示全部字段
FROM which_table --表名
WHERE conditions_to_satisfy; --选择条件,可省略
以下是一些具体示范。
查看整个表格。
SELECT * FROM 表格名;
mysql> SELECT * FROM pet; --从表格pet中选择全部列的信息,即查看整个表格
+----------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+--------+---------+------+------------+------------+
| Fluffy | Harold | cat | f | 1933-02-04 | 0000-00-00 |
| Claws | Gwen | dog | m | 1994-03-17 | 0000-00-00 |
| Buffy | Harold | dog | f | 1989-05-13 | 0000-00-00 |
| Fang | Benny | dog | m | 1990-08-27 | 0000-00-00 |
| Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 |
| Chirpy | Gwen | bird | NULL | 1997-12-09 | 0000-00-00 |
| Whistler | Gwen | snake | m | 1996-04-29 | NULL |
| Fluffy | Harold | cat | f | 1933-02-04 | NULL |
| Claws | Gwen | dog | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Fang | Benny | dog | m | 1990-08-27 | NULL |
| Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 |
| Chirpy | Gwen | bird | NULL | 1997-12-09 | NULL |
| Whistler | Gwen | snake | m | 1996-04-29 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+--------+---------+------+------------+------------+
15 rows in set (0.35 sec)
修改表格。两种方法:
1、删除整个表格,修改txt内容,再全部导入。显然,对于小改动,开销太大。
2、使用update修改部分数据。
DELETE FROM pet;
LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;
UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';
4.2WHERE 通过条件约束,从表中选择特定的行
梳理一下脉络。
表格包括行和列两个维度。
SELECT * FROM table; --选择了所有的行和列,也就是整个表格。
进一步地,我不是对整个表格感兴趣,只希望选择出符合某些条件的行,那么使用WHERE来筛选。
在WHERE中,可以使用=, >=, <=, !=, AND, OR, ()等运算符进行条件匹配、组合。
以及注意到,这条命令“SELECT * FROM pet WHERE birth >= '1998-1-1';”,虽然从文本上看,日期是字符串,但背后其实是DATE类型,有相应的函数处理,比如这里,能够使用>=进行比较。
SELECT * FROM table; --选择所有的行和列
SELECT * FROM table WHERE condition; --选择符合条件的行
--选择“name 字段是Bowser”的行,双引号中的内容就是条件
mysql> SELECT * FROM pet WHERE name = 'Bowser';
+--------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+
2 rows in set (0.00 sec)
-->=
mysql> SELECT * FROM pet WHERE birth >= '1998-1-1';
+----------+-------+---