mysql查询语句怎么用_Mysql的查询语句的使用

1. 简单查询

查询所有字段: SELECT * FROM 表名

查询特定字段: SELECT 字段列表 FROM 表名

2. 查询显示行号

- 在字段列表中加入(@rownum := @rownum + 1) AS rownum

- 在FROM子句中加入 (select @rownum:=0)r

- 示例如下:

select (@rownum := @rownum + 1) AS rownum,book_name from (select @rownum:=0)r, book;

查询结果:

+--------+--------------------+

| rownum | book_name |

+--------+--------------------+

| 1 | 数据库系统设计 |

| 2 | 从实模式到保护模式 |

+--------+--------------------+

3. 在查询语句中可以有算术表达式,它将形成一个新列,用于显示计算的结果,通常称为计算列。

实例:select book_price/2 AS new_book_price,author_id from book;

4. 在SELECT子句中使用AS关键字给某个字段起别名

- 基本使用

mysql> select book_price AS New_book_price,author_id as my_idea from book;

+----------------+---------+

| New_book_price | my_idea |

+----------------+---------+

| 214 | 1 |

| 34.5 | 2 |

+----------------+---------+

2 rows in set (0.07 sec)

- 别名中如果出现空格或者()之类的敏感字符,需要使用双引号将别名引起

mysql> select book_name as "the new book name" from book;

+--------------------+

| the new book name |

+--------------------+

| 数据库系统设计 |

| 从实模式到保护模式 |

+--------------------+

2 rows in set (0.06 sec)

mysql> select book_name as the new book name from book;

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'new book name from book' at line 1

5. 使用DISTINCT消除重复行显示

mysql> select volume FROM book;

+--------+

| volume |

+--------+

| 45 |

| 45 |

+--------+

2 rows in set (0.07 sec)

mysql> select DISTINCT volume FROM book;

+--------+

| volume |

+--------+

| 45 |

+--------+

1 row in set (0.06 sec)

6. 查询结果的排序,order by 字段 (asc,desc),asc表示升序,desc表示降序,如果不指明的话,就会默认使用升序

mysql> SELECT * FROM author ORDER BY id;

+----+--------------+---------+

| id | name | address |

+----+--------------+---------+

| 1 | chenchen | |

| 2 | chenqingyang | |

| 5 | 666 | 广州市 |

| 14 | gafv | gfgd |

+----+--------------+---------+

4 rows in set (0.05 sec)

mysql> select * from author order by id desc;

+----+--------------+---------+

| id | name | address |

+----+--------------+---------+

| 14 | gafv | gfgd |

| 5 | 666 | 广州市 |

| 2 | chenqingyang | |

| 1 | chenchen | |

+----+--------------+---------+

4 rows in set (0.05 sec)

7. 需要注意的是,在order by子句中,如果该字段是字符类型的话,那将使用字符表的顺序来进行比较

mysql> select * from author order by name ;

+----+--------------+---------+

| id | name | address |

+----+--------------+---------+

| 1 | chenchen | |

| 2 | chenqingyang | |

| 14 | gafv | gfgd |

+----+--------------+---------+

3 rows in set (0.05 sec)

8. 索引的创建与删除

- 创建: CREATE INDEX 索引名 on table_name(字段名)

- 删除: DROP INDEX 索引名 on table_name

创建索引示例:

mysql> create index name_index on author(name);

Query OK, 0 rows affected (0.05 sec)

Records: 0 Duplicates: 0 Warnings: 0

删除代码:

mysql> DROP index name_index on author;

Query OK, 0 rows affected (0.02 sec)

Records: 0 Duplicates: 0 Warnings: 0

> 本文由博客一文多发平台 [OpenWrite](https://openwrite.cn?from=article_bottom) 发布!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值