MySQL——单表查询(一)简单查询(2)查询所有字段

        查询所有字段是指查询表中所有字段的数据,MySQL中有两种方式可以查询表中所有字段,接下来将针对这两种方式进行详细的讲解。

1、在 SELECT 语句中指定所有字段

        在 SELECT 语句中列出所有字段名来查询表中的数据,其语法格式如下:

SELECT 字段名 1,字段名 2,… FROM 表名

        在上述语法格式中,“字段名1、字段名 2”表示查询的字段名,这里需要列出表中所有的字段名。
        例如,查询 student 表中的所有记录。为了实现查询功能,首先创建一个数据库chapter04,创建数据库的 SQL语句如下所示:

mysql> create database chapter04;
Query OK, 1 row affected (0.00 sec)

        选择使用 chapter04 数据库,SQL 语句如下所示

mysql> use chapter04;
Database changed

        在数据库 chapter04 中创建表 student,创建 student 表的 SQL 语句如下所示:

mysql> create table student(
    -> id INT(3) PRIMARY KEY AUTO_INCREMENT,
    -> name VARCHAR(20) NOT NULL,
    -> grade FLOAT,
    -> gender CHAR(2)
    -> );
Query OK, 0 rows affected (0.01 sec)

        执行 SQL 语句创建 student 表,然后使用 INSERT 语句向 student 表中插入 8 条记录,INSERT语句如下所示:

mysql> INSERT INTO student (name, grade, gender)
    -> VALUES ('songjiang', 40, '男'),
    -> ('wuyong', 100, '男'),
    -> ('ginming', 90, '男'), 
    -> ('husanniang', 88, '女'),
    -> ('sunerniang', 66, '女'), 
    -> ('wusong', 86, '男'),
    -> ('linchong', 92, '男'),
    -> ('yanging', 90, NULL);
Query OK, 8 rows affected (0.01 sec)
Records: 8  Duplicates: 0  Warnings: 0

        INSERT语句执行成功后,接下来通过 SELECT 语句查询 student 表中的记录 SQL 语句如下所示:

SELECT id,name,grade,gender FROM student;

        查询结果如下所示:

mysql> SELECT id,name,grade,gender FROM student;
+----+------------+-------+--------+
| id | name       | grade | gender |
+----+------------+-------+--------+
|  1 | songjiang  |    40 | 男     |
|  2 | wuyong     |   100 | 男     |
|  3 | ginming    |    90 | 男     |
|  4 | husanniang |    88 | 女     |
|  5 | sunerniang |    66 | 女     |
|  6 | wusong     |    86 | 男     |
|  7 | linchong   |    92 | 男     |
|  8 | yanging    |    90 | NULL   |
+----+------------+-------+--------+
8 rows in set (0.00 sec)

        从查询结果可以看出,SELECT语句成功地查出了表中所有字段的数据。需要注意的是,在 SELECT语句的查询字段列表中,字段的顺序是可以改变的,无须按照其表中定义的顺序进行排列,例如,在 SELECT语句中将 name 字段放在查询列表的最后一列,执行结果如下所示:

mysql> SELECT id,grade,gender,name FROM student;
+----+-------+--------+------------+
| id | grade | gender | name       |
+----+-------+--------+------------+
|  1 |    40 | 男     | songjiang  |
|  2 |   100 | 男     | wuyong     |
|  3 |    90 | 男     | ginming    |
|  4 |    88 | 女     | husanniang |
|  5 |    66 | 女     | sunerniang |
|  6 |    86 | 男     | wusong     |
|  7 |    92 | 男     | linchong   |
|  8 |    90 | NULL   | yanging    |
+----+-------+--------+------------+
8 rows in set (0.00 sec)

        从查询结果可以看出,在 SELECT 语句中将 name 字段放在最后一列,其查询结果中 name 字段的数据会在最后一列显示。

2、在 SELECT 语句中使用星号(“*”)通配符代替所有字段

        MySQL 中可以使用星号(“*”)通配符来代替所有的字段名,其语法格式如下所示SELECT * FROM 表名;
        例如,在 SELECT 语句中使用星号(“*”)通配符查询 student 表中的所有字段,SQL 语句如下所示:

SELECT * FROM 表名 

        查询结果如下所示:

mysql> SELECT * FROM student;
+----+------------+-------+--------+
| id | name       | grade | gender |
+----+------------+-------+--------+
|  1 | songjiang  |    40 | 男     |
|  2 | wuyong     |   100 | 男     |
|  3 | ginming    |    90 | 男     |
|  4 | husanniang |    88 | 女     |
|  5 | sunerniang |    66 | 女     |
|  6 | wusong     |    86 | 男     |
|  7 | linchong   |    92 | 男     |
|  8 | yanging    |    90 | NULL   |
+----+------------+-------+--------+
8 rows in set (0.00 sec)

        从查询结果可以看出,使用星号(“*”)通配符同样可以查出表中所有字段的数据,这种方式比较简单但查询结果只能按照字段在表中定义的顺序显示。

        注意:一般情况下,除非需要使用表中所有字没的数据,否则最好不要使用星号通配符,使用通配符虽然可以节省输入查询语句的时间但由于获取的数据过多会降低查询的效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code repairman

你的鼓励将是我创作的最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值