创建表student,创建student表的SQL语句如下所示
mysql> CREATE TABLE student
-> (
-> id INT(5) PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(20) NOT NULL,
-> grade FLOAT,
-> gender CHAR(2)
-> );
Query OK, 0 rows affected
mysql> CREATE TABLE student
-> (
-> id INT(5) PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(20) NOT NULL,
-> grade FLOAT,
-> gender CHAR(2)
-> );
Query OK, 0 rows affected
执行SQL语句创建student表,然后使用INSERT语句向student表中插入8条记录,INSERT语句如下所示:
mysql> INSERT INTO student(name,grade,gender)
-> VALUES('songjiang',40,'男'),
-> ('wuyong',41,'男'),
-> ('qinming',45,'男'),
-> ('husanniang',38,'女'),
-> ('sunerniang',35,'女'),
-> ('wusong',41,'男');
Query OK, 6 rows affected
Records: 6 Duplicates: 0 Warnings: 0
-> VALUES('songjiang',40,'男'),
-> ('wuyong',41,'男'),
-> ('qinming',45,'男'),
-> ('husanniang',38,'女'),
-> ('sunerniang',35,'女'),
-> ('wusong',41,'男');
Query OK, 6 rows affected
Records: 6 Duplicates: 0 Warnings: 0
INSERT语句执行成功后,接下来通过SELECT语句查询student表中的记录,SQL语句如下所示:
mysql> SELECT id,name,gender FROM student;
+----+------------+--------+
| id | name | gender |
+----+------------+--------+
| 1 | songjiang | 男 |
| 2 | wuyong | 男 |
| 3 | qinming | 男 |
| 4 | husanniang | 女 |
| 5 | sunerniang | 女 |
| 6 | wusong | 男 |
+----+------------+--------+
6 rows in set
mysql> SELECT id,name,gender FROM student;
+----+------------+--------+
| id | name | gender |
+----+------------+--------+
| 1 | songjiang | 男 |
| 2 | wuyong | 男 |
| 3 | qinming | 男 |
| 4 | husanniang | 女 |
| 5 | sunerniang | 女 |
| 6 | wusong | 男 |
+----+------------+--------+
6 rows in set
查询所有字段中,在SELECT语句中使用星号(“*”)通配符查询student表中的所有字段,SQL语句如下所示:
mysql> SELECT * FROM student;
+----+------------+-------+--------+
| id | name | grade | gender |
+----+------------+-------+--------+
| 1 | songjiang | 40 | 男 |
| 2 | wuyong | 41 | 男 |
| 3 | qinming | 45 | 男 |
| 4 | husanniang | 38 | 女 |
| 5 | sunerniang | 35 | 女 |
| 6 | wusong | 41 | 男 |
+----+------------+-------+--------+
6 rows in set
mysql> SELECT * FROM student;
+----+------------+-------+--------+
| id | name | grade | gender |
+----+------------+-------+--------+
| 1 | songjiang | 40 | 男 |
| 2 | wuyong | 41 | 男 |
| 3 | qinming | 45 | 男 |
| 4 | husanniang | 38 | 女 |
| 5 | sunerniang | 35 | 女 |
| 6 | wusong | 41 | 男 |
+----+------------+-------+--------+
6 rows in set
查询数据时,可以在SELECT语句的字段列表中指定要查询的字段,这种方式只针对部分字段进行查询,不会查询所有字段。查询指定字段SQL语句如下所示:
mysql> SELECT name,gender FROM student;
+------------+--------+
| name | gender |
+------------+--------+
| songjiang | 男 |
| wuyong | 男 |
| qinming | 男 |
| husanniang | 女 |
| sunerniang | 女 |
| wusong | 男 |
+------------+--------+
6 rows in set
+------------+--------+
| name | gender |
+------------+--------+
| songjiang | 男 |
| wuyong | 男 |
| qinming | 男 |
| husanniang | 女 |
| sunerniang | 女 |
| wusong | 男 |
+------------+--------+
6 rows in set
如果在SELECT语句中改变查询字段的顺序,查询结果中字段显示的顺序也会做相应改变,例如,将SELECT语句中的name字段和gender字段位置互换,查询语句如下:
mysql> SELECT gender,name FROM student;
+--------+------------+
| gender | name |
+--------+------------+
| 男 | songjiang |
| 男 | wuyong |
| 男 | qinming |
| 女 | husanniang |
| 女 | sunerniang |
| 男 | wusong |
+--------+------------+
6 rows in set
mysql> SELECT gender,name FROM student;
+--------+------------+
| gender | name |
+--------+------------+
| 男 | songjiang |
| 男 | wuyong |
| 男 | qinming |
| 女 | husanniang |
| 女 | sunerniang |
| 男 | wusong |
+--------+------------+
6 rows in set